zoukankan      html  css  js  c++  java
  • AMBARI部署HADOOP集群(3)

    1. 安装ambari-server

    yum -y install ambari-server

    2. ambari server 需要一个数据库存储元数据,默认使用的 Postgres 数据库。默认的用户名和密码是: ambari/bigdata 。但是一般情况下,后面还要安装 hive 和 Ranger,也需要一个存元数据的数据库,所以使用一个mysql 做为数据库。需要为 ambari 创建相应的数据库和用户。安装MySQL及配置

    (1) 下载并安装MySQL官方的 Yum Repository
    [root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

      使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

    [root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

      之后就开始安装MySQL服务器。

    [root@localhost ~]# yum -y install mysql-community-server

      这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。

      至此MySQL就安装完成了,然后是对MySQL的一些设置。

    (2)MySQL数据库设置

      首先启动MySQL

    [root@localhost ~]# systemctl start  mysqld.service

      查看MySQL运行状态,运行状态如图:

    [root@localhost ~]# systemctl status mysqld.service

      此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

    [root@localhost ~]# grep "password" /var/log/mysqld.log

      如下命令进入数据库:

    [root@localhost ~]# mysql -uroot -p

      输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

      这里有个问题,新密码设置的时候如果设置的过于简单会报错,我们就设计复杂的密码吧。安全起见大小写下划线数字都用上。

      但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

    [root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch

      此时才算真的完成了mysql的安装,开始配置ambari。

    create database ambari default character set='utf8';
    CREATE USER 'ambaridba'@'localhost' IDENTIFIED BY '你的密码'; 
    CREATE USER 'ambaridba'@'%' IDENTIFIED BY '你的密码';
    GRANT ALL PRIVILEGES ON ambari.* TO 'ambaridba'@'localhost';
    GRANT ALL PRIVILEGES ON ambari.* TO 'ambaridba'@'%';
    FLUSH PRIVILEGES;

    3. 配置 ambari-server

    ambari-server setup 

        3.1 如果没有设置 SELinux=disable,会有一个警告信息,按回车,接受默认值(y)。按照前面2篇中的步骤的话,已经设置过这个值的,这一步会自动跳过。

       注意: 这个值的生效是需要重启电脑的。如果没有重启,则会有警告信息。设置完成后,启动 ambari server,控制台显示成功启动,但是无法通过浏览器访问。后来重启电脑后才可以。不知道是不是必须要这样才能访问 ambari server。

        3.2 设置运行 ambari server 的用户,默认会使用 root。可以键入 y,回车后输入一个其它的用户

     

        3.3 选择 JDK。为了使用统一的 JDK,这里选择自定义的 JDK。然后会要求输入 JAVA_HOME 的路径,一定不能在用户的目录下,安装在/usr 和/opt为好。

        3.4 GPL License , 这一步必须选择 y.

        3.5 配置元数据库的连接信息

        3.6 输入数据库驱动的 jar 包的路径,这个jar包是自己下载的,可以下载最高版本的,然后放到某一目录,如下图。

     

       3.7 进行远程数据库连接信息配置。选择 y

        3.8 运行下面的命令。

    ambari-server setup --jdbc-db=mysql --jdbc-driver=/opt/soft/mysql-connector-java-5.1.43.jar

         虽然在上面的步骤中已经设置过了,但是不知道为什么,在后续安装 hive 时,测试连接存储 hive 元数据的数据库时,始终连不上。停掉 ambari-server 后,运行上面的命令后,才能连接成功。

       3.9 创建表

       在MySQL中执行:使用root登陆。

    mysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

    4. 启动 ambari-server 。启动成功后,可以访问: http://<ip>:8080  用户和密码是: admin/admin

    ambari-server start

       (1)如果报如下的错误, 

    Starting ambari-server
    ERROR: Exiting with exit code 1. 
    REASON: Unable to detect a system user for Ambari Server.
    - If this is a new setup, then run the "ambari-server setup" command to create the user
    - If this is an upgrade of an existing setup, run the "ambari-server upgrade" command.
    Refer to the Ambari documentation for more information on setup and upgrade.

              运行下面的命令,设置 ambari-server.user 的值为 root,或者另外一个系统用户

    vi /etc/ambari-server/conf/ambari.properties

        (2)如果出现下面的错误,需要运行: yum install -y mysql-connector-java*

    Starting ambari-server
    Ambari Server running with administrator privileges.
    ERROR: Exiting with exit code -1. 
    REASON: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java and set property "server.jdbc.driver.path=[path/to/custom_jdbc_driver]" in ambari.properties.

          把上面 3.6 步骤中的 jar 包复制到 /usr/shar/java 目录下,不需要修改 ambari.properties 里的 server.jdbc.driver.path 的值(这个值在上面的步骤中已经设置了)。

    cp /opt/soft/mysql-connector-java-5.1.43.jar /usr/share/java/ 
    注意:/usr/share/java为JAVA_HOME目录。

    (3) 其它错误的话,可以查看启动日志

    more /var/log/ambari-server/ambari-server.log

           我事先没有创建库,会报数据库不存在的错误。如果报什么什么表不存在的话,需要把 /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql 中的初始化语句跑到数据库中。

    mysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

     4. 停止和查看 ambari-server 的状态

    ambari-server stop
    ambari-server status
  • 相关阅读:
    STL常用容器☞String容器
    初识STL
    函数模板
    多态
    运算符重载
    友元
    对象的初始化和清理
    C++内存分区模型
    传值和传地址
    const的使用
  • 原文地址:https://www.cnblogs.com/MY0213/p/11262637.html
Copyright © 2011-2022 走看看