Ambari集群部署全流程

在配置文件末尾加上如下配置

export JAVA_HOME=/usr/local/jdk

export JRE_HOME={JAVA_HOME}/lib/:JREH​OME/libexportPATH={JAVA_HOME}/bin:$PATH

使环境变量生效

source /etc/profile

image-20210219134957133.png

查看java版本

java -version

image-20210219135258591.png

3、准备本地yum源


思路:把HDP所需要的RPM安装包都下载到本地创建一个yum源,后续安装使用本地yum源,可以内网操作速度更快

3.1、安装Apache

安装Apache

sudo yum -y install httpd

将Apache设置为开机启动

sudo systemctl enable httpd

启动Apache

sudo systemctl start httpd

测试访问 http://192.168.186.164

image-20210219140033970.png

3.2 HDP安装部署到apache

通过FTP上传RPM安装包到服务器上

移动安装包到 /var/www/html/目录下

sudo mv ambari-2.7.4.0-centos7.tar.gz /var/www/html/

sudo mv HDP-3.1.4.0-centos7-rpm.tar.gz /var/www/html/

sudo mv HDP-GPL-3.1.4.0-centos7-gpl.tar.gz /var/www/html/

sudo mv HDP-UTILS-1.1.0.22-centos7.tar.gz /var/www/html/

解压缩

sudo tar -zxvf ambari-2.7.4.0-centos7.tar.gz

sudo tar -zxvf HDP-3.1.4.0-centos7-rpm.tar.gz

sudo tar -zxvf HDP-GPL-3.1.4.0-centos7-gpl.tar.gz

sudo tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz

移除压缩包

sudo rm -rf ambari-2.7.4.0-centos7.tar.gz

sudo rm -rf HDP-3.1.4.0-centos7-rpm.tar.gz

sudo rm -rf HDP-GPL-3.1.4.0-centos7-gpl.tar.gz

sudo rm -rf HDP-UTILS-1.1.0.22-centos7.tar.gz

更改目录权限

sudo chmod -R ugo+rX /var/www/html/

3.3 配置本地yum源

#进入如下目录

cd /etc/yum.repos.d/

#创建ambari.repo文件 & 写入如下# #包括的内容

sudo vi ambari.repo

#仓库名字

[ambari-repo]

#yum 源描述

name=ambari

#指向yum源地址

baseurl=http://ambari-01/ambari/centos7/2.7.4.0-118/

#关闭下载RPM的jpg校验

gpgcheck=0

#组可用

enabled=1

#查看yum源配置是否生效 & 看到红框内容则成功

yum repolist

image-20210219144741224.png

4 安装MySQL


#安装mysql的yum仓库

sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

rpm -ivh mysql57-community-release-el7-9.noarch.rpm

#安装mysql(必须进入到 /etc/yum.repos.d/目录后再执行以下脚本)

yum install mysql-server

#设置开机启动

sudo systemctl enable mysqld

#启动MySQL

sudo systemctl start mysqld

#查看MySQL的启动状态

sudo systemctl status mysqld

#查看root临时密码(临时密码每次都是随机生成的) (&fZPOuLl19i

sudo grep ‘temporary password’ /var/log/mysqld.log

#使用临时密码登录

mysql -uroot -p

MySQL常用密码参数

set global validate_password_policy=0;

set global validate_password_mixed_case_count=0;

set global validate_password_number_count=3;

set global validate_password_special_char_count=0;

set global validate_password_length=3;

修改密码(‘root’@‘%’ – 允许远程连接)

GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘PWD@123456’ WITH GRANT OPTION;

ALTER USER ‘root’@‘%’ IDENTIFIED BY ‘PWD@123456’;

退出MySQL

Exit

上传驱动包mysql-connector-java-8.0.18.jar 到服务器/usr/share/java目录

sudo mkdir -p /usr/share/java

5、部署AmbariServer


5.1 安装AmbariServer

sudo yum -y install ambari-server

5.2 创建AmbariServer的数据库资源

#登录MySQL

mysql -uroot -pPWD@123456

#执行如下命令 创建ambari用户并授权

set global validate_password_policy=0;

set global validate_password_mixed_case_count=0;

set global validate_password_number_count=3;

set global validate_password_special_char_count=0;

set global validate_password_length=3;

create database ambari;

CREATE USER ‘ambari’@‘%’ IDENTIFIED BY ‘bigdata’;

GRANT ALL ON ambari.* TO ‘ambari’@‘%’;

FLUSH PRIVILEGES;

#执行脚本

use ambari;

source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;

#退出

exit;

5.3 配置AmbariServer

#配置

sudo ambari-server setup

#使用默认账户 root 输入 n Customize user account for ambari-server daemon y/n?

n

image-20210219164235288.png

#使用自带jdk

2

#输入JAVA_HOME

/usr/local/jdk

image-20210219164337878.png

#安装GPL

y

image-20210219164641189.png

#数据库配置

y

#选择MySQL & 一路回车(mysql安装在本机,前面设置的数据库账户ambari和密码bigdata)

3

#输入驱动路径

/usr/share/java/mysql-connector-java-8.0.18.jar

远程连接

y

image-20210219165112001.png

6、Ambari部署核心技术组件


6.1 启动Ambari

#启动AmbariServer

sudo ambari-server start

如果出现错误,一定要查看日志:vi /var/log/ambari-server/ambari-server.log

遇到的错误:不能启动服务“REASON: Server not yet listening on http port 8080 after 50 seconds.Exiting.”

原因:由于本地的公网 ip改变或者不稳定导致的链接不上。

解决:修改/etc/hosts,将 hostname公网 IP映射改为内网映射。

浏览器webui访问

http://192.168.186.164:8080/

账户: admin

密码: admin

**常见问题:**Ambari启动正常,没有错误日志,但是通过http://192.168.186.164:8080/无法访问Ambari。

原因:

1.防火墙没有关闭(查看防火墙:sudo systemctl status firewalld)

2.云服务8080端口没有对外开放

解决:

1.关闭防火墙:sudo systemctl stop firewalld

2.开放服务器8080端口

6.2 集群部署

1、启动安装向导

image-20210219170423471.png

2、集群名命名 - dmp_cluster(数据中台) 点击 next

image-20210219170454996.png

选择 HDP3.1.4.0,因为我们下载的就是这个版本的安装包,已经构建自本地 yum仓库,然后要选择”Use Local Repository“

image-20210219170945849.png

只保留"readhat7"的仓库,接下来要把直接部署 yum本地仓库的地址填进去,同时不要勾选下面的两个高级选项

各个仓库的地址参考下表

http://ambari-01/HDP/centos7/3.1.4.0-315/

http://ambari-01/HDP-GPL/centos7/3.1.4.0-315/

http://ambari-01/HDP-UTILS/centos7/1.1.0.22/

image-20210219171343963.png

注册主机

上面的私钥要拷贝完整,一点也不能少,最后一行也不要换行

image-20210219172335817.png

开始注册主机 installing

主机注册成功 success

如果报错则查看主机host文件 删除不必要的配置

image-20210219172637457.png

主机在注册过程中会去各节点检查环境是否有问题,我么可以点击上图的”Click here to see thewarnings“去查看

image-20210219172718900.png

查看issue 时间同步问题

暂时不处理

image-20210219172826703.png

选择要安装的服务

Amabri管大数据的各个组件叫做 Service,在这一步要选择同时安装的服务,当然我们也可以先不选后面再选。在这里我们选择安装下 Hadoop相关的服务,其余的服务就取消掉对话框的对勾(它默认选了一堆,一定要去掉,好多用不到),如下图所示:

在这里要特别注意,在 Ambari里 Hadoop被当做多个服务例如 HDFS、YARN等,如果你选择

的服务依赖于其他服务他会提示的,你点击确认后会自动勾选,然后下一步即可

image-20210219173311405.png

分配 Mater服务安装到哪些主机

接下来 Ambari会让你选择 Master服务要安装到哪些主机,所谓 Master服务,是指的各个服务的 Master服务,例如 HDFS的 Master服务就是namenode,因为我们就一个节点,所以保持不动直接下一步:

image-20210219173732587.png

分配 Slave服务和 Client安装到哪些主机

image-20210219173930836.png

自定义 Service

image-20210219174100522.png

这里要注意,随着前面你选的 Service的不同,这里也会不同,点击”next“会让你确认一些服务的目录,我们先保持默认,直接”next“,如下图:

image-20210219174150528.png

然后是确认各个 service运行在操作系统的哪个用户下,我们也保持默认,如下图:

image-20210219174150528.png

点击下一步,会让我们确认其他的配置,我们保持默认直接点 NEXT:

注意,这里随着你前面选择的 service的不同会有很大差异,比如你要选择了 Hive,它一定会要你输入 MySQL相关信息,所以不要死记硬背。

如果 ADVANCED爆红,说 ssl.client.keystore.password密码不匹配,这里面默认设置密码为 admin即可。

image-20210219174253019.png

Review

在 Review环节我们要仔细检查之前的配置,没有问题就点击”DEPLOY“正式开始部署了,如下图所示:

image-20210219174434252.png

配置ambari-01 ambari-02 ambari-03

添加hadoop 用户 赋予sudo权限

# 配置hostname

# 关闭SELinux、关闭防火墙

# 生成私钥公钥

# 配置免密登录 我们所谓的免密就是拿集群中的一台机器作为管理节点,然后让他可以 ssh免密码到其他节 点执行命令,这对我们维护一个多节点的集群非常有意义。我们当然以 ambari-01为管理节点, 所以要实现 ambari-01到其他节点的免密。 拿到 ambari-01的公钥: 把 ambari-01的公钥添加到 ambari02和 ambari-03的~/.ssh/authorized_keys文件中 然后 ambari-01到 ambari-02、ambari-03分别连接一次: ssh ambari-02 ssh ambari-03 如果第一次需要输入 yes第二次不需要则 ssh免密就做好了,注意我们只做了 ambari-01到其他节点的 ssh免密。

时钟同步 安装Chrony

ambari-01 Chrony Server

ambari-02 Chrony Client

ambari-03 Chrony Client

安装 chrony

安装 chrony

sudo yum -y install chrony

1、服务状态:

#启动chrony服务

systemctl start chronyd.service

#设置开机同步时间

systemctl enable chronyd.service

#查看服务状态

systemctl status chronyd.service

#直接关闭防火墙

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

#不关闭防火墙、但允许NTP服务

#因NTP使用123/UDP端口协议,所以允许NTP服务即可

firewall-cmd --add-service=ntp --permanent

firewall-cmd --reload

1、服务端配置

#配置文件修改

vi /etc/chrony.conf

#注释掉以下四行(避免去外部 chrony-server同步时间)

server 0.centos.pool.ntp.org iburst

server 1.centos.pool.ntp.org iburst

server 2.centos.pool.ntp.org iburst

server 3.centos.pool.ntp.org iburst

#新增配置 指定chrony-server为 ambari-01

server 127.127.1.1 iburst

#Allow NTP client access from local network,配置允许访问的客户端列表,支持CIDR,例如:

allow 192.168.0.0/16

#Serve time even if not synchronized to any NTP server.,打开注释即可,即:

local stratum 10

#重启下服务端chrony服务

systemctl restart chronyd.service

2、客户端配置

#配置文件修改

vim /etc/chrony.conf

#修改server即可,删掉其他的,添加要同步时间的源服务器ip,格式如下:server ambari-01 iburst

server x.x.x.x iburst

#重启下客户端chrony服务

systemctl restart chronyd.service

#客户端使用

chronyc sources -v

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
2、客户端配置

#配置文件修改

vim /etc/chrony.conf

#修改server即可,删掉其他的,添加要同步时间的源服务器ip,格式如下:server ambari-01 iburst

server x.x.x.x iburst

#重启下客户端chrony服务

systemctl restart chronyd.service

#客户端使用

chronyc sources -v

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-WoIrgF0s-1715665775060)]

[外链图片转存中…(img-emRLAiTz-1715665775061)]

[外链图片转存中…(img-ppsXbpor-1715665775061)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值