尝鲜系列之手把手教你搭建Ambari2.2.0(全分布离线环境)

一.基础系统环境配置(注意需要英文环境,后面启动hive的时候会因为中文报错,如果中文环境,所有节点使用vi /etc/sysconfig/i18nzh_CN改为en_US

1.网络通信配置:

机房环境下需要使用u盘安装centos6.5的系统,需要手动设置网络桥接模式,方便后续集群通信和winscp上传压缩包。(虚拟机环境下的话只需要安装系统的时候设置一下网络连接模式,装完系统后安装vmwaretools就可以执行拷贝操作了)

暂无

2.离线系统工具包准备:这里因为是离线环境,各自的环境都不统一,所以如果安装过程中遇到有任何包的缺失,自己在网上又找不到的话,可以通过使用vi /etc/yum.conf,将keepcache改成1,默认0代表安装后不保存包头和软件包;然后使用cat /etc/yum.conf|grep XXXX,来查看下载包的地址

(1)opensslopenssl-1.0.1e-48.el6_8.1.x86_64

(2)createrepo:deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

   python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

     createrepo-0.9.9-24.el6.noarch.rpm

(3)ntp

(4)yum.pluginsyum-plugin-priorities-1.1.30-37.el6.noarch.rpm

 

3.安装系统工具包:

(1)升级openssl

rpm -qa|grep openssl 查看当前系统的openssl版本

rpm -e --nodeps openssl-1.0.1e-15.el6.x86_64 删除系统自带oepnssl

rpm -qa|grep openssl 查看是否删除

rpm -ivh openssl-1.0.1e-48.el6_8.1.x86_64.rpm 安装新版本openssl

rpm -qa|grep openssl 查看是否安装成功

(2)安装createrepo

rpm -qa|grep createrepo 查看当前系统是否安装改工具,如有确认版本不低于新版本,否则最好删除重新安装,删除操作同上

rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm(一定按照顺序执行,因为有依赖关系)

rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

rpm -ivh createrepo-0.9.9-24.el6.noarch.rpm

3

 

二.Ambari主节点安装

1. 修改hostname

# vim /etc/hosts

增加:

192.168.10.11  192.168.10.11


# hostname 192.168.10.11

 

# vim /etc/sysconfig/network

HOSTNAME=localhost.localdomain

修改为:

HOSTNAME=192.168.10.11

 

2. 

安装jdk1.8

#rpm -qa|grep jdk

# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

# java -version(查看系统自带jdk是否卸载)

# tar -zxvf jdk-8u77-linux-x64.gz -C /usr/jdk/

# vi /etc/proifile

编辑如下内容:

 

# source /etc/profile

# java -version(再次查看是否配置成功)

3. 配置ssh通信

# ssh-keygen  -t rsa#一路回车

 

# cd ./.ssh

# cat id_rsa.pub >> authorized_keys

 

多台服务器时,在每一台服务器上运行一遍ssh-keygen,并将本authorized_keys复制到其它目标服务器的~/.ssh目录。(这里在后面配置集群的时候会操作)

测试无密码连接:

# ssh 192.168.10.11

 

同时测试其它所有服务器连接

# exit

 

4. 关闭防火墙

1)查看iptables状态:

# service iptables status


关闭iptables服务:

# chkconfig iptables off (重启后生效)

 

# service iptables stop (临时关闭)

查看iptables状态:

 

2)查看selinux状态:

# /usr/sbin/sestatus -v

 

关闭selinux:

# vim /etc/selinux/config

 

SELINUX=enforcing改为SELINUX=disabled,重启后生效

 

# setenforce 0 (临时生效)

5. 所有节点配置ntp服务,单节点不需要

暂无

6. 启动httpd服务

   rpm -qa|grep httpd查看是否安装httpd

   chkconfig --levels 235 httpd on

   service httpd start(这里可能提示由于hostname而启动失败,这时候需要重启)

7. 制作本地源

  1)在/home目录下新建hortonworks文件夹

   将安装所需软件上传至该文件夹内,显示该文件夹内所有文件:

# ls /home/hortonworks

 

  2)# cd /var/www/html

 

# tar -zxvf /home/hortonworks/ambari-2.0.0-centos6.tar.gz

 

# tar -zxvf /home/hortonworks/HDP-2.2.4.2-centos6-rpm.tar.gz 

 

# tar -zxvf /home/hortonworks/HDP-UTILS-1.1.0.20-centos6.tar.gz

 

3)挂载系统资源

# mkdir /var/www/html/centos6

 

# mount -o loop /home/hortonworks/centos_x64_6.5.iso /var/www/html/centos6

 

# ls /var/www/html/centos6

 

 

4)开始制作本地源

# createrepo /var/www/html/

#createrepo /var/www/html/apache-ambari-2.0.0-src/

 

(5)修改yum配置文件

# cd /etc/yum.repos.d

# ls

 

# mv CentOS-Base.repo CentOS-Base.repo.bak

# mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak

# mv CentOS-Media.repo CentOS-Media.repo.bak

# mv CentOS-Vault.repo CentOS-Vault.repo.bak

# ls


 

HDP2.4目录结构不同,并且也没有默认的ambari.repo文件,所以随便找一个,按照下面修改也可以)

# cp /var/www/html/ambari/centos6/2.x/updates/2.0.0/ambari.repo /etc/yum.repos.d/

 

# cp /var/www/html/HDP/centos6/2.x/updates/2.2.4.2/hdp.repo /etc/yum.repos.d/

 

修改ambai.repo文件:

# vim /etc/yum.repos.d/ambari.repo

 

ambari.repo文件内容:

 

修改为(注意将下面ambari-updates部分删除,因为那是ambari源地址,需要外网):

 

修改hdp.repo文件:

# vim /etc/yum.repos.d/hdp.repo

 

hdp.repo文件内容:

 

修改为:

 

新建centos.repo文件:

# vim /etc/yum.repos.d/centos.repo

 

写入下面内容:

 

(6)yum-plugin-priorities
# rpm -qa|grep yum-plugin-priorities(是的repo中的priority优先级生效

# rpm -ivh yum-plugin-priorities.rpm

(7)yum源操作

清除yum源

 # yum clean all

 

yum源列表

# yum list

 

Yum源可用列表

# yum list available

 

 

7.安装Ambari

(1)安装ambari-server

# yum -y install ambari-server

 


 

(2)配置ambari服务

jdk-8u77-linux-x64.tar.gzUnlimitedJCEPolicyJDK7.zip上传到目录/var/lib/ambari-server/resources

# cp /home/hortonworks/jdk-7u67-linux-x64.tar.gz /var/lib/ambari-server/resources

 

# cp /home/hortonworks/UnlimitedJCEPolicyJDK7.zip /var/lib/ambari-server/resources

 

# ls /var/lib/ambari-server/resources

 

 

 

# ambari-server setup (注意到enter choice(1):3输入JAVA_HOMEpostgresql数据库

 

(3)ambari配置本地源地址

# vim /var/lib/ambari-server/resources/stacks/HDP/2.4/repos/repoinfo.xml

repoinfo.xml内容为:

 

修改后:

 

(4)批量安装Centos Development Tools 

# yum -y groupinstall "Development tools"


(5)登录ambari界面

# ambari-server start

 

(6)Transparent Huge Pages 禁用

echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled

echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo never > /sys/kernel/mm/transparent_hugepage/defrag

7)登录Ambari

http://192.168.10.11:8080/ 账户:admin 密码:admin

 

.Ambari集群配置

1.选择HDP版本

 

2.安装配置

选择目标主机,一行一个主机。要让ambar server自动在所有主机安装ambari-agent,需要提供ambari server root账户的私钥,即/root/.ssh/ id_rsa文件,选中使用本地源安装hadoop,然后下一步

 

选择ip地址作为hostname的原因是集群一般在机房不通外网,如果同局域网的别的人想访问某些组件的服务页面,比如hdfsbrower页面,那么是需要改自己本地的dns映射的,不然访问不到,所以为了方便干脆设置ip,至于警告暂时可以忽略。(另外这样设置会有一个问题,就是会导致datanode节点的心跳消失,这是由于此版本的hadoop默认不建议ip地址作为hosts,需要修改配置文件,后面安装slave的时候会提到)

 

3.确认主机

 

4.选择安装服务组件(这里有一些服务依赖的知识,比如hive必须要hdfs等,所以选择的时候要稍微考虑一下)

 


 

5.选择分配主机(这里因为先装了一个主节点,所以默认下一步就可以了)

 

6.选择分配客户端机器

 

7.配置各组件服务(这里大多Ambari都给默认配置好了,有感叹号的代表未配置或者配置有问题)

 

8.配置hive元数据存储数据库(这里就涉及到hive的内置数据库还是独立数据库或是远程数据库的知识了,默认是独立数据库mysql

 

 


 

解决:找到对应配置改成建议配置(hive.auto.convert.join.noconditionaltask.size357913941

                                hive.tez.container.size1024

改成最大值就行

 


 

9.显示配置信息

 

10.开始安装

 

11.安装结束(本地装的,内存至少4G以上,80G硬盘,hdp2.4相比2.2更耗内存,还是很卡)

这里安装结束后可能存在警告或者错误,可以先略过,进入主界面再来看是什么错误日志,再重启服务。这里我的hdfs错误时由于没有datanode节点,这个在后面slave节点安装后,能得到结局

 

错误官方解答:

 

至此master节点的ambari就安装完成了!

四.Ambarislave集群配置

1.slave节点192.168.10.12)环境配置(注意最好是英文环境,否则后面hive启动报错,如果中文环境,使用vi /etc/sysconfig/i18n zh_CN改为en_US

(1)保证该节点与主节点在同一网段,互相可以内网通信,使用ping操作,看是否双方能ping通。

(2)关闭防火墙,和上述操作一样

(3)安装openssl,如果版本不一样,后面也会报错

(4)安装httpd服务,并启动,和上述操作一样

(5)安装ntp服务并配置(有需要的话)

(6)安装yum-plugin工具

(7)安装jdk8,操作通主节点一样。

(8)配置hostname=192.168.10.12

(9)配置ssh通信,注意这里的authorized需要加上主节点的不然后面会报错ssh连不上,因为py代码里面包括界面都没有传递ssh的密码,所以必要要有密钥通信。(只需要本主机ip的通信密钥就可以)

(10)将生成的私钥id_rsa文件拷贝到主节点上

(7)Transparent Huge Pages 禁用

echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled

echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo never > /sys/kernel/mm/transparent_hugepage/defrag

2.集群配置

(1)新增slave节点

(2)配置slave节点

 

(3)确认slave节点

 

(4)配置server服务

 

(5)注册客户端服务组件

 

(6)配置重审确认

 

(7)开始部署

 

(8)安装成功

 

 

(9)Datanode alive数量不对

 

解决:通过Ambari的界面中的自定义hdfs-site配置中,添加如下参数配置

   dfs.namenode.datanode.registration.ip-hostname-check

   false

之后提示重启相关服务,再看界面

 

发现世界美好了,到此一切结束了。

 


:(csdn的blog是没人维护么?各种bug,图片连续上传总报错,实在受不了了,传的我头疼,读者见谅吧,准备转战git page了)

 

 

 

 

你可能感兴趣的:(大数据前沿技术尝鲜系列)