热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ambari与HDP安装指南

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

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

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

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

1. 首先登陆官方页面

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

2. 选择需要的版本

#

3. 点击installation

#

4. 选择Install Ambari

#

5. 然后进入文档页面

#

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

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/目录下

即可通过网页访问了

#

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

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 URL http:///hdp/HDP//2.x/updates/
HDP-UTILS Base URL http:///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/enabled
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
echo "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" : [ ]


推荐阅读
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • 一、使用Microsoft.Office.Interop.Excel.DLL需要安装Office代码如下:2publicstaticboolExportExcel(S ... [详细]
  • 在使用 PyInstaller 将 Python 应用程序打包成独立的可执行文件时,若项目中包含动态加载的库或插件,需要正确配置 --hidden-import 和 --add-binary 参数,以确保所有依赖项均能被正确识别和打包。 ... [详细]
  • 本文详细介绍了在 CentOS 系统中如何创建和管理 SWAP 分区,包括临时创建交换文件、永久性增加交换空间的方法,以及如何手动释放内存缓存。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • 汇编语言标识符和表达式(四)(表达式与符号定义语句)
    7、表达式表达式是程序设计课程里的一个重要的基本概念,它可由运算符、操作符、括号、常量和一些符号连在一起的式子。在汇编语言中,表达式分为:数值表达式和地址表达式。(1)进制伪指令R ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • Canopy环境安装与使用指南
    《利用Python进行数据分析》一书推荐使用EPDFree版本的环境,然而随着技术的发展,目前更多人倾向于使用Canopy。本文将详细介绍Canopy的安装及使用方法。 ... [详细]
  • Bootstrap Paginator 分页插件详解与应用
    本文深入探讨了Bootstrap Paginator这款流行的JavaScript分页插件,提供了详细的使用指南和示例代码,旨在帮助开发者更好地理解和利用该工具进行高效的数据展示。 ... [详细]
  • 本文详细介绍了 Java 中 org.w3c.dom.Node 类的 isEqualNode() 方法的功能、参数及返回值,并通过多个实际代码示例来展示其具体应用。此方法用于检测两个节点是否相等,而不仅仅是判断它们是否为同一个对象。 ... [详细]
  • 在尝试启动Java应用服务器Tomcat时,遇到了org.apache.catalina.LifecycleException异常。本文详细记录了异常的具体表现形式,并提供了有效的解决方案。 ... [详细]
  • Tomcat SSL 配置指南
    本文详细介绍了如何在 Tomcat 中配置 SSL,以确保 Web 应用的安全性。通过正确的配置,可以启用 HTTPS 协议并保护数据传输的安全。 ... [详细]
  • mysql 授权!!
    为什么80%的码农都做不了架构师?MySQL的权限系统围绕着两个概念:认证-确定用户是否允许连接数据库服务器授权-确定用户是否拥有足够的权限执 ... [详细]
  • 本文详细介绍了如何使用Heartbeat构建一个高可用性的Apache集群,包括安装、配置和测试步骤。 ... [详细]
author-avatar
打个的故事
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有