Ambari集群部署全流程

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Ambari集群部署全流程

Apache Ambari是一个基于Web的支持Apache Hadoop集群的供应、管理和监控的开源工具,Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等。提供Web UI进行可视化的集群管理,简化了大数据平台的安装、使用难度。


服务器资源目录

image.png

1.2 赋予hadoop用户sudo权限

编辑 etc/sudoers文件

visudoimage.pngimage.pngimage.pngimage.pngimage.pngimage.png3.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.png4 安装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.pngimage.pngimage.png6、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.pngimage.pngimage.pngimage.pngimage.pngimage.png选择要安装的服务

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

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

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

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

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

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

image.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

image.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png

目录
相关文章
|
Hadoop
使用ambari快速部署Hadoop集群
Ambari 自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。我们可以通过 Ambari Server 通知 Ambari Agent 安装对应的软件;甚至连Ambari Agent我们都可以在Web界面上来进行安装和部署。
3403 0
使用ambari快速部署Hadoop集群
|
9月前
|
存储 Kubernetes Docker
使用sealos快速搭建K8s集群环境
使用sealos快速搭建K8s集群环境
393 2
|
机器学习/深度学习 分布式计算 Hadoop
搭建高可用Hadoop集群
搭建高可用Hadoop集群
|
存储 Kubernetes 网络协议
k8s集群环境的搭建(二)
k8s集群环境的搭建
302 0
k8s集群环境的搭建(二)
|
canal Kubernetes 应用服务中间件
k8s集群环境的搭建(三)
k8s集群环境的搭建
573 0
k8s集群环境的搭建(三)
|
Kubernetes 安全 网络协议
k8s集群环境的搭建(一)
k8s集群环境的搭建
565 0
k8s集群环境的搭建(一)
|
SQL 存储 关系型数据库
mysql集群搭建部署
应用场景 数据存储在mysql中,单节点存储如果数据量十分大,数据就很可能存不下。因此我们需要搭建部署mysql的集群模式,增加数据的存储量,而且提到数据库访问的并发。
2686 0
|
XML 存储 安全
使用阿里云云上学习实践服务器搭建Zookeeper集群
大三在读软件工程菜鸡一枚,尝试一下搭建zookeeper集群,为项目组的liteFlow工作流框架添加云端流程存储途径。正好在之前使用的阿里云控制台里面看到一个“飞天加速计划·高校学生在家实践”的活动,就试了一下,发现确实很好用。 文章介绍了如何安装数据库以及配置数据库远程连接、安装java jdk环境以及配置环境变量、以及搭建伪分布式Zookeeper集群,并在搭建中启动Zookeeper服务形成伪分布式Zookeeper集群。最后还要完成上传流程xml文件到远端Zookeeper集群,然后尝试使用路径完成集群中流程xml文件的读取。因为Zookeeper天然支持配置变更和通知管理,确实不错
使用阿里云云上学习实践服务器搭建Zookeeper集群
|
Kubernetes Cloud Native 网络协议
erda 开源产品纳管自建k8s集群(一)
Erda 是新一代数字化云原生 PaaS 平台,其核心包含三大模块:应用(微服务)研发治理平台、快数据治理平台和混合云管理平台。是基于 K8s 的应用开发管理平台,而并非一个 K8s 发行版本,也不是一个 K8s 管理平台。
|
存储 Kubernetes Cloud Native
erda 开源产品纳管自建k8s集群(二)
Erda 是新一代数字化云原生 PaaS 平台,其核心包含三大模块:应用(微服务)研发治理平台、快数据治理平台和混合云管理平台。是基于 K8s 的应用开发管理平台,而并非一个 K8s 发行版本,也不是一个 K8s 管理平台。