专栏首页千里行走docker-9:使用ambari-2.7.3部署大数据集群—两节点demo

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Ambari?自动部署Hadoop集群

    Ambari 跟 Hadoop 等开源软件一样,也是 Apache Software Foundation 中的一个项目,并且是顶级项目。就 Ambari 的作...

    叁金
  • 分享一下我对 ambari 二次开发的一些理解~

    安装过 hadoop 集群的人都应该清楚,hadoop 生态从安装、配置到后期运维是一个非常艰辛的过程,一般来说安装 hadoop 可能就需要几天时间,运维一个...

    create17
  • 基于腾讯云对象存储跑hadoop任务实战一

    公司在腾讯云有一个大数据集群,用hdp的ambari部署管理的,hdp面有hadoop、hive、spark等常用的大数据组件,公司的报表都从这里...

    用户1311276
  • 博主好贴心,为已有的 ambari 集群修改主机名~

    时不时就有小伙伴微信里面问我有没有做过,为已有的 ambari 集群修改主机名?之前是有修改过 ip 的,主机名还真没修改过,只能给他提供一份官方的步骤:

    create17
  • Ambari2.6安装部署Hadoop2.7

    Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、...

    三杯水Plus
  • OushuDB入门(一)——安装篇

    OushuDB是由Apache HAWQ创始团队基于HAWQ打造的新一代数据仓库(New Data Warehouse...

    用户1148526
  • 如何在Centos7.2安装HDP2.6

    5.集群完整性检查,包括 HDFS 文件系统、MapReduce、Hive 等是否可以正常运行。

    Fayson
  • Ambari在离线环境中安装Hadoop集群 顶

    如果手工安装Hadoop集群,在管理和后继部署中,越来越多的问题不断出现,主要如下:

    白石
  • HAWQ技术解析(二) —— 安装部署

    一、安装规划 1. 选择安装介质         HAWQ的安装介质有两种选择,一是下载源码手工编译,二是使用Pivotal公司提供的HDB安装包。源码的下载地...

    用户1148526

扫码关注云+社区

领取腾讯云代金券