设为首页 收藏本站
查看: 3506|回复: 1

[经验分享] 使用Ambari来部署hadoop集群(搭建内网HDP源)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-1-10 11:28:20 | 显示全部楼层 |阅读模式
规划
OS:centos6.5

Ambari-yumrepo 10.10.10.20  公网
Ambari-server  10.10.10.10  内网  
hadoop-master1 10.10.10.1   内网   
hadoop-master2 10.10.10.2   内网   
hadoop-slave1  10.10.10.3   内网  
hadoop-slave2  10.10.10.4   内网   
hadoop-slave3  10.10.10.5   内网

wKioL1hzJT6SH8CmAACKNFpfYWU283.jpg

准备工作
(1)修改主机名
  • Ambari-server、master1、master2、slave1、slave2、slave3

1
2
3
4
5
6
7
8
9
10
$ hostname XXX && echo XXX >/etc/hostname
$ cat >> /etc/hosts << EOF
10.10.10.1 master1
10.10.10.2 master2
10.10.10.3 slave1
10.10.10.4 slave2
10.10.10.5 slave3
10.10.10.10 ambari-server
10.10.10.20 ambari-yumrepo
EOF



(2)关闭selinux和防火墙
  • Ambari-server、master1、master2、slave1、slave2、slave3

1
2
3
$ setenforce 0
$ service iptables stop
$ chkconfig iptables off



(3)主从节点ssh互信
  • slave1、slave2、slave3

1
$ echo sshd:10.64.8.1 10.64.8.2 >>/etc/hosts.allow



  • master1、master2

1
2
3
4
$ ssh-keygen -t rsa
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave1
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave2
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave3



(4)安装jdk
  • Ambari-server、master1、master2、slave1、slave2、slave3

1
2
$ wget http://download.oracle.com/otn-p ... 8u111-linux-x64.rpm
$ rpm -ivh jdk-8u111-linux-x64.rpm




(5)格式化硬盘
  • Ambari-server、master1、master2、slave1、slave2、slave3

1
2
3
4
$ yes|mkfs.ext4 /dev/sdb
$ mkdir /data
$ mount /dev/sdb /data
$ echo "mount /dev/sdb /data" >>/etc/rc.local




(6)系统参数调优
  • Ambari-server、master1、master2、slave1、slave2、slave3

1
2
3
4
5
6
7
8
9
10
$ cat >>/etc/sysctl.conf <<EOF
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_baklog = 8192
net.ipv4.tcp_max_tw_bukets = 5000
EOF



文件打开数
1
2
3
$ cat >> /etc/security/limits.conf <<EOF
*             soft    nofile          65535*             hard    nofile          65535
EOF



重启

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

(1)添加yum源
  • Ambari-yumrepo

1
2
3
$ cd /opt
$ wget http://public-repo-1.hortonworks ... .4.1.25/ambari.repo
$ cp ambari.repo /etc/yum.repos.d/



wKiom1hzKBbgfyC6AAAkbS43Gkw255.jpg


(2)同步yum源的包
  • Ambari-yumrepo

1
2
3
$ reposync  -r HDP-UTILS-1.1.0.16
$ reposync  -r Updates-ambari-1.4.1.25
$ reposync  -r ambari-1.x



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

(3)发布yum源
  • Ambari-yumrepo

需要一个web服务器来发布,已经安装了nginx,将上面下载包的三个目录移动到nginx发布目录下。
1
2
3
4
5
$ yum install nginx
$ mkdir /usr/share/nginx/html/ambari
$ cp -R ambari-1.x    /usr/share/nginx/html/ambari/
$ cp -R HDP-UTILS-1.1.0.16   /usr/share/nginx/html/ambari/
$ cp -R Updates-ambari-1.4.1.25  /usr/share/nginx/html/ambari/



wKiom1hzKEGDeUApAAAKu8EAeyU921.jpg
spacer.jpg
(4)创建repo
  • Ambari-yumrepo

安装createrepo命令
1
2
3
$ yum install createrepo
$ cd  /usr/share/nginx/html/ambari/
$ createrepo ./



spacer.jpg wKiom1hzKFKzgL8rAAAeX5mbehM634.jpg

(5)添加HDP源
  • Ambari-yumrepo

1
2
3
4
5
6
$ vim /etc/yum.repos.d/HDP.repo
[HDP-2.0.6]
name=HDP
baseurl=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0
enabled=1
gpgcheck=0



spacer.jpg wKioL1hzKGeCsLu0AAAYJ1erbHg248.jpg
1
2
3
4
5
$ mkdir /usr/share/nginx/html/hdp
$ cd /usr/share/nginx/html/hdp
同步网络源的包,1G左右。
$ reposync -r HDP-2.0.6
$ createrepo ./



spacer.jpg wKiom1hzKH7TEoROAAASJE4Lqw0131.jpg
这样就本地yum源就OK了!

(6)配置yum.repo配置文件,放在web目录下。
  • Ambari-yumrepo

注意:这个ambari.repo配置是给其他机器来使用的,不是本机的配置。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ mkdir /usr/share/nginx/html/hadoop
$ cd /usr/share/nginx/html/hadoop
$ vim ambari.repo
[ambari-1.x]
name=Ambari 1.x
baseurl=http://10.10.10.20/ambari/
gpgcheck=0
enabled=1
[HDP-UTILS-1.1.0.16]
name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.16
baseurl=http://10.10.10.20/ambari/
gpgcheck=0
enabled=1
[Updates-ambari-1.4.1.25]
name=ambari-1.4.1.25 - Updates
baseurl=http://10.64.10.20/ambari/
gpgcheck=
enabled=1



1
2
3
4
5
6
7
$ vim hdp.repo
[HDP-2.0.6]
name=HDP
baseurl=http://10.10.10.20/hdp
path=/
enabled=1
gpgcheck=0




三:安装Ambari
(1)添加yum源
  • Ambari-server、master1、master2、slave1、slave2、slave3

1
2
3
$ cd /etc/yum.repos.d/
$ wget http://10.10.10.20/hadoop/ambari.repo   #上面搭建的内网yum源
$ wget http://10.10.10.20/hadoop/hdp.repo      #上面搭建的内网yum源




(2)ambari主机ssh信任hadoop各机器
  • master1、master2、slave1、slave2、slave3

1
$ echo sshd:10.10.10.10  >>/etc/hosts.allow



  • Ambari-server

1
2
3
4
5
6
$ ssh-keygen -t rsa
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@master1
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@master2
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave1
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave2
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave3




(3)安装ambari
  • Ambari-server

1
$ yum -y install ambari-server



wKiom1hzKKnTtNRAAAAaVW2nSXE052.jpg

(4)初始化ambari
  • Ambari-server

下载需要的jdk文件(必须用这个文件)
1
2
3
4
$ wget http://public-repo-1.hortonworks ... -6u31-linux-x64.bin
$ mv jdk-6u31-linux-x64.bin /var/lib/ambari-server/resources/

$ ambari-server setup  #初始化配置



spacer.jpg wKioL1hzKNTgeb-pAAAU2zTexhI052.jpg

(5)启动ambari

  • Ambari-server

1
$ ambari-server start



spacer.jpg wKiom1hzKOXy6RuEAAAYI02hEhs359.jpg

(6)给ambari配置本地的hadoop源
  • Ambari-server

1
2
3
4
5
6
$ cd /var/lib/ambari-server/resources/stacks/HDPLocal/2.0.6/repos/
$ vim repoinfo.xml
将centos6的
<baseurl>http://public-repo-1.hortonworks ... 6.0</baseurl>
替换成
<baseurl>http://10.10.10.20/hdp/centos6/2 ... 6.0</baseurl>




(7)进入ambari
spacer.jpg wKioL1hzKQqg5MNfAAAgTzbpECs805.jpg
  • 输入集群名

spacer.jpg wKioL1hzKRiSJqt1AAA_M92eS9Q810.jpg
  • 选择 stack 版本

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

wKiom1hzKU-w6_TYAAC84mB6QQo631.jpg
  • 会自动安装ambari-agent

spacer.jpg wKiom1hzKW7DkRizAAC8ehqA9sQ500.jpg
  • 选择那个服务安装在哪个机器上。

spacer.jpg wKiom1hzKYTw6fBVAAFA_mTt56A500.jpg
  • 配置客户端和slaves

spacer.jpg wKioL1hzKaSjE3CjAACZLwbp1wQ351.jpg
  • 配置各个系统

wKiom1hzKdTjDjQLAACepuUtLcM514.jpg
  • 开始安装

wKiom1hzKhrx4Ls0AACdSVBu2Qs209.jpg
wKioL1hzKkLzrI2wAABXhtmzp88487.jpg wKiom1hzKnnRQGkDAACG99fnJ0w740.jpg wKiom1hzK0mTlSZfAAJkoVZN3WY729.jpg
通过Ambari部署hadoop集群成功!



部署过程中遇到的问题:
1:执行os_type_check.sh脚本执行失败导致的Local OS is not compatible with cluster primary OS报错,这是一个BUG,可以直接修改该os_type_check.sh,输出正确的结果。

2:ambari没有复制过去正确的hdp源,所以手动将hdp源配置到hadoop的集群
1
2
3
4
5
6
7
$ vim hdp.repo
[HDP-2.0.6]
name=HDP
baseurl=http://10.10.10.20/hdp
path=/
enabled=1
gpgcheck=0



3:nagios输入正确密码和用户名无法登陆,密码文件httpd用户没有权限,设置777后可以正常访问。
-rw-r----- 1 nagios nagios 26 Jun  9 11:54 /etc/nagios/htpasswd.users

4:jourenode无法启动报错
wKiom1hzK5PTSj6TAACApFs5tTI533.jpg
wKioL1hzK5TDMQ-OAACqKINZzxI660.jpg
直接执行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:yum.main:
解决办法:
$ rm -rf /var/lib/rpm/__db.*



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-326531-1-1.html 上篇帖子: Hadoop监控分析工具Dr.Elephant 下篇帖子: centos 64位 hadoop完全分布式安装
累计签到:86 天
连续签到:1 天
发表于 2017-6-30 17:00:49 | 显示全部楼层
还文章继续学习

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表