ambari 离线安装 HDP-2.3 集群

  利用 ambari 安装 hadoop 集群是非常方便的。前端图形化,点点就搞定了。但是hadoop的配置还是要自己来定义的。


实验环境:

10.111.32.115    hdp115.hfln.com    ambari-server

10.111.32.162    hdp115.hfln.com    ambari-agent

10.111.32.163     hdp115.hfln.com    ambari-agent

10.111.32.183      hdp115.hfln.com    ambari-agent


32.115 做为 master 已经实现了与其他主机的名密钥登录了,这里 32.162 规划为 resourcemanager,所以也要实现与其他主机的名密钥登录。


  1. 下载离线安装所需的包文件。



# 这个是下载 ambari 的一个仓库文件,利用这个仓库文件可以从公网上下载 ambari-server 等相关包,这里因为有

ambari-2.1.0-centos6.tar.gz

这个包,一会做成自己本地源,所以如果你不下,自己写也是没问题的。

下面的 hdp.repo 也是如此。可下可不下。其他三个就是必须下。



[root@hdp115 hdp]# wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.1.0/ambari.repo

[root@hdp115 hdp]# wget  http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.0.0/hdp.repo

[root@hdp115 hdp]# wget  http://public-repo-1.hortonworks.com/ambari/centos6/ambari-2.1.0-centos6.tar.gz

[root@hdp115 hdp]# wget  http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.0.0/HDP-2.3.0.0-centos6-rpm.tar.gz

[root@hdp115 hdp]# wget -c http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6/HDP-UTILS-1.1.0.20-centos6.tar.gz


这个下载地址可以尝试变换一下,比如你想下载 1.7 版的 ambari,就可以写成


[root@hdp115 hdp]# wget  http://public-repo-1.hortonworks.com/ambari/centos6/ambari-1.7.0-centos6.tar.gz

有些太老的估计就下不了了。


2. 建立本地仓库,这里使用 httpd 来建立,安装启动httpd省略。解压三个包到 /var/www/html 目录下。

[root@hdp115 hdp]# tar xf ambari-2.1.0-centos6.tar.gz -C /var/www/html/

[root@hdp115 hdp]# tar xf HDP-2.3.0.0-centos6-rpm.tar.gz -C /var/www/html/

[root@hdp115 hdp]# tar xf HDP-UTILS-1.1.0.20-centos6.tar.gz -C /var/www/html/


## 修改 ambari.repo 与 hdp.repo 中的路径,使之与 yum源机器匹配,如上我的IP 为10.111.32.115,那么将

[root@hdp115 hdp]# cat ambari.repo 
#VERSION_NUMBER=2.1.0-1470
[Updates-ambari-2.1.0]
name=ambari-2.1.0 - Updates
baseurl=http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.1.0
gpgcheck=1
gpgkey=http://public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1


##修改后的文件内容。 要注意的是 ambari-2.1.0-centos6.tar.gz 解压后的名字为  ambari-2.1.0, 而 ambari.repo 中的路径没带版本号,所以还需要将 ambari-2.1.0 改名为: ambari

[root@hdp115 hdp]# cat ambari.repo
#VERSION_NUMBER=2.1.0-1470
[Updates-ambari-2.1.0]
name=ambari-2.1.0 - Updates
baseurl=http://10.111.32.115/ambari/centos6/
gpgcheck=1
gpgkey=http://10.111.32.115/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

3. 安装设置 ambari-server.

将 ambari.repo 复制到 /etc/yum.repos.d/ 目录下,安装 ambari-server。

[root@hdp115 yum.repos.d]# yum install ambari-server

安装好之后,配置ambari-server, 配置包括

    1. 检查系统环境

    2. 选择jdk, 这里已经自己部署了jdk_1.8.0_73, 选择他的,下载的巨慢。

    3. 选择数据库,如果默认,将使用 postgresql.这里选择了自己安装mysql.


[root@hdp115 yum.repos.d]# ambari-server setup
Using python  /usr/bin/python2.6
Setup ambari-server
Checking SELinux...
SELinux status is 'disabled'
Customize user account for ambari-server daemon [y/n] (n)? y
Enter user account for ambari-server daemon (root):
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/jdk64/jdk1.7.0_67
Validating JDK on Ambari Server...done.
Completing setup...
Configuring database...
Enter advanced database configuration [y/n] (n)? y
Configuring database...
==============================================================================
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
==============================================================================
Enter choice (1): 3
Hostname (localhost): 
Port (3306): 
Database name (ambari): 
Username (ambari): 
Enter Database Password (bigdata): 
Configuring ambari database...
Copying JDBC drivers to server resources...
Configuring remote database connection properties...
WARNING: Before starting Ambari Server, you must run the following DDL against the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
Proceed with configuring remote database connection properties [y/n] (y)? 
Extracting system views...
...ambari-admin-2.1.0.1470.jar
...
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.


当选择 mysql 之后,他会提示你,要导入相关的 sql 文件,还会尝试用 jdbc 去连接数据库,所以要

    1. 把 /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql 导入数据库

    2. 开通相关权限,按照上面的提示

    3. 安装 jdbc

设置好之后就可以启动 ambari-server 了,启动方式与一般的服务启动一样。

[root@hdp115 ~]# /etc/init.d/ambari-server start


4. 利用 ambari 安装 HDP 集群

这个时候你可以看你的 8080 端口是否在监听了,尝试在浏览器打开此链接


spacer.gif

登录ambary, user:admin, pass: admin

spacer.gifwKiom1epVdGDRNgzAAB9SegyWmg559.png-wh_50


点击 launch install wizard ,开始创建一个集群

wKiom1epbxzRfDs3AAD67c1IpXU875.png-wh_50


输入集群名称,此处为 beyond


wKioL1epb3LRLABsAADJdwF_1YE193.png-wh_50


选择版本号:注意下面的“Advanced Repository Options” 按钮,上面的选择会显示出下面所对应的版本,这里选择 HDP 2.3(因为我们下载的包文件就是2.3的),下面的仓库选项,选择相应版本,并修改为自己的本地的仓库地址,注意要修改正确为自己定义的路径,这个修改好的仓库会被分发到各个节点的 /etc/yum.repos.d/ 目录下


wKioL1epbx2jGWdHAAFPzsXgTGk335.png-wh_50


这里添写要加入集群的机器的 fqdn ,还有将ambari 的私钥文件上传

wKiom1epcDqhJu2VAAEOaWEc1Ww200.png-wh_50


这个步骤会在相关机器上安装ambar-agent来实现跟ambari-server 通信。--这里已经安装ambar-agent 成功。注:如果安装失败,在success 的地方会变成 Failed, 那么请点开查看错误原因。

一般来说,有以下几点:

1. ambari-server 主机与 agent 不能使用密钥文件 登录,即无法联通。请手动检查是否可以无密码在远程机器上执行命令。

2.yum 安装时失败,到/etc/yum.repos.d/ 目录下检查,有没有ambari.repo 仓库文件。尝试用 yum clean all 清除过期的缓存,再次尝试安装。

 

3.此前安装过 ambari等相关的功能,没有清理干净,又重新安装的,那么检查一下残留文件,删除重试即可。

 

错误原因还是很详细的,要视情况而处理。

wKioL1epcDuTwv5MAAExUNN4LWc422.png-wh_50

上图底下有个 Click hereto see the warnings.按钮,打开后会显示主机上的各种警告信息,

虽然已经安装了 ambariagent,可是还有其他可能导致安装集群失败的潜在不足,比如 ntp没做,或防火墙规则存在,虽然放行了 ssh,但是等安装hadoop集群,需要打开很多的tcp 端口,可能会导致错误发生。自己视情况检查吧(我这个环境因为安装过HDP,许多提示都是说已经安装了某包,有某些配置文件已存在等等)


wKiom1epcRnRzANNAAFOXfHShLw553.png-wh_50


有些问题不重要,如果没解决,这里会有提示,直接确认即可。

wKioL1epcRrSMQsoAADqoBloAKU733.png-wh_50


这一步,选择安装什么组件,自己看着选吧,我选了最基本的。hdfs + yarn+mapreduce2 + zookeeper + pig + tez +ambari_Metrics

wKiom1epcb2Ds5BMAAFVbqhhYMg890.png-wh_50

调整每个机器上所安装的组件

wKioL1epcb7AhKpuAAFC3XBmrsI768.png-wh_50


选择在哪里安装 datanode ,等组件

wKiom1epfAiCx1WcAAEKatqSCEQ498.png-wh_50

调整各服务配置选项,在实际环境中,这就是在打开 xml的配置文件在配置

wKioL1epfEmTS3VlAAEk92GCzaY953.png-wh_50

确认检查,选择 deploy 开始安装


wKioL1epfKDBNO-WAAExLhz6af8493.png-wh_50


成功之后像这样子,本例中忘了裁下引图片。

wKiom1epfUfg35o8AAFLnvGLLLY267.png-wh_50




安装成功。


wKiom1epfNmhX1mTAAEaCyfxnoU343.png-wh_50


终于搞定啦。方法没错,只是原来的机器,已经安装过多次hadoop, 因为有些东西没能清理干净而导致步骤出错,只要看日志细心排查就会OK的,希望 ambari 也能有卸载的功能就好了。


另外在此过程中还有sql 导入出错的问题:

1.导入 /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql时,说是某数据类型太大,不支持。我的mysql 版本是 5.1.7的,遂更新至 5.6.30 ,导入成功

 

 

2.启动ambari-server 时不成功,看了日志说是jdbc 的版本过低,又更新了

mysql-connector-java-5.1.25.解决成功。

 

在使用 docker 创建hadoop 安装环境的 centos6.8 容器时,在根下创建了 /hadoop:/hadoop 数据卷。

这个是很有必要的,在前端进行安装时,给出了目录不足的警告,因为 docker 的容器默认只有10G 的大小,容器并不是主要用来存储数据的。所以任何跟数据有关的一定要记得使用数据卷功能。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章