ambari 离线安装

先明确几个概念:

1. Ambari只能安装Hortonworks Data Platform,即Hortonworks的开源Hadoop,不支持Apach的Hadoop平台;

2. 对于已经安装了Apach Hadoop或者其他Hadoop平台的,不能使用Ambari来管理;

 

再说几个注意事项:

1. Ambari默认的安装方式是使用yum,从远程下载HDP组件安装,而HDP平台安装包都非常大(本例中使用的HDP-2.4.1安装包为6G),Ambari平台有又30分钟的Timeout限制,如果在30分钟内下载不完HDP,就会造成安装失败。建议修改下载源文件,配置为本地源;

2. Ambari安装过程为自动安装,自动安装脚本会创建很多用户和其他组件(如系统自带的Java和数据库),建议使用一套干净的环境来安装。

3. 系统请关闭Selinux、防火墙和THP;

4. 集群机器请事先配置ssh互信;还是建议使用root用户来互信;

 

操作系统:CentOS 6.6

 

集群机器情况:

机器名

IP

功能

备注

Namenode1

172.26.5.21

NameNode and JobTracker

以下可能简称为主机

Data01

172.26.5.22

Second Namenode

以下可能简称为节点

Data02

172.26.5.23

DataNode and TaskTracker

以下可能简称为节点

Data03

172.26.5.24

DataNode and TaskTracker

以下可能简称为节点

 

2.1 配置本地源
上文提到,为了加快安装速度和防止超时错误,建议为HDP配置本地源,请在事先在网上下载HDP、HDP-UTILS和Ambari,本例中几个组件版本为HDP-2.5.0,HDP-UTILS-1.1.0.21和Ambari-2.4.1.0。我们把namenode1服务器做为源服务器。以下操作在namenode1机器运行。

1、下载压缩包

首先下载包含必要软件的压缩包(tarball)到本地,以centOS6、centOS7,Ambari 2.4.1和HDP2.5.0.0为例:

Ambari-2.4.1.0 压缩包地址:

http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.1.0/ambari-2.4.1.0-centos7.tar.gz

http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.4.1.0/ambari-2.4.1.0-centos6.tar.gz

 

HDP-2.5.0.0压缩包地址:

http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.0.0/HDP-2.5.0.0-centos7-rpm.tar.gz

http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.5.0.0/HDP-2.5.0.0-centos6-rpm.tar.gz

HDP UTILS压缩包下载地址:

http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz

http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6/HDP-UTILS-1.1.0.21-centos6.tar.gz

其他版本,下载地址请参考:

Ambari:

http://docs.hortonworks.com/HDPDocuments/Ambari-2.4.1.0/bk_ambari-installation/content/ambari_repositories.html

HDP和HDP UTILS:

http://docs.hortonworks.com/HDPDocuments/Ambari-2.4.1.0/bk_ambari-installation/content/hdp_stack_repositories.html

2.1.1 安装配置本地源需要的组件
yum install httpd

yum install yum-utils

yum repolist

 

yum install createrepo

2.1.2 安装httpd服务
1.    直接使用命令:yum install httpd;安装完成后,会生成 /var/www/html 目录。

 

2.    在/var/www/html目录下,分别建立ambari和hdp目录

[root@namenode1~]# mkdir /var/www/html/ambari

[root@namenode1~]# mkdir /var/www/html/hdp

[root@namenode1~]# tar -xf ambari-2.4.1.0-centos6.tar.gz -C /var/www/html/ambari/ 

[root@namenode1~]# tar -xf HDP-2.5.0.0-centos6-rpm.tar.gz -C /var/www/html/hdp/

 

3.    启动httpd服务

[root@namenode1~]# service httpd restart

 

4.    设置httpd服务开机自动启动

 [root@namenode1 ~]# chkconfig httpd on

2.1.3 下载、配置Ambari本地源ambari.repo
1. 把下载的Ambari tar包解压后拷贝到刚才建立的/var/www/html/ambari/目录中,在浏览器中输入地址,就可以看到ambari目录结构

[root@namenode1 ~]# tar -xf ambari-2.4.1.0-centos6.tar.gz -C/var/www/html/ambari/

http://172.26.5.21/ambari/AMBARI-2.4.1.0/centos6/

域名后80为httpd服务配置的端口

 

 

2. 使用wget命令:

wget -nvhttp://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.4.1.0/ambari.repo -O/etc/yum.repos.d/ambari.repo

 

vi /etc/yum.repos.d/ambari.repo命令完成后,

 

修改ambari.repo文件

[Updates-ambari-2.4.1.0]

name=ambari-2.4.1.0 - Updates

baseurl=http://172.26.5.21/ambari/AMBARI-2.4.1.0/centos6/

gpgcheck=1

gpgkey=http://172.26.5.21/ambari/AMBARI-2.4.1.0/centos6/2.4.1.0-22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

红色字体为修改部分,把baseurl换成本地的url。

可以通过设置gpgcheck=0来禁用GPG检查,如果不禁用,我们也可以修改gpgkey成本地的库源。其中,INSERT-BASE-URL为之前设置好的本地镜像Ambari的URL地址。以我为例,我是安装在机器系统为centOS6的172.26.5.21上,所以,我的INSERT-BASE-URL为http://172.26.5.21/ambari/AMBARI-2.4.1.0/centos6,gpgkey为http://172.26.5.21/ambari/AMBARI-2.4.1.0/centos6/2.4.1.0-22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

2.1.2 配置HDP本地源
把下载的HDP-2.5.0.0-centos6-rpm.tar.gz包拷贝到/var/www/html/hdp/目录下,用浏览器输入网址http://172.26.5.21/hdp/HDP-2.5.0/centos6/ ,查看HDP目录结构

[root@namenode1 ~]# tar -xf HDP-2.5.0.0-centos6-rpm.tar.gz -C/var/www/html/hdp

http://172.26.5.21/hdp/HDP/centos6/

 

这个地址,就是本地源的地址

 

在/etc/yum.repo.d目录中,修改HDP.repo文件

VERSION_NUMBER=2.5.0.0-1245

[HDP-2.5.0.0]

name=HDP Version - HDP-2.5.0.0

baseurl=http://172.26.5.21/hdp/HDP/centos6/

gpgcheck=1

gpgkey=http://172.26.5.21/hdp/HDP/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

黄色字体为修改部分,把baseurl换成本地的url。

 

2.1.3 配置HDP-UTILS
同样,把下载的HDP-UTILS-1.1.0.20-centos6.tar.gz包拷贝到/var/www/html/hdp/ HDP-UTILS-1.1.0.21目录下

[root@namenode1 ~]#mkdir /var/www/html/hdp/HDP-UTILS-1.1.0.21

root@namenode1 ~]# tar -xf HDP-UTILS-1.1.0.21-centos6.tar.gz  -C /var/www/html/hdp/HDP-UTILS-1.1.0.21

 

用浏览器输入网址http://172.26.5.21/hdp/HDP-UTILS-1.1.0.20/centos6/ ,查看HDP-UTILS目录结构

 

在/etc/yum.repo.d目录中,修改HDP.repo文件

 

[HDP-UTILS-1.1.0.21]

name=HDP-UTILS Version - HDP-UTILS-1.1.0.21

baseurl=http://172.26.5.21/hdp/HDP-UTILS-1.1.0.21/

gpgcheck=1

gpgkey=http://172.26.5.21/hdp/HDP-UTILS-1.1.0.21/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

红色字体为修改部分,把baseurl换成本地的url。

 

2.1.4 生成本地源
使用createrepo命令,生成本地源

 [root@namenode1 ~]# mkdir -p/var/www/html/hdp/HDP/centos6/

[root@namenode1 ~]#  mkdir -p/var/www/html/hdp/HDP-UTILS-1.1.0.21/

[root@namenode1 ~]# mkdir -p /var/www/html/ambari/AMBARI-2.2.1.0/centos6/[root@namenode1 ~]# createrepo /var/www/html/hdp/HDP/centos6/

[root@namenode1 ~]# createrepo /var/www/html/hdp/HDP-UTILS-1.1.0.21/

2.2 关闭Selinux和THP
1.2.1 修改hostname

vi/etc/sysconfig/network

NETWORKING=yes

HOSTNAME=namenode1

NOZEROCONF=yes

把所有要添加到集群中的主机都要加入hosts中,格式如下:

[root@ namenode1 ~]# vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomainlocalhost6 localhost6.localdomain6

172.26.5.21 namenode1

172.26.5.22 data01   

172.26.5.23 data02   

172.26.5.24 data03   

 for i in {21,22,23,24};do scp /etc/[email protected].$i:/etc;done

2.2.2安装java软件

[root@namenode1 ~]# mkdir/usr/java

[root@namenode1 ~]# chown  hadoop:hadoop /usr/java

1)解压java软件包

[root@namenode1 hadoop]$ tar xvfjdk-7u79-linux-x64.tar.gz -C /usr/java/

2)编辑环境变量

[root@namenode1 ~]# cat/etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_79

export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile

关闭Selinux
注意,在集群的每个节点,都要关闭Selinux。

使用sestatus -v 命令,查看Selinux状态。

如果不是disable状态,编辑/etc/sysconfig/selinux 文件

vi /etc/sysconfig/selinux

把里边的一行改为

SELINUX=disabled

保存,然后重启机器。

 

2.2.3 关闭THP
在集群的每个节点,都要关闭。编辑/etc/grub.conf文件,在kernel 行后面加入

transparent_hugepage=never,保存退出,重启机器。

 

2.2.4 配置NTP时间同步
⑴ vi /etc/ntp.conf

restrict 127.0.0.1

restrict -6 ::1

restrict 172.26.5.21 mask 255.255.255.0 nomodify notrap

server  127.127.1.0     # local clock

fudge   127.127.1.0 stratum 10

⑵ 启动ntp服务

#/etc/init.d/ntpd start

添加到自启动

所有节点执行如下命令,让每次系统启动的时候自动启动ntp服务:

chkconfig --level 35 ntpd on

⑶客户端设置

[root@namenode1 ~]#vi /etc/ntp.conf

driftfile /var/lib/ntp/drift 文件里有

server 172.26.5.21

restrict 172.26.5.21 nomodify notrap noquery

server  127.127.1.0     # local clock

fudge   127.127.1.0 stratum 10

Npt主服务器ip要去掉,只是针对客户的而言

[root@namenode1 ~]# for i in {32,33,34,35,36,37,38,39,40,41,42};do scp/etc/ntp.conf [email protected]$i:/etc/ntp.conf; done

启动服务

/etc/init.d/ntpd start

添加到自启动

所有节点执行如下命令,让每次系统启动的时候自动启动ntp服务:

chkconfig --level 35 ntpd on

 

所有客户端手动同步时间

[root@data01 ~]#ntpdate -u manager

[root@data02 ~]# crontab -e

*/5 * * * * root /usr/sbin/ntpdate 172.26.5.21; /sbin/hwclock -w

[root@masternode02 ~]# service crond restart ;chkconfig --level 35crond on

三、Ambari安装
使用命令查看案例列表:

yum clean all

yum list|grep ambari

 

直接使用命令yum install ambari-server安装即可,由于配置了本地源,安装过程非常快,可比网络资源节省一半以上的时间。

 

安装完成后,使用命令, ambari-server setup 设置Ambari,基本都可以一路回车使用默认设置。为了演示完整的安装过程,本例中做了一些特殊设置。请同学们根据环境的实际情况自行选择配置。

1.设置JDK

[root@namenode1~]# ambari-server setup

Usingpython  /usr/bin/python

Setupambari-server

CheckingSELinux...

SELinuxstatus is 'disabled'

Customizeuser account for ambari-server daemon [y/n] (n)? y

Enter useraccount for ambari-server daemon (root):

Adjustingambari-server permissions and ownership...

Checkingfirewall status...

CheckingJDK...

[1] OracleJDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8

[2] OracleJDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7

[3] CustomJDK

==============================================================================

Enter choice(1): 3

WARNING: JDKmust be installed on all hosts and JAVA_HOME must be valid on all hosts.

WARNING: JCEPolicy files are required for configuring Kerberos security. If you plan to useKerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files arevalid on all hosts.

Path toJAVA_HOME: /usr/java/jdk1.7.0_79

ValidatingJDK on Ambari Server...done.

Completingsetup...

2.设置数据库,Ambari默认使用的是PostgreSQL,也可指定其他数据库

Configuringdatabase...

Enteradvanced database configuration [y/n] (n)? y

Configuringdatabase...

==============================================================================

Choose oneof the following options:

[1] -PostgreSQL (Embedded)

[2] - Oracle

[3] - MySQL/ MariaDB

[4] -PostgreSQL

[5] -Microsoft SQL Server (Tech Preview)

[6] - SQLAnywhere

[7] - BDB

==============================================================================

Enter choice(1): 3

Hostname(localhost): namenode1

Port (3306):

Databasename (ambari):

Username(ambari):

EnterDatabase Password (bigdata):

Re-enterpassword:

Configuringambari database...

Copying JDBCdrivers to server resources...

Configuringremote database connection properties...

WARNING:Before starting Ambari Server, you must run the following DDL against thedatabase to create the schema:/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

Proceed withconfiguring remote database connection properties [y/n] (y)? y

Extractingsystem views...

.....ambari-admin-2.4.1.0.22.jar

......

Adjustingambari-server permissions and ownership...

AmbariServer 'setup' completed successfully.

将Ambari数据库脚本导入到数据库

如果使用自己定义的数据库,必须在启动Ambari服务之前导入Ambari的sql脚本

用Ambari用户(上面设置的用户)登录mysql

[root@namenode1~]# mysql -u ambari -pambari -hnamenode1

CREATE USER'ambari' IDENTIFIED BY 'ambari';

 

grant allprivileges on *.* to 'ambari'@'namenode1' identified by 'ambari' with grantoption;

grant allprivileges on *.* to 'ambari'@'%' identified by 'ambari' with grant option;

 

mysql>create database ambari DEFAULT CHARSET utf8;

mysql>use ambari

mysql>source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

9)启动Amabri

[root@namenode1~]# ambari-server start

Usingpython  /usr/bin/python

Startingambari-server

AmbariServer running with administrator privileges.

Organizingresource files at /var/lib/ambari-server/resources...

Ambaridatabase consistency check started...

No errorswere found.

Ambaridatabase consistency check finished

Server PIDat: /var/run/ambari-server/ambari-server.pid

Server outat: /var/log/ambari-server/ambari-server.out

Server logat: /var/log/ambari-server/ambari-server.log

Waiting forserver start....................

AmbariServer 'start' completed successfully.

 

Ambari默认使用的是8080端口,如果端口被占用,可修改配置文件/etc/ambari-server/conf/ambari.properties,在文件中增加 client.api.port=

 

配置完成后,使用命令 ambari-server start 启动Ambari。

启动成功后,在浏览器输入网址http://master:8080 ,看到如下界面,就说明安装成功了。

Ambari默认用户名/密码是:admin/admin

 

http://172.26.5.21:8080/#/login

 

 

安装Ambariagent

wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.4.1.0/ambari.repo-O /etc/yum.repos.d/ambari.repo

 

 

root@namenode1~]# mkdir -p /var/www/html/ambari/centos6/2.x/updates/2.4.1.0

[root@namenode1~]# createrepo /var/www/html/ambari/centos6/2.x/updates/2.4.1.0

 

[root@data01~]# cat /etc/yum.repos.d/ambari.repo

#VERSION_NUMBER=2.4.1.0-22

 

[Updates-ambari-2.4.1.0]

name=ambari-2.4.1.0- Updates

baseurl=http://172.26.5.21/ambari/centos6/2.x/updates/2.4.1.0

gpgcheck=1

gpgkey=http://172.26.5.21/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

 

yum cleanall

yum listupdate

yummakecache

yum repolist

四、部署大数据平台
图文并茂

步骤一,点击运行安装向导

步骤二,输入你的集群名称

 

步骤三,选择HDP版本

注意: HDP资源默认是从网络下载,请点击下方的Advance Repository Options,把HDP和HDP-UTILS地址替换成我们上方配置的本地源,否则容易发生超时错误。

步骤四,输入安装选项,数据集群的机器host name,ssh互信的私钥和ssh用户;

请注意:在ssh user accout的地方,为了安装成功,我使用的是root用户

由于我的机器不在域中,系统会提示不是一个完整的FQDN(完整的FQDN类似于master.example.com这种格式),不用管他,直接点OK按钮。

 

 

步骤五,选择完机器后,Ambari会自动在其他的机器上安装ambari-agent代理

 

可能会出现的问题:

ambari-agent注册失败,日志显示端口被占用,网上查询结果是Agent使用的8670端口

手工连接到失败的服务器上,netstat -anp|grep8670,发现果然在监听状态,然后输入命令kill -9 [进程id],再Retry便可成功

 

安装成功后,界面如下:

请注意:画面下方的potential problems,这里系统在坚持潜在的问题,完成后,会有显示当前问题列表,检查完成后,系统会给出问题解决方法,请把列出的警告的problems也一一解决掉,否则安装可能会不成功

 

步骤六,选择需要安装的服务组件,已经包括了HDFS,Yarn,Hbase,Hive,Spark等等,的确非常方便,不用在一一部署了

步骤七,分配Master服务器,可以看到能做NameNode和2nd NameNode高可用,Hbase也是

 

步骤八,选择Slave节点,Client随便选一个Slave安装就可以了。

root@namenode1~]# ambari-server setup --jdbc-db=mysql --jdbc-driver=/opt/mysql-connector-java-5.1.36/mysql-connector-java.jar

 

 

步骤九,配置文件,可图形化配置core-site.xml,hdfs-site.xml等文件,有时候系统出现标记,如Hive组件,系统会要求你输入元数据库的用户名,密码和地址,输入完成后,点击下一步

点击下一步后,检查配置

 

步骤十,系统根据配置,开始部署

等待安装完成,因为我们配置了本地源,安装非常迅速

可能会出现的问题:

Too many levels of symbolic links

安装HDFS和HBASE的时候出现/usr/hdp/current/hadoop-client/conf  doesn't exist

 

是由于/etc/hadoop/conf和/usr/hdp/current/hadoop-client/conf目录互相链接,造成死循环,所以要改变一个的链接

 

需要在失败的节点运行命令:

cd /etc/hadoop

rm -rf conf

ln -s/etc/hadoop/conf.backup /etc/hadoop/conf

 

HBASE也会遇到同样的问题,解决方式同上

cd /etc/hbase

rm -rf conf

ln -s/etc/hbase/conf.backup /etc/hbase/conf

 

ZooKeeper也会遇到同样的问题,解决方式同上

cd /etc/zookeeper

rm -rf conf

ln -s/etc/zookeeper/conf.backup /etc/zookeeper/conf

 

 

步骤十一、安装完成后,系统会自动系统大数据平台

大功告成。
--------------------- 
 

你可能感兴趣的:(ambari 离线安装)