使用Ambari来部署hadoop集群(搭建内网HDP源)

规划

OS:


Ambari-yumrepo   公网 

Ambari-server    内网  

hadoop-master1   内网   

hadoop-master2    内网   

hadoop-slave1     内网  

hadoop-slave2     内网   

hadoop-slave3     内网 


             

准备工作

(1)修改主机名

  • Ambari-server、master1、master2、slave1、slave2、slave3

$ hostname XXX && echo XXX >/etc/hostname
$ cat >> /etc/hosts << EOF
 master1
 master2
 slave1
 slave2
 slave3
 ambari-server
 ambari-yumrepo
EOF

(2)关闭selinux和防火墙

  • Ambari-server、master1、master2、slave1、slave2、slave3

$ setenforce 0
$ service iptables stop
$ chkconfig iptables off

(3)主从节点ssh互信

  • slave1、slave2、slave3

$ echo sshd:  >>/etc/
  • master1、master2

$ ssh-keygen -t rsa
$ ssh-copy-id -i ~/.ssh/id_ root@slave1
$ ssh-copy-id -i ~/.ssh/id_ root@slave2
$ ssh-copy-id -i ~/.ssh/id_ root@slave3

(4)安装jdk

  • Ambari-server、master1、master2、slave1、slave2、slave3

$ wget /otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-
$ rpm -ivh jdk-8u111-linux-


(5)格式化硬盘

  • Ambari-server、master1、master2、slave1、slave2、slave3

$ yes| /dev/sdb
$ mkdir /data
$ mount /dev/sdb /data
$ echo "mount /dev/sdb /data" >>/etc/


(6)系统参数调优

  • Ambari-server、master1、master2、slave1、slave2、slave3

$ cat >>/etc/ <<EOF
_fin_timeout = 30
_keepalive_time = 1200 
_syncookies = 1 
_tw_reuse = 1 
_tw_recycle = 1 
_local_port_range = 1024 65000
_max_syn_baklog = 8192
_max_tw_bukets = 5000
EOF

文件打开数

$ cat >> /etc/security/ <<EOF
*             soft    nofile          65535*             hard    nofile          65535
EOF

重启


二:搭建内网yum源

注意:因为考虑到hadoop集群的机器可能是内网机器,没有公网访问权限,那么选择搭建一个内网的yum源,这个yum源的机器需要有公网权限。如果你的机器都可以出公网,也可以跳过这一步。


(1)添加yum源

  • Ambari-yumrepo

$ cd /opt
$ wget public-repo-/ambari/centos6//updates//
$ cp  /etc//



(2)同步yum源的包

  • Ambari-yumrepo

$ reposync  -r HDP-UTILS-
$ reposync  -r Updates-ambari-
$ reposync  -r ambari-

会在当前目录生成三个目录。


(3)发布yum源

  • Ambari-yumrepo

需要一个web服务器来发布,已经安装了nginx,将上面下载包的三个目录移动到nginx发布目录下。

$ yum install nginx
$ mkdir /usr/share/nginx/html/ambari
$ cp -R ambari-    /usr/share/nginx/html/ambari/
$ cp -R HDP-UTILS-   /usr/share/nginx/html/ambari/
$ cp -R Updates-ambari-  /usr/share/nginx/html/ambari/

(4)创建repo

  • Ambari-yumrepo

安装createrepo命令

$ yum install createrepo
$ cd  /usr/share/nginx/html/ambari/
$ createrepo ./


(5)添加HDP源

  • Ambari-yumrepo

$ vim /etc//
[HDP-]
name=HDP
baseurl=public-repo-/HDP/centos6//updates/
enabled=1
gpgcheck=0

$ mkdir /usr/share/nginx/html/hdp
$ cd /usr/share/nginx/html/hdp
同步网络源的包,1G左右。
$ reposync -r HDP-
$ createrepo ./

这样就本地yum源就OK了!


(6)配置配置文件,放在web目录下。

  • Ambari-yumrepo

注意:这个配置是给其他机器来使用的,不是本机的配置。

$ mkdir /usr/share/nginx/html/hadoop
$ cd /usr/share/nginx/html/hadoop
$ vim 
[ambari-]
name=Ambari 
baseurl=/ambari/
gpgcheck=0
enabled=1
[HDP-UTILS-]
name=Hortonworks Data Platform Utils Version - HDP-UTILS-
baseurl=/ambari/
gpgcheck=0
enabled=1
[Updates-ambari-]
name=ambari- - Updates
baseurl=/ambari/
gpgcheck=
enabled=1
$ vim 
[HDP-]
name=HDP
baseurl=/hdp
path=/
enabled=1
gpgcheck=0


三:安装Ambari

(1)添加yum源

  • Ambari-server、master1、master2、slave1、slave2、slave3

$ cd /etc// 
$ wget /hadoop/   #上面搭建的内网yum源
$ wget /hadoop/      #上面搭建的内网yum源


(2)ambari主机ssh信任hadoop各机器

  • master1、master2、slave1、slave2、slave3

$ echo sshd:  >>/etc/
  • Ambari-server

$ ssh-keygen -t rsa
$ ssh-copy-id -i ~/.ssh/id_ root@master1
$ ssh-copy-id -i ~/.ssh/id_ root@master2
$ ssh-copy-id -i ~/.ssh/id_ root@slave1
$ ssh-copy-id -i ~/.ssh/id_ root@slave2
$ ssh-copy-id -i ~/.ssh/id_ root@slave3



(3)安装ambari

  • Ambari-server

$ yum -y install ambari-server


(4)初始化ambari

  • Ambari-server

下载需要的jdk文件(必须用这个文件)

$ wget public-repo-/ARTIFACTS/jdk-6u31-linux-
$ mv jdk-6u31-linux- /var/lib/ambari-server/resources/

$ ambari-server setup  #初始化配置


(5)启动ambari

  • Ambari-server

$ ambari-server start


(6)给ambari配置本地的hadoop源

  • Ambari-server

$ cd /var/lib/ambari-server/resources/stacks/HDPLocal//repos/
$ vim 
将centos6的
<baseurl>public-repo-/HDP/centos6//updates/</baseurl>
替换成
<baseurl>/hdp/centos6//updates/</baseurl>


(7)进入ambari

  • 访问::8080进入ambari,user:admin,passwd:admin

  • 输入集群名

  • 选择 stack 版本

  • Target Hosts输入hadoop机器的列表,需要添加ambari-server这台机器的/root/.ssh/id_rsa文件。

  • 会自动安装ambari-agent

  • 选择那个服务安装在哪个机器上。

  • 配置客户端和slaves

  • 配置各个系统

  • 开始安装

通过Ambari部署hadoop集群成功!




部署过程中遇到的问题:

1:执行os_type_脚本执行失败导致的Local OS is not compatible with cluster primary OS报错,这是一个BUG,可以直接修改该os_type_,输出正确的结果。


2:ambari没有复制过去正确的hdp源,所以手动将hdp源配置到hadoop的集群

$ vim 
[HDP-]
name=HDP
baseurl=/hdp
path=/
enabled=1
gpgcheck=0

3:nagios输入正确密码和用户名无法登陆,密码文件httpd用户没有权限,设置777后可以正常访问。

-rw-r----- 1 nagios nagios 26 Jun  9 11:54 /etc/nagios/


4:jourenode无法启动报错

直接执行yum会报错

$ yum  -d 0 -e 0 -y install net-snmp-utils

rpmdb: Thread/process 12500/139757427676928 failed: Thread died in Berkeley DB library

error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery

error: cannot open Packages index using db3 -  (-30974)

error: cannot open Packages database in /var/lib/rpm

CRITICAL::

解决办法:

$ rm -rf /var/lib/rpm/__db.*


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值