思路:把HDP所需要的RPM安装包都下载到本地创建一个yum源,后续安装使用本地yum源,可以内网操作速度更快
3.1、安装Apache
安装Apache
sudo yum -y install httpd
将Apache设置为开机启动
sudo systemctl enable httpd
启动Apache
sudo systemctl start httpd
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
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
#使用自带jdk
2
#输入JAVA_HOME
/usr/local/jdk
#安装GPL
y
#数据库配置
y
#选择MySQL & 一路回车(mysql安装在本机,前面设置的数据库账户ambari和密码bigdata)
3
#输入驱动路径
/usr/share/java/mysql-connector-java-8.0.18.jar
远程连接
y
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访问
账户: 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、启动安装向导
2、集群名命名 - dmp_cluster(数据中台) 点击 next
选择 HDP3.1.4.0,因为我们下载的就是这个版本的安装包,已经构建自本地 yum仓库,然后要选择”Use Local Repository“
只保留"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/
注册主机
上面的私钥要拷贝完整,一点也不能少,最后一行也不要换行
开始注册主机 installing
主机注册成功 success
如果报错则查看主机host文件 删除不必要的配置
主机在注册过程中会去各节点检查环境是否有问题,我么可以点击上图的”Click here to see thewarnings“去查看
查看issue 时间同步问题
暂时不处理
选择要安装的服务
Amabri管大数据的各个组件叫做 Service,在这一步要选择同时安装的服务,当然我们也可以先不选后面再选。在这里我们选择安装下 Hadoop相关的服务,其余的服务就取消掉对话框的对勾(它默认选了一堆,一定要去掉,好多用不到),如下图所示:
在这里要特别注意,在 Ambari里 Hadoop被当做多个服务例如 HDFS、YARN等,如果你选择
的服务依赖于其他服务他会提示的,你点击确认后会自动勾选,然后下一步即可
分配 Mater服务安装到哪些主机
接下来 Ambari会让你选择 Master服务要安装到哪些主机,所谓 Master服务,是指的各个服务的 Master服务,例如 HDFS的 Master服务就是namenode,因为我们就一个节点,所以保持不动直接下一步:
分配 Slave服务和 Client安装到哪些主机
自定义 Service
这里要注意,随着前面你选的 Service的不同,这里也会不同,点击”next“会让你确认一些服务的目录,我们先保持默认,直接”next“,如下图:
然后是确认各个 service运行在操作系统的哪个用户下,我们也保持默认,如下图:
点击下一步,会让我们确认其他的配置,我们保持默认直接点 NEXT:
注意,这里随着你前面选择的 service的不同会有很大差异,比如你要选择了 Hive,它一定会要你输入 MySQL相关信息,所以不要死记硬背。
如果 ADVANCED爆红,说 ssl.client.keystore.password密码不匹配,这里面默认设置密码为 admin即可。
Review
在 Review环节我们要仔细检查之前的配置,没有问题就点击”DEPLOY“正式开始部署了,如下图所示:
配置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
ambari-02 ambari-03 安装Java
步骤如上
纳入ambari管理
将节点ambari-02 ambari-03 纳入到ambari-01管理
配置主机名、私钥等信息
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
ri管理**
将节点ambari-02 ambari-03 纳入到ambari-01管理
配置主机名、私钥等信息
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-ErXFFR7b-1715665743691)]
[外链图片转存中…(img-NMCDHiWx-1715665743692)]
[外链图片转存中…(img-1Y4H4o0n-1715665743692)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!