前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker-9:使用ambari-2.7.3部署大数据集群—两节点demo

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

作者头像
千里行走
发布2020-11-12 17:12:08
1.7K0
发布2020-11-12 17:12:08
举报
文章被收录于专栏:千里行走

目录:

(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节点,如果添加会报错:

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 千里行走 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档