大数据平台,涉及到很多软件产品,如果刚刚入行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 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
安装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