千家信息网

Ambari & HDP 完整安装手册

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,大数据平台,涉及到很多软件产品,如果刚刚入行hadoop,直接下载软件包,手动配置文件的方式,并没有那么直观和容易。Ambari提供了一个选择,图形化安装和管理hadoop集群Ambari公司就不介绍
千家信息网最后更新 2024年11月23日Ambari & HDP 完整安装手册

大数据平台,涉及到很多软件产品,如果刚刚入行hadoop,直接下载软件包,手动配置文件的方式,并没有那么直观和容易。

Ambari提供了一个选择,图形化安装和管理hadoop集群

Ambari公司就不介绍了,Ambari软件很直观,但是实际安装感受并不好。反倒不如自己安装可控。出错/失败之后,"retry"似乎是唯一的办法。

现在我们开始着手安装了,安装过程中,我会介绍我遇到的坑,和如何再次爬出来。

1. 首先登陆官方页面

https://docs.hortonworks.com/index.html

2. 选择需要的版本

3. 点击installation

4. 选择Install Ambari

5. 然后进入文档页面

官方安装步骤,注意,选择你需要安装的版本的安装文档

https://docs.hortonworks.com/HDPDocuments/Ambari-2.4.2.0/bk_ambari-installation/content/download_the_ambari_repo_lnx6.html

6. 根据上面的步骤,就可以进入到配置yum 源头,由于源头在海外,速度超慢,我先将软件包下载到本地。

wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.4.2.0/ambari.repo -O /etc/yum.repos.d/ambari.repo yum repolistyum install --downloadonly ambari-server  --downloaddir=/tmp/yum install --downloadonly HDP-2.5.0.0  --downloaddir=/tmp/yum install --downloadonly HDP-2.5.*  --downloaddir=/tmp/Update on 2018-5-13yum源有问题了,wget下载地址:wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6/HDP-UTILS-1.1.0.21-centos6.tar.gzwget http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.5.0.0/HDP-2.5.0.0-centos6-rpm.tar.gz[root@db_monitor]# ll-rw-r--r-- 1 root root 5996696005 Aug 27  2016 HDP-2.5.0.0-centos6-tars-tarball.tar.gz-rw-r--r-- 1 root root  833424206 Oct 26 23:09 HDP-UTILS-1.1.0.21-centos6.tar.gz

7.下载到本地之后,在一个服务器上,创建一个HTTP服务,用来后面的安装

yum install httpd -y# service httpd restart# chkconfig httpd on

将下载的HDP软件包放入到/var/www/html/目录下

即可通过网页访问了

准备环节完成了,开始安装了

8. 配置节点的ssh免密登陆,只在安装ambari的服务器上可以访问其他节点即可。

$ ssh-keygen -t rsa -f ~/.ssh/id_rsa

三个回车即可

拷贝密钥到全部节点即可(只有ambari访问其他server不需要密码,反向访问是需要密码的)

ssh-copy-id  server2ssh-copy-id  server3ssh-copy-id  server4

9. 配置ambaris,先关闭selinux(我使用到ansible,可以通过修改配置文件来禁用)

ansible all -m selinux -a 'state=disabled'

10.关闭防火墙

ansible all -m service -a 'name=iptables state=stopped enabled=off'

11.安装JDK,ambari安装的过程,可以自动安装,但是速度比较慢。建议自行安装。需要在全部节点都安装

下载JDK(内网地址)

wget http://10.21.xx.xx/deploy/jdk1.7.0_79.tar.gz

安装JDK,全部节点都要安装

#tar -xzvf  jdk1.7.0_79.tar.gz -C /usr/local

添加下面信息到.bash_profile

export JAVA_HOME=/usr/local/jdk1.8.0_144  export JRE_HOME=/usr/local/jdk1.8.0_144/jreexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$PATHsource /etc/profile

12. 现在才开始正式ambaris安装

(注意:如果选择自行安装jdk,并且后续需要使用kerberos认证的话,还是需要JCE的。不然就无法正常连接KDC的。这是我后面遇到问题才发现的。而且oracle官网,只能下载1.8版本的JCE。1.7及以下,需要metalink账号才能下载。所以,如果网速可以的情况下,建议直接选择1、2进行安装JDK)

[root@ip-10-21-23-29 ambari]# ambari-server setupUsing python  /usr/bin/pythonSetup ambari-serverChecking SELinux...SELinux status is 'disabled'Customize user account for ambari-server daemon [y/n] (n)? Adjusting ambari-server permissions and ownership...Checking firewall status...Checking JDK...[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8[2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7 <<<<<<<重要[3] Custom JDK==============================================================================Enter choice (1): 3WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.Path to JAVA_HOME: /usr/local/jdk1.7.0_79Validating JDK on Ambari Server...done.Completing setup...Configuring database...Enter advanced database configuration [y/n] (n)?    -----如果不希望安装默认的postgres数据库,这里要选YConfiguring database...Default properties detected. Using built-in database.Configuring ambari database...Checking PostgreSQL...Running initdb: This may take up to a minute.Initializing database: [  OK  ]About to start PostgreSQLConfiguring local database...Connecting to local database...done.Configuring PostgreSQL...Restarting PostgreSQLExtracting system views.........ambari-admin-2.4.1.0.22.jar.......Adjusting ambari-server permissions and ownership...Ambari Server 'setup' completed successfully.

14. 启动ambari

[root@ip-10-21-23-29 ambari]# ambari-server startUsing python  /usr/bin/pythonStarting ambari-serverAmbari Server running with administrator privileges.Organizing resource files at /var/lib/ambari-server/resources...Ambari database consistency check started...No errors were found.Ambari database consistency check finishedServer PID at: /var/run/ambari-server/ambari-server.pidServer out at: /data1/log/ambari-server/ambari-server.outServer log at: /data1/log/ambari-server/ambari-server.logWaiting for server start....................Ambari Server 'start' completed successfully.

15. 但是现在,网页是无法打开的,安装httpd服务

[root@ip-10-21-23-29 ambari]# service httpd statushttpd: unrecognized service

需要安装httpd

[root@ip-10-21-23-29 ambari]# yum install httpd[root@ip-10-21-23-29 ambari]# service httpd statushttpd is stopped[root@ip-10-21-23-29 ambari]# service httpd startStarting httpd:                                            [  OK  ]

16. 页面安装开始,网上很多人都写过如何安装的,我只是将比较重点的部分截图

这里需要选择前面已经准备好的HTTP连接,路径参考如下

HDP Base URLhttp:///hdp/HDP//2.x/updates/
HDP-UTILS Base URLhttp:///hdp/HDP-UTILS-/repos/

17. 填入主机名,一定将完整的主机名填入,包括后缀。不能用IP代替。这里就要注意/etc/hosts是否都正常解析

18. 安装ambari的agent,如果遇到失败,选择失败的条目,可以"retry"

19. 即使成功,下面如果有warning,也需要解决,跳过绝对不是明智的选择。 我就遇到点问题

通过下面命令,关闭THP,然后Rerun checks,确保都解决掉

echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabledecho never > /sys/kernel/mm/redhat_transparent_hugepage/defragecho "transparent_hugepage=never" >> /etc/grub.conf

20. 问题全解决之后,开始安装

21. 也许你在想,这么快就完成了?那你错了。我被折磨了一周,才见到下面这个界面。而且,你是不是觉得,我的界面过于简单?是的,我只部署了zookeeper和HDFS。因为,错了太多次了。我只能尝试从最简单的开始安装。减少出问题的概率。

22. 成功之后,可以通过add service的方式,逐步增加你需要的资源

23. 增加service的过程

24. 看看吧,这个就是安装成功的界面。看到它,不容易啊。

下面就和大家抱怨一下Ambari的种种不便吧。

失败的,基本只能retry,甚至不能重新再安装。之前已经安装的服务,会影响到你下次的安装。

我由于无法忍受种种失败,打算换个名字重新安装,但是上次安装失败的软件还在,无法重新安装。只能先卸载之前已经安装的service。

那么问题来了,Ambari竟然不能卸载!不能卸载!不能卸载! 重启服务,重启主机,统统无法跳过。依然很执着的停在那个错误的页面。

终于在参考别人的blog之后,找到命令删除的方式


1. 查询资源

curl -u admin:admin -H "X-Requested-By: ambari" -X GET http://10.21.23.29:8080/api/v1/clusters/beta_eu/services/

2. 删除资源

curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE http://10.21.23.29:8080/api/v1/clusters/beta_eu/services/KAFKA

3. 如果删除失败,先stop在删除

#curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE http://10.21.23.29:8080/api/v1/clusters/beta_eu/services/APPCONFIGURATION{  "status" : 500,  "message" : "org.apache.ambari.server.controller.spi.SystemException: An internal system exception occurred: Cannot remove beta_eu/APPCONFIGURATION. One or more host components are in a non-removable state."

4. 停止service

[root@ip-10-21-23-29 ~]#  curl -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"RequestInfo":{"context":"Stop Service"},"Body":{"ServiceInfo":{"state":"INSTALLED"}}}' 10.21.23.29:8080/api/v1/clusters/beta_eu/services/APPCONFIGURATION{  "href" : "http://10.21.23.29:8080/api/v1/clusters/beta_eu/requests/24",  "Requests" : {    "id" : 24,    "status" : "Accepted"  }

5. 删除service

[root@ip-10-21-23-29 ~]#curl -u admin:admin -H "X-Requested-By: ambari" -X DELETE http://10.21.23.29:8080/api/v1/clusters/beta_eu/services/APPCONFIGURATION

6. 再次检查,已经没有service了

[root@ip-10-21-23-29 ~]#  curl -u admin:admin -H "X-Requested-By: ambari" -X GET http://10.21.23.29:8080/api/v1/clusters/beta_eu/services/curl: (6) Couldn't resolve host 'ambari"'{  "href" : "http://10.21.23.29:8080/api/v1/clusters/beta_eu/services/",  "items" : [ ]


参考链接

http://blog.csdn.net/chengyuqiang/article/details/61195805


0