安装Ambari集群

news/2025/10/7 23:31:36/文章来源:https://www.cnblogs.com/leo130-blogs/p/19129023

1、前置要求

系统环境

系统:4 * Rocky Linux9.6-x86_64-minim

内存:12GB (12288MB)
CPU:6 虚拟核
存储:150G

组件:
①Apache Ambari 3.0.0
②Apache Bigtop 3.3.0

对应的下载链接:
Rocky Linux:
https://rockylinux.org/zh-CN/download

Apache Ambari:
https://apache-ambari.com/dist/ambari/3.0.0/rocky9/

Apache Bigtop
https://apache-ambari.com/dist/bigtop/3.3.0/rocky9/

服务器参数设置

用户:hadoop
主机名称:hadoop-app、hadoop-node1、hadoop-node2、hadoop-node3

# 修改当前主机名称
sudo hostnamectl set-hostname {hadoop-node1}

设置hosts

# 安装nano或其他文本编辑器后,以sudo打开/etc/hosts进行编辑
sudo nano /etc/hosts# 在文件追加如下文本
# Hadoop cluster host configuration
192.168.122.10 hadoop-master
192.168.122.11 hadoop-node1
192.168.122.12 hadoop-node2
192.168.122.13 hadoop-node3# 或直接执行下面的命令
echo "# Hadoop cluster host configuration
192.168.122.10 hadoop-master
192.168.122.11 hadoop-node1
192.168.122.12 hadoop-node2
192.168.122.13 hadoop-node3" | sudo tee -a /etc/hosts > /dev/null# 关闭内存交换
sudo nano /etc/fstab
# comment them out 
# dev/mapper/rl-swap     none                    swap    defaults        0 0

配置安全设置(开发模式)


#关闭防火墙和selinux# Disable and stop firewalld
systemctl disable firewalld
systemctl stop firewalld# Temporarily disable SELinux
setenforce 0# Permanently disable SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

配置SSH免密连接

# Login as root on the server machine
sudo su -# Generate SSH key if not exists
if [ ! -f ~/.ssh/id_rsa ]; thenssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
fi
# 在全部的节点上进行下面的配置
# Edit sshd_config
vi /etc/ssh/sshd_config# Ensure these lines are set
PasswordAuthentication yes
PermitRootLogin yes# Restart SSH service
systemctl restart sshd# 在server上尝试如下操作ssh-copy-id -o StrictHostKeyChecking=no root@hadoop-app
ssh-copy-id -o StrictHostKeyChecking=no root@hadoop-node1
ssh-copy-id -o StrictHostKeyChecking=no root@hadoop-node2
ssh-copy-id -o StrictHostKeyChecking=no root@hadoop-node3

基本依赖包下载与仓库配置

在全部的节点上进行如下的操作:

# Update package lists and upgrade packages
dnf update -y# Install basic utilities
dnf install -y sudo openssh-server openssh-clients which iproute net-tools less vim-enhanced
dnf install -y wget curl tar unzip git# Edit the Rocky-Devel repository configuration
vi /etc/yum.repos.d/rocky-devel.repo # There are two possible scenarios:
# 1. If all lines are commented (start with #), uncomment all lines
# 2. If you see "enabled=0", change it to "enabled=1"
# 通常是第二步,启用第一个库
# After editing, verify the repository is enabled
dnf repolist | grep devel# Install OpenJDK 8
dnf install -y java-1.8.0-openjdk-devel# Verify Java installation
java -version# Install chrony (NTP implementation)
dnf install -y chrony# Start and enable chronyd service
systemctl start chronyd
systemctl enable chronyd# Verify time synchronization
chronyc sources

2、创建本地仓库

该仓库不同于docker的repository,而是nigix实现的web端的文件系统。

接下的一系列操作主要在:hadoop-app的机器上进行

具体创建步骤如下:

# 1、安装createrepo包
sudo dnf install createrepo -y# 2、创建本地仓库路径并赋予该文件目录权限
sudo mkdir -p /var/www/html/ambari-repo
sudo chmod -R 755 /var/www/html/ambari-repo# 3、下载RPM的包
# For Rocky Linux 9:
cd /var/www/html/ambari-repo
wget -r -np -nH --cut-dirs=4 --reject 'index.html*' https://www.apache-ambari.com/dist/ambari/3.0.0/rocky9/
wget -r -np -nH --cut-dirs=4 --reject 'index.html*' https://www.apache-ambari.com/dist/bigtop/3.3.0/rocky9/# 4、创建仓库的元数据
cd /var/www/html/ambari-repo
sudo createrepo .# 5、创建本地repository的配置文件
# 该步骤需要在每个节点上运行一遍
# For Rocky Linux 9:sudo tee /etc/yum.repos.d/ambari.repo << EOF
[ambari]
name=Ambari Repository
baseurl=http://hadoop-app/ambari-repo
gpgcheck=0
enabled=1
EOF# 6、清理和更新yum缓存
sudo dnf clean all
sudo dnf makecache

3、使用nigix发布本地仓库

此步在hadoop-app上进行:

sudo dnf install nginx -y#  配置仓库
sudo tee /etc/nginx/conf.d/ambari-repo.conf << EOF
server {listen 80;server_name _;root /var/www/html/;autoindex on;location / {try_files \$uri \$uri/ =404;}
}
EOF# 启用仓库
sudo systemctl start nginx
sudo systemctl enable nginx# 测试是否正确运行 
curl -XGET http://hadoop-app/#输出如下,则为正常:
<html>
<head><title>Index of /</title></head>
<body>
<h1>Index of /</h1><hr><pre><a href="../">../</a>
<a href="ambari-repo/">ambari-repo/</a>                                       22-Sep-2025 02:20                   -
</pre><hr></body>
</html>

4、安装ambari

安装ambari的基本依赖和服务\客户端

在所有节点上运行如下操作:

yum install -y python3-distro
yum install -y java-17-openjdk-devel
yum install -y java-1.8.0-openjdk-devel
yum install -y ambari-agent

在hadoop-app运行如下操作:

yum install -y python3-psycopg2
yum install -y ambari-server

安装MYSQL作为后端数据库

yum -y install https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpmyum -y install mysql-server
systemctl start mysqld.service
systemctl enable mysqld.service#在mysql的日志中找到临时密码
cat /var/log/mysqld.log | grep 'temporary password'
2025-09-22T03:39:48.418689Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: e(Rndh=DX6)6# 使用mysql shell或是其他数据库工具初始化数据库
修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '***';
FLUSH PRIVILEGES;

初始化数据库
创建用户和模式

-- Create Ambari user and grant privileges
CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';-- Create required databases
CREATE DATABASE ambari CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE hive;
CREATE DATABASE ranger;
CREATE DATABASE rangerkms;-- Create service users
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%';CREATE USER 'ranger'@'%' IDENTIFIED BY 'ranger';
GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'%' WITH GRANT OPTION;CREATE USER 'rangerkms'@'%' IDENTIFIED BY 'rangerkms';
GRANT ALL PRIVILEGES ON rangerkms.* TO 'rangerkms'@'%';FLUSH PRIVILEGES;

执行ambari数据库的初始化脚本

mysql -uambari -pambari ambari < /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql# 下载mysql-jdbc的jar包,保留该jar包后续可以用于hadoop或是其他组件依赖
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.28/mysql-connector-java-8.0.28.jar \-O /usr/share/java/mysql-connector-java.jar# Setup JDBC driver
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar# Configure MySQL 8 compatibility
echo "server.jdbc.url=jdbc:mysql://hadoop-app:3306/ambari?useSSL=true&verifyServerCertificate=false&enabledTLSProtocols=TLSv1.2" \>> /etc/ambari-server/conf/ambari.properties# Configure Ambari server
ambari-server setup -s \-j /usr/lib/jvm/java-1.8.0-openjdk \--ambari-java-home /usr/lib/jvm/java-17-openjdk \--database=mysql \--databasehost=hadoop-app \--databaseport=3306 \--databasename=ambari \--databaseusername=ambari \--databasepassword=ambari
# 在所有的节点上运行
sed -i "s/hostname=.*/hostname=hadoop-app/" /etc/ambari-agent/conf/ambari-agent.ini

启动Ambari

# 在hadoop-app:ambari-server start# 在各节点上启动
ambari-agent startAmbari Web界面: http://hadoop-app:8080
安装成功

问题shooting

1、安装MSQL的时候提示Error: GPG check FAILED

可参考MYSQL官方链接:
https://dev.mysql.com/doc/refman/8.4/en/checking-gpg-signature.html
解决方案:

sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023或将链接里面的公钥保存至服务器,然后再导入
sudo rpm --import {local_publickey_path}#然后可以继续下载了

2、MYSQL无法登陆,提示:null, message from server: "Host '_gateway' is not allowed to connect to this MySQL server"

解决方案:

# 添加一个host为%的远程账户
mysql>> 
CREATE USER 'root'@'%' IDENTIFIED BY 'leo130';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;

systemctl restart mysqld.service

3、MYSQL创建数据库的时候提示密码策略相关问题

解决方案:
在/etc/my.cnf的文件中
添加如下:

default-authentication-plugin=mysql_native_password
validate_password.policy=LOW
validate_password.length=1
validate_password.number_count=0
validate_password.special_char_count=0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

POLIR-Society-Philosophy-Hegels System of Science

POLIR-Society-Philosophy-Hegels System of Science hegel.net - Hegels System of Science, religion and philosophy, philosophy of religion SearchHegels System of Science Enyclopedia Britannica 1911 [PDF V…

Python中的`namedtuple`:命名元组的用法与优势

Python中的namedtuple:命名元组的用法与优势 collections.namedtuple是Python标准库提供的一个实用工具,它创建的是一种带字段名的元组,兼具元组的不可变性和类的可读性,是处理简单数据结构的理想选择。 一、named…

android开发者网站中国最近战争新闻

CortexM3存储器系统 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 CM3 只有一个单一固定的存储器映射。这一点极大地方便了软件在各种 CM3 单片机间的移植。 存储空间的一些位置用于调试组件等私有外设&#xff0c;这个地址段被称为“私有外设区”。私…

一摞python风格的纸牌

一摞python风格的纸牌 import collections# 定义卡牌类 Card = collections.namedtuple(Card, [rank, suit])# 法式扑克牌类 class FrenchDeck:ranks = [str(n) for n in range(2, 11)] + list(JQKA)suits = spades di…

记录一个ubuntu24.04蓝牙不显示不可用的解决方案

记录一个奇怪的ubuntu24.04桌面端的蓝牙标志消失处理办法 现象: 1.蓝牙开关消失,提示plug in a dongle to use bluetooth 2.服务日志提示:Bluetooth service was skipped because of an unmet condition check (Con…

网站开发电脑配置推荐网站流量 seo

客户简介 岗岭集团是中国互联网医药健康的领军企业&#xff0c;致力于用互联网模式和思维方式&#xff0c;改变中国大众“看病难、买药贵”的现状。岗岭集团运用创新的互联网和IT技术提供在线诊疗、购药和健康管理等服务&#xff0c;缩减中间环节&#xff0c;优化供应链&#…

社区门户网站建设方案雅式机械加工网

当我们找工作的时候查看招聘信息发现都需要有自动化测试经验&#xff0c;由此看来测试人员不会一点自动化测试技术都不好意思说自己是做软件测试的。大部分测试人员也都是从使用自动化测试工具、录制回放、测试脚本、开发小工具入门自动化测试的&#xff0c;然后在慢慢的接触 U…

惠州模板网站WordPress wlw设置

简单的说time()与$_SERVER["REQUEST_TIME"]都是获得时间的&#xff0c;但time返回当前的 Unix 时间戳而$_SERVER["REQUEST_TIME"]得到请求开始时的时间戳&#xff0c;稍有区别。1. time() 获取当前的系统时间戳inttime( void ) :返回自从 Unix 纪元(格林威…

directx 与d3d 什么关系

directx 与d3d 什么关系1. DirectX 是一个“套件”DirectX (Direct eXtension) 不是单一库,而是 微软在 Windows 平台上提供的一整套多媒体 API。主要模块包括:Direct3D (D3D) → 3D 图形DirectDraw → 2D 图形(后来…

数据仓库中的“时间旅行者”:深入理解渐变维度(SCD)与拉链表

某电商平台的用户“小美”昨天刚从上海搬到北京,现在住在北京的一家单身公寓里。“小美” 很热爱生活,喜欢烘培烹饪、逛展会、户外旅行等活动。为了满足自己的个性化需求,她选择成为一名电商“重度使用者”。她尤其…

MOVEit网络攻击波及普华永道与安永,供应链安全再响警钟

勒索软件团伙Clop利用MOVEit文件传输服务的零日漏洞发起供应链攻击,导致普华永道、安永等多家知名机构数据泄露。攻击者要求受害企业在6月14日前支付赎金,美国网络安全机构已发布安全补丁。MOVEit网络攻击波及普华永…

Penchick Online Mathematical Olympiad, Qualifying Test 1, III.4

原题链接:https://artofproblemsolving.com/community/c4h3687790_1st_penchick_online_mathematical_olympiad_qualifying_test_1_iii4 解答: 令 , . (统一分母)整理得:代入原式 均值不等式(AM-GM)得到最小 , …

自己做网站别人怎么看见wordpress搬家后全部页面404

目录 1.hdfs读写流程解析 2.hdfs副本机制&#xff0c;三副本原因&#xff0c;副本存放策略 3.hdfs容错机制原理 4.MapReduce执行流程详解 5.spark和mr的区别 6.TopN求法&#xff0c;大数据量无法完全写入内存解决方案&#xff0c;MapReduce实现方法 7.spark部署、调度原…

QBXT2025S刷题 Day6

T2 这道题是树形 \(\mathcal{DP}\),我们注意到如果一个点能和他的一个子树合并成为一个三叉,那么可以是以下四种情况。然后我们的状态记录一下当前有 \(i\) 个链,\(j\) 个倒 "Y"。 这样,我们可以先让 \(…

dx为什么用com

dx为什么用com1. DirectX 的历史背景DirectX 是 90 年代微软为 Windows 游戏/多媒体开发出的 API。当时 Windows 上最通用的组件化技术就是 COM(Component Object Model)。DirectX 各子系统(D3D、DirectSound、Dire…

我的网站现在没有排名_我想问是不是花钱做百度推广就会有排名网站怎么加入百度网盟

一、前言 本人面试已经很久之前了&#xff0c;分享一下我做美团面试官的经历吧。 美团上海面试&#xff0c;2-1及以下美团是不社招的&#xff0c;校招和2-2~2-3社招一般是三面&#xff0c;格外优秀3-1及以上会加签面试。初面技术基础&#xff0c;二面业务感知和技术项目&#…

北京网站制作闪快网站备案手机号

每到周末的时候&#xff0c;我就感到压抑&#xff0c;无处可去&#xff0c;无事可做&#xff0c;我为什么那么在乎别人的看法呢?从不主动和人交流&#xff0c;话少的可怜&#xff0c;我一周说的话手指都能数出来&#xff0c;总是感到尴尬&#xff0c;不说话还常常苦闷别人不理…

图书馆网站建设工作阿里云企业网站搭建

很多人的电脑或者手机上都离不开一款好用的便签软件&#xff0c;使用便签软件可以帮助大家记事&#xff0c;提醒大家按时完成各项任务&#xff0c;但是自带的记事本便签软件不论从外观还是功能方面都有一定的欠缺&#xff0c;在使用过程中很容易耽误事情。 功能全面外观好看的…

建设网站的内容规划网络公司seo教程

Hello&#xff0c;今天事10月27日&#xff0c;距离刚开始写博客已经过去挺久了&#xff0c;我也不知道是什么让我坚持这么久&#xff0c;但是学校的课真的很多&#xff0c;很少有时间多出来再学习&#xff0c;有些科目马上要考试了&#xff0c;我还不知道我呢不能过哈哈哈&…

建立自己的平台网站吗php开发的大型网站有哪些

1、实验目的 通过本实验可以掌握&#xff1a; CLI的各种工作模式个CLI各种编辑命令“?” 和【Tab】键使用方法IOS基本命令网络设备访问限制查看设备的相关信息 2、实验拓扑 CLI的使用与IOS基本命令使用拓扑如下图所示。 3、实验步骤 &#xff08;1&#xff09;CLI模式的切…