Ambari & HDP 完整安装手册

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介:

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

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

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

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

1. 首先登陆官方页面

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

2. 选择需要的版本

9fe7793bd8a526850af4a178650ae9ab.png

3. 点击installation

01729755f9597eb0083d756ba2ca6f08.png

4. 选择Install Ambari

821e1ae7c8d4e30eb94fcddb62c3c8ce.png-wh_

5. 然后进入文档页面

5e10cc4a8f7c0366a92a47b7d949525e.png

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

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

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

1
2
3
4
5
6
7
8
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服务,用来后面的安装

1
2
3
yum install httpd -y
# service httpd restart
# chkconfig httpd  on

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

即可通过网页访问了

blob.png

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

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

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

三个回车即可

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

1
2
3
ssh-copy-id  server2
ssh-copy-id  server3
ssh-copy-id  server4

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

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

10.关闭防火墙

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

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

下载JDK(内网地址)

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

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

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

添加下面信息到.bash_profile

1
2
3
4
5
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)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[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  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

1
2
3
4
5
6
7
8
9
10
11
12
13
[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服务

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

需要安装httpd

1
2
3
4
5
[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 URL http://<web.server>/hdp/HDP/<OS>/2.x/updates/<latest.version>
HDP-UTILS Base URL http://<web.server>/hdp/HDP-UTILS-<version>/repos/<OS>

 795115dca0066fddff5f2bcbcac0ca87.png

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

ea25a111af1b3285bec2ad8bb5a1b10e.png

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

25ded80a5129df0ba48a0ecb092cd31b.png

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

fa56195515123c790cf14a1c189e2d6c.png

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

1
2
3
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. 问题全解决之后,开始安装

8198f71248ac840a3e452b5a5a96e0ac.png

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

72a0c26938700644016c271d764accad.png

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

7442f3acc43bed46426df7c41319e597.png

23. 增加service的过程

d4d6a970ce1f1dcb86f59c027897603a.png

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

668768651896cdc2584e00d8e3b6cc4b.png

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

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

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

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

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


1. 查询资源

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. 删除资源

1
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在删除

1
2
3
4
#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

1
2
3
4
5
[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

1
[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了

1
2
3
4
5
[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"  : [ ]









本文转自 hsbxxl 51CTO博客,原文链接:http://blog.51cto.com/hsbxxl/1981411,如需转载请自行联系原作者

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
5月前
|
SQL 分布式计算 Hadoop
Hadoop学习笔记(HDP)-Part.08 部署Ambari集群
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
91 0
Hadoop学习笔记(HDP)-Part.08 部署Ambari集群
|
7月前
|
SQL 关系型数据库 网络安全
ambari 安装及注意事项
ambari从无到有安装
88 0
|
10月前
|
关系型数据库 MySQL Java
安装Ambari和HDP
安装Ambari和HDP
209 1
|
关系型数据库 Java 大数据
CentOS7下利用Ambari搭建HDP大数据平台(下)
CentOS7下利用Ambari搭建HDP大数据平台(下)
308 0
CentOS7下利用Ambari搭建HDP大数据平台(下)
|
域名解析 SQL 分布式计算
CentOS7下利用Ambari搭建HDP大数据平台(上)
CentOS7下利用Ambari搭建HDP大数据平台(上)
389 0
CentOS7下利用Ambari搭建HDP大数据平台(上)
|
SQL 分布式数据库 HIVE
ambari发布新服务(HDP自带的服务)流程简介
ambari发布新服务(HDP自带的服务)流程简介
118 0
ambari发布新服务(HDP自带的服务)流程简介
|
分布式计算 安全 大数据
ambari安装HDFS组件(一)
ambari安装HDFS组件(一)
227 0
ambari安装HDFS组件(一)
|
SQL Java 关系型数据库
HDP 01.Ambari安装和配置
HDP 01.Ambari安装和配置
425 0
HDP 01.Ambari安装和配置
|
数据安全/隐私保护
Ambari 2.7.3.0安装新组件
Ambari 2.7.3.0安装新组件和之前版本略有不同,本文将简述安装新组件的简单过程。 前提是大家已经安装好Ambari 2.7.3.0 这时候由于有一些组件没有添加,就需要安装新的组件。
264 0
Ambari 2.7.3.0安装新组件
安装 OushuDB Ambari 插件
我们假设用户已经安装了HDP Ambari,并且已经安装了HDFS和Zookeeper。安装步骤可以参考: ● https://docs.hortonworks.com/HDPDocuments/Ambari/Ambari-2.4.2.0/index.html ● https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.5.3/index.html
138 0
安装 OushuDB Ambari 插件