阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

160次阅读
没有评论

共计 9053 个字符,预计需要花费 23 分钟才能阅读完成。

规划

OS:CentOS 6.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  内网 

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

准备工作

(1)修改主机名

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

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

$ setenforce 0
$ service iptables stop
$ chkconfig iptables off

(3)主从节点 ssh 互信

  • slave1、slave2、slave3

echo sshd:10.64.8.1 10.64.8.2 >>/etc/hosts.allow
  • master1、master2

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

$ wget http://download.Oracle.com/otn-pub/Java/jdk/8u111-b14/jdk-8u111-linux-x64.rpm
$ rpm -ivh jdk-8u111-linux-x64.rpm 

(5)格式化硬盘

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

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

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

文件打开数

cat >> /etc/security/limits.conf <<EOF
*             soft    nofile          65535*             hard    nofile          65535
EOF

重启

二:搭建内网 yum 源

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

(1)添加 yum 源

  • Ambari-yumrepo

cd /opt
$ wget http://public-repo-1.hortonworks.com/ambari/centos6/1.x/updates/1.4.1.25/ambari.repo
cp ambari.repo /etc/yum.repos.d/

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

(2)同步 yum 源的包

  • Ambari-yumrepo

$ 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 发布目录下。

$ 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/

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

(4)创建 repo

  • Ambari-yumrepo

安装 createrepo 命令

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

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

(5)添加 HDP 源

  • Ambari-yumrepo

$ 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

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

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

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

这样就本地 yum 源就 OK 了!

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

  • Ambari-yumrepo

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

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
 
 
$ vim hdp.repo
[HDP-2.0.6]
name=HDP
baseurl=http://10.10.10.20/hdp
path=/
enabled=1
gpgcheck=0 

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2017-03/142136p2.htm

三:安装 Ambari

(1)添加 yum 源

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

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

echo sshd:10.10.10.10  >>/etc/hosts.allow
  • Ambari-server

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

$ yum -y install ambari-server

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

(4)初始化 ambari

  • Ambari-server

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

$ wget http://public-repo-1.hortonworks.com/ARTIFACTS/jdk-6u31-linux-x64.bin
mv jdk-6u31-linux-x64.bin /var/lib/ambari-server/resources/
  
$ ambari-server setup  # 初始化配置

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

(5)启动 ambari

  • Ambari-server

$ ambari-server start

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

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

  • Ambari-server

cd /var/lib/ambari-server/resources/stacks/HDPLocal/2.0.6/repos/
$ vim repoinfo.xml
将 CentOS6 的
<baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
替换成
<baseurl>http://10.10.10.20/hdp/centos6/2.x/updates/2.0.6.0</baseurl>

(7)进入 ambari

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

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

  • 输入集群名

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

  • 选择 stack 版本

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

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

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

  • 会自动安装 ambari-agent

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

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

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

  • 配置客户端和 slaves

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

  • 配置各个系统

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

  • 开始安装

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

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

通过 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 的集群

$ 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 无法启动报错

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

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

直接执行 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.*

更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-03/142136.htm

规划

OS:CentOS 6.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  内网 

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

准备工作

(1)修改主机名

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

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

$ setenforce 0
$ service iptables stop
$ chkconfig iptables off

(3)主从节点 ssh 互信

  • slave1、slave2、slave3

echo sshd:10.64.8.1 10.64.8.2 >>/etc/hosts.allow
  • master1、master2

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

$ wget http://download.Oracle.com/otn-pub/Java/jdk/8u111-b14/jdk-8u111-linux-x64.rpm
$ rpm -ivh jdk-8u111-linux-x64.rpm 

(5)格式化硬盘

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

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

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

文件打开数

cat >> /etc/security/limits.conf <<EOF
*             soft    nofile          65535*             hard    nofile          65535
EOF

重启

二:搭建内网 yum 源

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

(1)添加 yum 源

  • Ambari-yumrepo

cd /opt
$ wget http://public-repo-1.hortonworks.com/ambari/centos6/1.x/updates/1.4.1.25/ambari.repo
cp ambari.repo /etc/yum.repos.d/

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

(2)同步 yum 源的包

  • Ambari-yumrepo

$ 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 发布目录下。

$ 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/

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

(4)创建 repo

  • Ambari-yumrepo

安装 createrepo 命令

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

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

(5)添加 HDP 源

  • Ambari-yumrepo

$ 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

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

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

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

这样就本地 yum 源就 OK 了!

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

  • Ambari-yumrepo

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

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
 
 
$ vim hdp.repo
[HDP-2.0.6]
name=HDP
baseurl=http://10.10.10.20/hdp
path=/
enabled=1
gpgcheck=0 

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2017-03/142136p2.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计9053字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中