文档说明以及下载路径
Ambari的安装路径
HDP的安装路径
安装准备
ambari分为两个组件:Server以及Agent;类似于clouderade的CM和agent。
离线安装通常的套路就是首先下载离线安装包:
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.0/ambari-2.6.1.0-centos7.tar.gz
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.4.0/HDP-2.6.4.0-centos7-rpm.tar.gz
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
通过apache server或者tomcat做成http下载源;在repo文件中进行定义;其中ambari单独一个repo文件,HDP和HDP-UTILS是放在一个repo文件里面的。然后通过yum install -y来进行直接安装;
查看的日志路径
/var/log/ambari-server/ambari-server.log
注意是log,是log,是log,.out文件忽略。
卸载
卸载Ambari
1. 卸载Ambaria的agent节点脚本
1 #!/bin/bash
2 service ambari-agent stop
3 yum remove -y hadoop* zookeeper* smartsense* bigtop* hdp-select* snappy* spark* ranger*
4 yum remove -y ambari-agent
2. 卸载Ambaria的服务器节点
#!/bin/bash
service ambari-server stop
yum -y remove ambari-server.x86_64
3. 卸载数据库
如果是为了重装可以不删除数据库;在mysql的执行器里面导入/var/lib/ambari-server/resources/Ambari-DDL-MySQL-DROP.sql来执行,进行删除表;
安装hive的时候要注意,如果是选择新的数据库,那么你需要在本地的yum源中添加mysql的包;如果选择已经存在的数据库中安装,需要指定库的相关信息。
而且,需要在执行一下指令来让ambri-server放置mysql的connector;然后server会自动拷贝到各个agent所在的机器上面。
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
Hive安装一半就可以配置了
Command failed to run because service Hive has invalid configuration. Review and correct its configuration. First error: Hive Impersonation is enabled for Hive Server2 role 'HiveServer2 (slave1)'. Hive Impersonation should be disabled to enable Hive authorization using Sentry.
hive在卸载后重新安装爆了这个错误,需要把Impersonation设置为false;这个修改点是次要的,在安装过程的第一步“Ensuring that the expected software releases are installed on hosts.Successfully completed 1 steps.”里面已经在cm中创建了Hive服务,此时已经可以在cm界面中对hive的属性进行设置;爆了上面的这个异常,直接进入到hive的configuration页面进行修改即可。
集群名称
在页面的顶端,Ambari的旁边就是,后面紧跟着一个左三角箭头。
ambari的配置版本
不要轻易使用将旧的版本“mark as current”,这样虽然旧版本在当前最大版本+1,但是其内部版本还是小号,这导致通过API获取最新版本的时候,还是之前的版本,并没有获取这个+1的版本。所以我理解,内部版本是不会变化的,基于那个较大内部版本的增长,始终都是大于内部版本较小的那个。
遇到的问题
failure: repodata/repomd.xml from dockerrepo: [Errno 256] No more mirrors to try. https://yum.dockerproject.org/repo/main/centos/7/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: yum.dockerproject.org; Unknown error" Desired version (2.6.1.0) of ambari-agent package is not available. Connection to hdp1 closed.
这个问题是因为安装机器hdp1的/etc/yum.repo.d路径下有一个docker.repo文件,这个repo里面定义了一个外网路径的baseurl引发这个异常;推测应该安装agent的时候回调用yum clean all 以及yum repolist指令,在分析repo文件的时候引发的异常,将repo文件从该目录下移走问题解决。
policycoreutils-python-2.5-8.el7.x86_64 has missing requires of policycoreutils = ('0', '2.5', '8.el7')
在安装的过程中还是会有一些包缺失(这里是policycoreutils-python-2.5-8.el7.x86_64包),于是从通过可以上网的虚拟机通过yum install --downloadonly方式下载到本地;然后再拷贝到公司内网的yum源(需要重新做一下yum源);问题解决
resource_management.core.exceptions.Fail: Cannot match package for regexp name hadoop_${stack_version}. Available packages: ['accumulo', 'accumulo-conf-standalone', 'accumulo-source', 'accumulo_2_6_4_0_91', ...
重新安装之前需要卸载已经安装的组件 yum remove hadoop*(我之前只是装到dataNode就失败,所以只是安装了hadoop组件,其他不用卸载)
第一次安装失败,通过retry的方式及进行重新安装的时候不需要卸载,只要把缺失的内容不上或者修改了,直接retry,上次成功的安装会自行跳过。
File "/usr/lib/python2.6/site-packages/resource_management/libraries/script/script.py", line 546, in format_package_name
raise Fail("Cannot match package for regexp name {0}. Available packages: {1}".format(name, self.available_packages_in_repos))
resource_management.core.exceptions.Fail: Cannot match package for regexp name falcon_${stack_version}
这个问题是因为yum安装的问题;后来我看了一下yum里面的关于ambari的定义,发现请求的是
baseurl=http://hdp0:8081/hdp/
hdp0因为机器重启了,tomcat服务器没有随机已启动,导致请求8081失败,启动tomcat再执行OK了。
Illegal capacity of -1.0 for queue root.myqueues
需要为myqueues队列赋予一个capacity权限。