0 说明

本文基于本地虚拟机从零开始搭建ambari集群

1 前置条件

1.1 本地虚拟机环境

节点角色
ambari-1ambari-server ambari-agent
ambari-2ambari-agent
ambari-3ambari-agent

1.2 安装包

1.3 修改主机名并配置hosts文件

hostnamectl set-hostname ambari-1
hostnamectl set-hostname ambari-2
hostnamectl set-hostname ambari-3

配置hosts,添加如下内容

192.168.2.51 ambari-1
192.168.2.52 ambari-2
192.168.2.53 ambari-3

1.4 配置节点间免密

所有节点执行

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh-copy-id -i ~/.ssh/id_rsa.pub ambari-1
ssh-copy-id -i ~/.ssh/id_rsa.pub ambari-2
ssh-copy-id -i ~/.ssh/id_rsa.pub ambari-3

1.5 关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

在这里插入图片描述

1.6 关闭selinux(所有节点)

vim /etc/sysconfig/selinux

修改

SELINUX=disabled

查看修改是否成功

 sestatus -v

在这里插入图片描述

1.7 设置安全限制(所有节点)

 vim /etc/security/limits.conf

添加如下内容:

* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

1.8 修改系统最大文件打开数(所有节点)

 vim /etc/systemd/system.conf

在这里插入图片描述

1.9 安装pssh(非必须)

pssh基于Python编写的并发在多台服务器上批量执行命令的工具,它支持文件并行复制、远程并行执行命令、杀掉远程主机上的进程等,这里介绍安装及常用命令。

wget http://peak.telecommunity.com/dist/ez_setup.py
wget https://pypi.python.org/packages/60/9a/8035af3a7d3d1617ae2c7c174efa4f154e5bf9c24b36b623413b38be8e4a/pssh-2.3.1.tar.gz
  • 解压
tar -zxvf  pssh-2.3.1.tar.gz
build & install
 python setup.py build
 python setup.py install
  • 创建nodes文件

添加需要批处理的服务器节点

ambari-1:22
ambari-2:22
ambari-3:22
  • 使用示例
 pssh -h /root/node.txt -i -P 'date'

在这里插入图片描述

1.10 配置ntpd同步(所有节点)

1.11 设置swap(所有节点)

pssh -h /root/nodes.txt -i 'echo vm.swappiness = 1 >> /etc/sysctl.conf'
 pssh -h /root/nodes.txt -i 'sysctl vm.swappiness=1'
 pssh -h /root/nodes.txt -i 'sysctl -p'

在这里插入图片描述

1.12 安装http服务(主节点)

yum -y install httpd

设置开机自启

systemctl start httpd
systemctl enable httpd.service

浏览器访问测试,出现如下页面说明安装成功
在这里插入图片描述
安装完成后,会生成 /var/www/html目录(相当于Tomcat的webapps目录),进入到/var/www/html目录下,创建ambari和hdp目录,用来存放安装文件.

1.13 安装httpd服务(主节点)

mkdir /var/www/html/ambari
mkdir /var/www/html/hdp
mkdir /var/www/html/hdp/HDP-UTILS-1.1.0.22
mkdir /var/www/html/hdp/HDP-GPL-3.1.5.0
 tar -zxvf ambari-2.7.5.0-centos7.tar.gz -C /var/www/html/ambari/
 tar -zxvf HDP-3.1.5.0-centos7-rpm.tar.gz -C /var/www/html/hdp/
 tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS-1.1.0.22/
 tar -zxvf HDP-GPL-3.1.5.0-centos7-gpl.tar.gz -C /var/www/html/hdp/HDP-GPL-3.1.5.0/

重启httpd服务

systemctl restart httpd

测试访问:

http://ambari-1:/ambari
http://ambari-1:/hdp

在这里插入图片描述
在这里插入图片描述

1.14 配置离线yum源(主节点)

cd /var/www/html/ambari/ambari/centos7/2.7.5.0-72
vim ambari.repo

在这里插入图片描述

复制到/etc/yum.repos.d目录下,并同步到其他节点
查看yum源是否配置成功

pssh -h /root/nodes.txt -i 'yum repolist'

在这里插入图片描述

1.15 安装jdk(所有节点)

注:安装在/usr/local/java目录下或在该目录下建立软连接,因为ambari默认会去该目录找java。

2 安装Mysql

2.1 卸载mariadb

rpm -qa | grep mariadb | xargs rpm -e --nodeps

2.2 下载mysql5.7的yum源

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

2.3 安装Mysql的yum源

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

2.4 安装Mysql

yum -y install mysql-server

安装过程中可能报错如下:
在这里插入图片描述
执行如下命令,再次安装即可

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

2.5 启动mysql

service mysqld start

2.6 查看root密码

grep 'temporary password' /var/log/mysqld.log    

2.7 执行Mysql脚本

mysql_secure_installation

在这里插入图片描述

2.8 配置新密码

2.9 配置root远程登录

mysql -uroot -p密码
grant all privileges on *.* to 'root' @'%' identified by 'Chen.123456';
flush privileges;

在这里插入图片描述

2.10 拷贝mysql驱动

将mysql-connector-java-5.1.27-bin.jar拷贝到/usr/share/java路径下,并重命名mysql-connector-java.jar
注:这里需要将mysql的驱动jar包拷贝到/usr/share/java目录下,如果该目录不存在,则新建目录。因为ambari-server启动后会默认到该位置找jar包,如果/usr/share/java不存在该jar包,则会报错如下:
在这里插入图片描述

3 安装Ambari&HDP

3.1 安装ambari-server

 yum -y install ambari-server

在这里插入图片描述

3.2 配置ambari.properties

配置/etc/ambari-server/conf/ambari.properties

 vim /etc/ambari-server/conf/ambari.properties

添加如下配置

server.jdbc.driver.path=/root/software/mysql/mysql-connector-java.jar

3.3 配置ambari-server

ambari-server setup 

在这里插入图片描述

3.4 登录mysql创建ambari安装所需要的库

1)创建ambari数据库和ambari用户

 CREATE DATABASE ambari DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
 use ambari;
 CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari123';
 GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
 CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ambari123';
 GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
 CREATE USER 'ambari'@'ambari-1' IDENTIFIED BY 'ambari123';
 GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'ambari-1';

可能包如下错:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这是由于mysql策略设置的问题,解决方案如下:
① 查看mysql当前密码设置策略

SHOW VARIABLES LIKE 'validate_password%';

② 执行如下命令,即可

set global validate_password_policy=0;

2)执行初始化sql语句

use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
  1. 创建hive数据库和hive用户
    注:这里创建的hive账户主要用来后续安装hive组件时使用,如果不需要安装hive,则可跳过此步
CREATE DATABASE hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
use hive;
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive1234';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive1234';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost';
CREATE USER 'hive'@'ambari-1' IDENTIFIED BY 'hive1234';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'ambari-1';
  1. 创建oozie数据库和oozie账户
    注:这里创建的oozie账户主要用来后续安装hive组件时使用,如果不需要安装oozie,则可跳过此步
CREATE DATABASE oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
use oozie;
CREATE USER 'oozie'@'%' IDENTIFIED BY 'oozie123';
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
CREATE USER 'oozie'@'localhost' IDENTIFIED BY 'oozie123';
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'localhost';
CREATE USER 'oozie'@'ambari-1' IDENTIFIED BY 'oozie123';
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'ambari-1';

5)刷新

FLUSH PRIVILEGES;

3.5 启动ambari-server

ambari-server start

在这里插入图片描述
查看/var/log/ambari-server/ambari-server.out日志,发现正常
在这里插入图片描述

3.6 所有节点安装ambari-agent

pssh -h /root/nodes.txt -i 'yum -y install ambari-agent'

修改配置文件ambari-agent.ini

vi /etc/ambari-agent/conf/ambari-agent.ini

在这里插入图片描述

启动ambari-agent

pssh -h /root/nodes.txt  -i 'systemctl start ambari-agent'

在这里插入图片描述

4 部署集群

登录ambari-1:8080可看到如下页面,账户和密码均为admin

ambari-1:8080

在这里插入图片描述

4.1 设置集群名

在这里插入图片描述

4.2 设置正确版本

选择HDP-3.1和Use Local Repository
在这里插入图片描述
删除其他镜像源,选择Redhat,并输入HDP的url地址
在这里插入图片描述

4.3 配置节点并验证

设置ambari集群的节点,选择手动(这里需要保证集群其他节点的ambari-agent均正常启动)
在这里插入图片描述
等待准备完成
在这里插入图片描述

4.4 选择需要安装的服务

在这里插入图片描述
注:点击下一步如发生报错,说明ambari用户对目录没有执行权限,在后台执行如下命令即可

Error message: Error occured during stack advisor command invocation: Cannot create /var/run/ambari-server/stack-recommendations

sudo chown -R ambari /var/run/ambari-server

在这里插入图片描述

4.5 配置

按默认配置
在这里插入图片描述

4.6 配置服务slaves

在这里插入图片描述

4.7 设置相关服务密码

在这里插入图片描述

4.8 测试数据库连接

在这里插入图片描述
注:如果测试连接失败,报错如下:
在这里插入图片描述
这里是由于mysql的jar包没有识别到,在server节点执行如下命令

ambari-server setup --jdbc-db=mysql --jdbc-driver=/root/software/mysql/mysql-connector-java.jar

在这里插入图片描述
然后再点击测试即能正常连接
保持默认,点击下一步
在这里插入图片描述
保持默认,下一步
在这里插入图片描述
保持默认,下一步
在这里插入图片描述

4.9 部署

在这里插入图片描述
等待部署完成
在这里插入图片描述
安装完成(这里报黄是由于,当前安装是虚拟机安装,内存不足显示为黄色,没有问题)
在这里插入图片描述

4.10 完成安装

在这里插入图片描述
在这里插入图片描述

5 附ambari汉化

5.1 汉化的文件

模块源码文件目录编译后目录安装后目录
仪表盘主界面ambari-web/app/messages.jsambari-web/public/javascripts/app.js/usr/lib/ambari-server/web/javascripts/app.js
管理员界面ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js/main.js不变/var/lib/ambari-server/resources/views/work/ADMIN_VIEW{2.7.5.0}/scripts
主页底部版权信息ambari-web/app/assets/index.htmlambari-web/public/index.html /usr/lib/ambari-server/web/index.html
登录框ambari-web/app/templates/login.hbspublic/javascripts/app.js/usr/lib/ambari-server/web/javascripts/app.js
DashBoard 页头/ambari-web/app/templates/application.hbspublic/javascripts/app.js/usr/lib/ambari-server/web/javascripts/app.js
仪表盘的关于信息ambari-web/app/templates/common/about.hbspublic/javascripts/app.js
管理页面的关于信息/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/AboutModal.html不变/var/lib/ambari-server/resources/views/work/ADMIN_VIEW{2.7.5.0}/views/modals/AboutModal.html

5.2 替换app.js

给出参考app.js汉化包如下:

链接:https://pan.baidu.com/s/1FOajkxocFSKxAg_huAowXw 
提取码:25wu 

5.3 修改logo

根据自身需要自定义/usr/lib/ambari-server/web/

5.4 修改仪表盘AboutModal.html

5.5 修改Index.html

版权信息
在这里插入图片描述
修改完成后重启ambari-server即可
在这里插入图片描述
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐