Ubuntu16安装Ambari集群

安装Ambari集群采坑记录

  • 简介
    Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等。

  • 安装环境
    两个干净的Ubuntu16系统分别作为主机和从节点,系统间网络连通,内存最好大于4G;
    ambari-2.5.1.0-ubuntu16.tar.gz当然也可以选择最新的
    HDP-2.6.3.0-ubuntu16-deb.tar.gz (集成hadoop生态圈的多个组件,特别大)
    HDP-UTILS-1.1.0.21-ubuntu16.tar.gz
    JDK-1.8
    mysql(当然也可以选择其他数据库,用来存储ambari,hive等相关源数据)


  • 集群基础配置
    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各有不同,就要通过日志来进行对应的修改了。下面让我们下配置完成后的正常启动吧。
    启动界面

  • 配置hdp集群
    ambari启动的默认端口为8080,我们打开服务器页面。账号密码:admin
    登录页面
    进去后第一步:我们选择: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/
    url
    第四步:Target Hosts填入我们的主机和从机hostname,SSH Private Key填入你主机用户下私钥:~/.ssh/id_rsa。SSH User Account 填入你使用ssh的用户,建议都是root。
    第五步:确认ssh是不是连得上你所有机器。连不上再重新配置再刷新。
    第六步:安装你需要的组件,有些必须的你去掉了也是让你选上的。
    这里写图片描述
    第七步:选择主从机安装的组件(hive Metastore最好放到有安装mysql的服务器)
    这里写图片描述
    第八步:制定服务。这里需要我们测试下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。然后再次安装。

这里写图片描述
有问题就看日志。修改完然后Start All 让它重新启动全部应用就行了。
这里写图片描述
成功后就可以好好玩耍了!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值