欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu16安装Ambari集群

程序员文章站 2022-05-01 14:48:23
...

安装Ambari集群采坑记录


  • 集群基础配置
    1.我这里把主机命名为note1,从机note2。配置主从机本地域名 /etc/hosts下添加ip和域名。
    2.配置主机ssh免密登录note2。ssh相关配置
    3.安装ntp : apt-get install -y ntp
    4.禁用Transparent Huge Page(禁用大内存页面可以提升MR效率)echo never > /sys/kernel/mm/transparent_hugepage/enabled

(以上从机note2已经配置就绪,可在note1中测试下能否登录)


  • 服务器配置
    1.将提前下载好的ambari,HDP,HDP-Util统一解压后放到一个文件夹下。我这里选择/opt。另外再将jdk-1.8.tar.gz的包 (1.8的都行) 添加到文件夹中,在后续使用。
    2.在/opt目录下执行python -m SimpleHTTPServer,端口默认8000。然后我们就可以通过http的形式访问改文件夹了。所以我这边通过浏览器输入http://note1:8000/访问到主机的/opt目录。
    3.添加一个ambari源,在/etc/apt/sources.list.d/下添加一个文件ambari.list。填入一下内容:deb http://${你主机host,我这里为note1}:8000/ambari/ubuntu16/ Ambari main 地址其实就ambari-server的解压后的子路径,用于后续安装使用。
    4.配置获取公钥:apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD (其中keyserver.ubuntu.com表示可下载公钥的服务器,B9733A7A07513CAD为签名)
    5.执行apt-get updateapt-get install -y ambari-server安装服务。
    6.修改配置,安装完成后默认会生成一个配置文件/etc/ambari-server/conf/ambari.properties。修改jdk1.8.url,目标就是第一步我们放入opt下面的文件。所以我这里为http://note1:8000/jdk-1.8.tar.gz 了。
    7.修改完后我们就可以初始化ambari了,执行ambari-server setup。这里我们遇到两个警告。
    一是:WARNING: 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.,我们按照提示将mysql-connector-java.jar (不管什么版本,名称只能是这个)放入/usr/share/java,并在ambari.properties中添加server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
    二是:让我们运行/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql这个脚本,可是我执行后却又一堆不成功(不晓得是不是这个版本的问题)。于是需要手动修改一下。我们在# USE @schema;下开始加入自己的逻辑CREATE DATABASE ambari;
    CREATE DATABASE hive;
    GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%'
    IDENTIFIED BY 'ambari';
    GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%'
    IDENTIFIED BY 'hive';
    FLUSH PRIVILEGES;
    use ambari;
    其中hive的部分是为后续存储其源数据准备。修改完另存为,然后再执行脚本。
    9.执行ambari-server start
    启动过程也多次出现问题。比如Caused by: java.net.ConnectException: Connection refused (Connection refused)连接数据库失败,这时候检测数据库是否能正常连接。我也是发现新装的mysql要修改mysqld.cnf才能链接成功的。以上是我遇到的部分问题,bug各有不同,就要通过日志来进行对应的修改了。下面让我们下配置完成后的正常启动吧。
    Ubuntu16安装Ambari集群

  • 配置hdp集群
    ambari启动的默认端口为8080,我们打开服务器页面。账号密码:admin
    Ubuntu16安装Ambari集群
    进去后第一步:我们选择:Launch Install Wizard 。创建一个自己的集群。
    第二部:名字任意。
    第三步:Select Stack。这里我们选择 HDP2.6 -》Use Local Repository -》Ubuntu16。分别填入自己的url。
    http://${主机}:8000/HDP/ubuntu16/2.6.3.0-235/
    http://${主机}:8000/HDP-UTILS-1.1.0.21-ubuntu16/

    Ubuntu16安装Ambari集群
    第四步:Target Hosts填入我们的主机和从机hostname,SSH Private Key填入你主机用户下私钥:~/.ssh/id_rsa。SSH User Account 填入你使用ssh的用户,建议都是root。
    第五步:确认ssh是不是连得上你所有机器。连不上再重新配置再刷新。
    第六步:安装你需要的组件,有些必须的你去掉了也是让你选上的。
    Ubuntu16安装Ambari集群
    第七步:选择主从机安装的组件(hive Metastore最好放到有安装mysql的服务器)
    Ubuntu16安装Ambari集群
    第八步:制定服务。这里需要我们测试下hive的连接。我这里是报错找不到JDBC。它提示在ambari-server setup加入启动参数。我嫌麻烦继续往下走了。
    后续hive的安装确实出问题了
SLF4J: Found binding in [jar:file:/usr/hdp/2.6.3.0-235/hive2/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/2.6.3.0-235/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Metastore connection URL:    jdbc:mysql://note1/hive
Metastore Connection Driver :    com.mysql.jdbc.Driver
Metastore connection User:   hive
org.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driver
Underlying cause: java.lang.ClassNotFoundException : com.mysql.jdbc.Driver
org.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driver

于是我手动将mysql-connector-java.jar加入到 /usr/hdp/2.6.3.0-235/hive2/lib/ 下。

安装时问题:

error processing archive /var/lib/ambari-agent/cache/stacks/HDP/2.1/services/SMARTSENSE/package
/files/deb/*.deb (--install):

这种就是上面 服务器配置 中提到的ambari源文件设置问题,配置好后执行下apt-get update。然后再次安装。

Ubuntu16安装Ambari集群
有问题就看日志。修改完然后Start All 让它重新启动全部应用就行了。
Ubuntu16安装Ambari集群
成功后就可以好好玩耍了!