编程知识 cdmana.com

docker-9:使用ambari-2.7.3部署大数据集群—两节点demo

目录:

(1).docker部署ambari

(2).配置SSH免密登陆

(3).配置ambari基础repo

(4).辅助repo配置

(5).创建集群

(6).资源耗费

附录1.ambari相关的yum repo

附录2.参考文章

(1).docker部署ambari

git clone https://github.com/hepyu/docker-ambari-2.7.git

(我fork自:git clone https://github.com/cuongvomanh/docker-ambari-2.7.git,做了一点更改,也做个人备案)

cd docker-ambari-2.7

下载镜像用的yum源文件:

cd ambari-base-local

wget -O local.repo http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3.0/ambari.repo

cd ambari-server-local

wget -O local.repo http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3.0/ambari.repo

制作镜像:时间有点长,稍等。

./scripts/build-image.sh

git工程下有一个文件nohup-image.out是笔者一次的image-build记录。

本地启动:

./scripts/create-local.sh

docker ps查看容器:

获得web ip:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' amb-server

浏览器访问:你需要配置ecs的安全组开发8088端口

http://ecs-ip:8088/

通过下述命令获取3个节点的ip进行集群部署:

docker inspect 容器id | grep -i ip

三个节点IP是:

172.17.0.4--容器id(7153911bede2)--ambari-base-local

172.17.0.3--器id(673bdc7ecffb)--ambari-base-local

172.17.0.2--器id(7e8902bae9a2)--ambari-server-local

(2).配置SSH免密登陆

对这3台机器进行免密设置:172.17.0.7,172.17.0.6,172.17.0.2

1.首先root权限下分别对3台虚拟机进行修改

修改的命令如下:

sudo hostnamectl set-hostname node1

我这里是把3台主机名分别修改为node1、node,实际部署时只会全部部署到一个docker(节约资源)。

172.17.0.4--容器id(7153911bede2)--ambari-base-local::node1

172.17.0.3--器id(673bdc7ecffb)--ambari-base-local::node2

172.17.0.2--器id(7e8902bae9a2)--ambari-server-local::node3

修改完成后可以用指令 hostname 查询当前主机名确认修改成功。

2.分别在3台虚拟机上编辑 /etc/hosts 文件,添加IP和主机名

(每一台都要加这三行,别忘了加自己)

172.17.0.4 node1

172.17.0.3 node2

172.17.0.2 node3

这里的目的是实现3台虚拟机之间的互联,并且缩短了它们在连接时解析主机名的时间。

同时要注释掉:

#172.17.0.3 amb1.service.consul amb1

#172.17.0.4 amb2.service.consul amb2

3.生成密钥

首先分别在这3个节点执行指令:ssh-keygen ,然后一直按回车键直到结束。此时你可以发现在 /root/.ssh/ 文件夹下生成了id_rsa(私钥) 、 id_rsa.pub (公钥),这是生成的秘钥对。

4.公钥分享

同步公钥到所有节点需要输入root的密码,3个节点都设置root密码为123456

sudo passwd

把自己的公钥发送给其它节点,包括自己。指令如下:

ssh-copy-id node1

ssh-copy-id node2

ssh-copy-id node3

(3).配置ambari基础repo

从如下地址找到hdp3.1.4的yum repo地址

http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json

hdp-3.1.4的yum repo地址:

http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.1.4.0/HDP-3.1.4.0-315.xml

打开可以看到hdp, hdp-gpl, hdp-utils的repo:

(4).辅助repo配置

1.Timeline Service V1.5需要配置repo

否则报错:

Error: Package: hadoop_3_1_4_0_315-3.1.1.3.1.4.0-315.x86_64 (HDP-3.1-repo-1)

Requires: psmisc

Error: Package: hadoop_3_1_4_0_315-hdfs-3.1.1.3.1.4.0-315.x86_64 (HDP-3.1-repo-1)

Requires: libtirpc-devel

Error: Package: hadoop_3_1_4_0_315-3.1.1.3.1.4.0-315.x86_64 (HDP-3.1-repo-1)

Requires: nc

Error: Package: hadoop_3_1_4_0_315-3.1.1.3.1.4.0-315.x86_64 (HDP-3.1-repo-1)

Requires: redhat-lsb

配置repo:

进入ambari的docker容器节点,

cd /etc/yum.repos.d/

cp backup_repo/CentOS-Base.repo .

(5).创建集群

开始创建集群,点击:LAUNCH INSTALL WIZARD

下一步需要输入ambari-server所在机器的私钥,这样ambari-server才能把组件部署到其他节点:

只能添加node1, node2

因为node3是ambari-server节点,如果添加会报错:

Ambari agent machine hostname (amb-server.service.consul) does not match expected ambari server hostname (node3). Aborting registration. Please check hostname, hostname -f and /etc/hosts file to confirm your hostname is setup correctly

进入组件选择页面,我按需选择如下组件:

HDFS:3.1.1

YARN + MapReduce2:3.1.1

Tez:0.9.1,Tez管理所有的离线jar包

Hive:3.1.0

HBase:2.0.2

ZooKeeper:3.4.6

Kafka:2.0.0

SmartSense:1.5.1.2.7.3.0-139

Ambari Metrics:0.1.0

密码都是:La123456

(6).耗费资源

我个人有一台8核32G的阿里云ECS,部署完本文的2节点集群后的资源情况:

虽然我还装了k8s和istio,但是大数据必然是占大头:

附录1.ambari相关的yum repo

hdp不同版本的yum仓库的url地址:

http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json

hdp3.1.4的yum仓库的url地址:

http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.1.4.0/HDP-3.1.4.0-315.xml

附录2.参考文章

1.制作Ambari本地yum源

https://www.jianshu.com/p/3597bf155e99

2.Ambari搭建Hadoop集群之配置SSH免密登录

https://blog.csdn.net/qq_28757391/article/details/82724919

3.Apache Ambari Installation

https://docs.cloudera.com/HDPDocuments/Ambari-2.7.4.0/bk_ambari-installation/content/hdp_314_repositories.html

本文分享自微信公众号 - 千里行走(a_thousands_of_miles) ,作者:千里行走

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间: 2020-11-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

版权声明
本文为[千里行走]所创,转载请带上原文链接,感谢
https://cloud.tencent.com/developer/article/1747121

Scroll to Top