阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ambari 与 HDP 安装指南

192次阅读
没有评论

共计 6580 个字符,预计需要花费 17 分钟才能阅读完成。

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

Ambari 提供了一个选择,图形化安装和管理 hadoop 集群,Ambari 公司就不介绍了,Ambari 软件很直观,但是实际安装感受并不好。反倒不如自己安装可控。出错 / 失败之后,“retry”似乎是唯一的办法。

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

1. 首先登陆官方页面

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

2. 选择需要的版本

Ambari 与 HDP 安装指南

3. 点击 installation

Ambari 与 HDP 安装指南

4. 选择 Install Ambari

Ambari 与 HDP 安装指南

5. 然后进入文档页面

Ambari 与 HDP 安装指南

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

1 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 repolist
yum install  -downloadonly ambari-server  –downloaddir=/tmp/
yum install –downloadonly HDP-2.5.0.0  –downloaddir=/tmp/
yum install –downloadonly HDP-2.5.*  –downloaddir=/tmp/
[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/ 目录下

即可通过网页访问了

Ambari 与 HDP 安装指南

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

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

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

三个回车即可

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

ssh-copy-id  server2
ssh-copy-id  server3
ssh-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/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
source /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 setup
Using python  /usr/bin/python
Setup ambari-server
Checking 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): 3
WARNING: 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_79
Validating JDK on Ambari Server…done.
Completing setup…
Configuring database…
Enter advanced database configuration [y/n] (n)?    —– 如果不希望安装默认的 postgres 数据库,这里要选 Y
Configuring 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 PostgreSQL
Configuring local database…
Connecting to local database…done.
Configuring PostgreSQL…
Restarting PostgreSQL
Extracting 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 start
Using python  /usr/bin/python
Starting ambari-server
Ambari 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 finished
Server PID at: /var/run/ambari-server/ambari-server.pid
Server out at: /data1/log/ambari-server/ambari-server.out
Server log at: /data1/log/ambari-server/ambari-server.log
Waiting for server start………………..
Ambari Server ‘start’ completed successfully.

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

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

需要安装 httpd

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

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

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

HDP Base URLhttp://<web.server>/hdp/HDP/<OS>/2.x/updates/<latest.version>
HDP-UTILS Base URLhttp://<web.server>/hdp/HDP-UTILS-<version>/repos/<OS>

Ambari 与 HDP 安装指南

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

Ambari 与 HDP 安装指南

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

Ambari 与 HDP 安装指南

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

Ambari 与 HDP 安装指南

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

echo never > /sys/kernel/mm/RedHat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
echo “transparent_hugepage=never” >> /etc/grub.conf

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

Ambari 与 HDP 安装指南

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

Ambari 与 HDP 安装指南

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

Ambari 与 HDP 安装指南

23. 增加 service 的过程

Ambari 与 HDP 安装指南

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

Ambari 与 HDP 安装指南

下面就和大家抱怨一下 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” : []

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计6580字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中