Ambari2.7.3.0安装步骤

1.支持的组件版本
https://supportmatrix.hortonworks.com/

以Ambari 2.7.3为例,支持的组件的版本如下(部分):
Ubuntu 18.04、16.04、14.04(Ambari 2.7.1和2.7.0只支持Ubuntu 16.04)
MySQL 5.7(只支持InnoDB引擎)
JDK 8(至少1.8.0_77以上版本)

2.软件要求
Python(带有python-devel*)
Ambari Metrics Monitor用到一个python库(psutil),该库依赖gcc和python-devel包。

3.最大打开文件数要求
推荐的最小打开文件数是10000或更多。
(1) 可通过以下命令查询当前数量:
ulimit -Hn #查看硬限制
ulimit -Sn #查看软限制

(2) 如果低于10000,可执行以下命令修改:
ulimit -n 100 #同时设定两个限制

附:ulimit命令的其它参数说明
ulimit -Hn 100 #设定硬限制
ulimit -Sn 100 #设定软限制

4.调整时区
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

5.修改主机名
假定有4台机,用户名分别为c1、c2、c3、c4。
主机名要设置为FQDN(fully.qualified.domain.name)格式,否则安装时会报警。
(1) vim /etc/cloud/cloud.cfg
把preserve_hostname: false中的false改成true

(2) hostnamectl set-hostname xxx
这里4台机分别改为:
c1.malus.com
c2.malus.com
c3.malus.com
c4.malus.com

(3) 修改后要重启。

6.修改IP
假定有4台机,用户名分别为c1、c2、c3、c4。
vim /etc/netplan/50-cloud-init.yaml

network:
ethernets:
enp4s0:
addresses: [192.168.1.15/24] //IP。其中24是子网掩码,等同于255.255.255.0
gateway4: 192.168.1.1 //网关
nameservers:
addresses: [114.114.114.114, 202.96.128.86] //DNS
dhcp4: no
optional: no
version: 2

netplan apply

这里4台机的IP分别设置为:
c1 192.168.1.105
c2 192.168.1.110
c3 192.168.1.115
c4 192.168.1.120

7.修改DNS
vim /etc/hosts

加入以下几行:
192.168.100.105 c1.malus.com
192.168.100.110 c2.malus.com
192.168.100.115 c3.malus.com
192.168.100.120 c4.malus.com

8.配置ssh免密登录
(1) 进入ssh密钥信息目录(所有机执行)
cd /root/.ssh

(2) 生成ssh密码(所有机执行)
ssh-keygen -t rsa -P ''
cat id_rsa.pub >> authorized_keys

(3) 设置权限(所有机执行)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

(4) 修改scp
vim /etc/ssh/sshd_config
把PermitRootLogin no中的no改成yes,如果原来没有这行或被注释掉,就直接加上或反注释。
systemctl restart sshd

(5) 复制另外几台机的密钥到c1(在c1执行)
scp root@C2:/root/.ssh/authorized_keys c2keys
scp root@C3:/root/.ssh/authorized_keys c3keys
scp root@C4:/root/.ssh/authorized_keys c4keys

(6) 合并成一个密钥文件(在c1执行)
cat c2keys c3keys c4keys >> authorized_keys

(7) 把合并后的密钥文件复制回另外几台机并覆盖原文件(在c1执行)
scp authorized_keys root@C2:/root/.ssh/authorized_keys
scp authorized_keys root@C3:/root/.ssh/authorized_keys
scp authorized_keys root@C4:/root/.ssh/authorized_keys

(8) 测试(在c1执行)
ssh c2
没提示输入密码即为生效。

9.安装和启动ntp
apt install ntp
update-rc.d ntp defaults #设置开机自启动

附:#关闭开机自启动
update-rc.d -f ntp remove

10.关闭iptables
ufw disable
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

11.关闭SELinux
apt install selinux-utils
setenforce 0

12.安装JDK
JDK版本至少要1.8.0_77以上,见第1点。
https://www.cnblogs.com/maluscalc/p/10900317.html

13.安装Python
提示:根据第2点的要求,需要安装python-devel
apt install python2.7 python2.7-dev

===========================================================================
上面的步骤在所有机器都要执行,下面的步骤只需要在1台机执行,这里选用c1机。
===========================================================================

14.安装MySQL(可选)
Ambari默认是安装PostgreSQL,如果需要使用MySQL,需要预先安装和配置。只找一台机装即可。
(1) 安装MySQL步骤
https://www.cnblogs.com/maluscalc/p/11093908.html

15.安装MySQL Connector
(1) 下载安装包
https://dev.mysql.com/downloads/connector/j/

(2) 上传包和安装
rz
dpkg -i mysql-connector-java_8.0.16-1ubuntu18.04_all.deb
请根据实际情况修改安装包的名字

(3) 配置
提示:安装完Ambari服务(第23点)后才能执行这一步。
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

16.创建Ambari权限账号
# mysql -u root -p

CREATE USER '[AMBARI_USER]'@'%' IDENTIFIED BY '[AMBARI_PASSWORD]';
GRANT ALL PRIVILEGES ON *.* TO '[AMBARI_USER]'@'%';
CREATE USER '[AMBARI_USER]'@'localhost' IDENTIFIED BY '[AMBARI_PASSWORD]';
GRANT ALL PRIVILEGES ON *.* TO '[AMBARI_USER]'@'localhost';
CREATE USER '[AMBARI_USER]'@'[AMBARI_SERVER_FQDN]' IDENTIFIED BY '[AMBARI_PASSWORD]';
GRANT ALL PRIVILEGES ON *.* TO '[AMBARI_USER]'@'[AMBARI_SERVER_FQDN]';
FLUSH PRIVILEGES;

例子:
[AMBARI_USER]用ambari
[AMBARI_PASSWORD]用123456
[AMBARI_SERVER_FQDN]用c1.malus.com(对应上面第5点的配置)

完整例子:
# mysql -u root -p

CREATE USER 'ambari'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
CREATE USER 'ambari'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
CREATE USER 'ambari'@'c1.malus.com' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'c1.malus.com';
FLUSH PRIVILEGES;

17.创建Ambari数据库
提示:安装完Ambari服务(第23点)后才能执行这一步。
mysql -u [AMBARI_USER] -p

CREATE DATABASE [AMBARI_DATABASE];
USE [AMBARI_DATABASE];
SOURCE Ambari-DDL-MySQL-CREATE.sql;

例子:
[AMBARI_USER]用ambari(对应上面第16点的配置) //也可以直接使用root账号
[AMBARI_DATABASE]用ambari

完整例子:
mysql -u ambari -p /也可用mysql -u root -p,但下面ambari-server setup时数据库账号也要对应用root

CREATE DATABASE ambari;
USE ambari;
SOURCE /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;

其中Ambari-DDL-MySQL-CREATE.sql文件在/var/lib/ambari-server/resources目录下。

18.赋予Ranger组件MySQL权限
如果使用MySQL来存储Ranger组件的数据,需要先赋予Ranger账号超管权限。且存储引擎必须支持事务,例如InnoDB。
(1) 登录root账号
su

(2) 登录MySQL
mysql -u root -p

(3) 创建用户rangerdba,密码也是rangerdba,赋予权限
CREATE USER 'rangerdba'@'localhost' IDENTIFIED BY 'rangerdba';
GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'localhost';
CREATE USER 'rangerdba'@'%' IDENTIFIED BY 'rangerdba';
GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit

(4) 安装前把log_bin_trust_function_creators设置为1,安装完成后可设置回0。
SET GLOBAL log_bin_trust_function_creators = 1;

19.赋予Hive组件MySQL权限
其它步骤同第18点,SQL改成以下。其中[HIVE_USER]是想要设置的账号,[HIVE_PASSWORD]是想要设置的密码。
CREATE USER '[HIVE_USER]'@'localhost' IDENTIFIED BY '[HIVE_PASSWORD]';
GRANT ALL PRIVILEGES ON *.* TO '[HIVE_USER]'@'localhost';
CREATE USER '[HIVE_USER]'@'%' IDENTIFIED BY '[HIVE_PASSWORD]';
GRANT ALL PRIVILEGES ON *.* TO '[HIVE_USER]'@'%';
CREATE USER '[HIVE_USER]'@'[HIVE_METASTORE_FQDN]' IDENTIFIED BY '[HIVE_PASSWORD]';
GRANT ALL PRIVILEGES ON *.* TO '[HIVE_USER]'@'[HIVE_METASTORE_FQDN]';
FLUSH PRIVILEGES;
exit

20.配置SAM和Schema Registry在MySQL的元数据库
(1) 登录MySQL
mysql -u root -p

(2) 创建元数据库
create database registry;
create database streamline;

(3) 创建账号,密码123456(可修改)
CREATE USER 'registry'@'%' IDENTIFIED BY '123456';
CREATE USER 'streamline'@'%' IDENTIFIED BY '123456';

(4) 配置权限
GRANT ALL PRIVILEGES ON registry.* TO 'registry'@'%' WITH GRANT OPTION ;
GRANT ALL PRIVILEGES ON streamline.* TO 'streamline'@'%' WITH GRANT OPTION ;

(5) 提交修改操作
commit;

21.配置Druid和Superset Metadata在MySQL的元数据库
(1) 登录MySQL
mysql -u root -p

(2) 创建元数据库
CREATE DATABASE druid DEFAULT CHARACTER SET utf8;
CREATE DATABASE superset DEFAULT CHARACTER SET utf8;

(3) 创建账号,密码123456(可修改)
CREATE USER 'druid'@'%' IDENTIFIED BY '123456';
CREATE USER 'superset'@'%' IDENTIFIED BY '123456';

(4) 配置权限
GRANT ALL PRIVILEGES ON *.* TO 'druid'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'superset'@'%' WITH GRANT OPTION;

(5) 提交修改操作
commit;

22.使用本地源安装
(1) 搭建本地源
https://www.cnblogs.com/maluscalc/p/11115240.html

(2) 下载源列表文件
模板是http://public-repo-1.hortonworks.com/ambari/<OS>/2.x/updates/2.7.3.0/ambari.repo
根据操作系统把<OS>替换成centos7, sles12, ubuntu14, ubuntu16, ubuntu18, debian9

例如:操作系统是Ubuntu 18就把<OS>改成ubuntu18。因为Ubuntu使用apt,源列表文件后缀是.list,所以要把.repo改成.list。
http://public-repo-1.hortonworks.com/ambari/ubuntu18/2.x/updates/2.7.3.0/ambari.list

下载到apt源列表目录
wget -P /etc/apt/sources.list.d/ http://public-repo-
1.hortonworks.com/ambari/ubuntu18/2.x/updates/2.7.3.0/ambari.list

(3) 替换Ambari源的链接
vim /etc/apt/sources.list.d/ambari.list

因为这里把本地源部署在c1机,所以IP是c1的IP。这里把http://public-repo-
1.hortonworks.com/ambari/ubuntu18/2.x/updates/2.7.3.0/ambari.list替换成
http://192.168.100.105/ambari/ubuntu18/2.7.3.0-139/
其中192.168.100.105就是部署nginx服务的c1机的IP,请根据实际情况修改。

(4) 添加密钥
提示:这一步所有主机都要执行
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD

(5) 更新源信息
提示:这一步所有主机都要执行
apt update

(6) 检查
apt-cache showpkg ambari-server
apt-cache showpkg ambari-agent
apt-cache showpkg ambari-metrics-assembly

23.安装Ambari
apt install ambari-server

24.配置Ambari
ambari-server setup

(1) Customize user account for ambari-server daemon?
选n

(2) 选JDK版本
选2
输入JDK安装路径,一般是/usr/bin/jdk1.8.0/

(3) Enable Ambari Server to download and install GPL Licensed LZO packages?
选n

(4) Enter advanced database configuration?
选y

(5) 选数据库
选3
填写的数据库属性要对应上面第16点的配置。
Username: root(上面用ambari这里就用ambari,上面用root这里就用root)
Password: 123456
其它选默认值

25.启动Ambari
ambari-server setup

26.使用Ambari平台安装Hadoop组件
(1) 打开Ambari平台
在浏览器输入192.168.100.105:8080(对应上面以c1作为Ambari的主机)

(2) 登录
默认的用户名和密码都是admin

(3) 开始安装
点击Launch Install Wizard按钮

(4) 填写集群名
这里用Malus

(5) 选择Hadoop组件版本
用默认即可。


(6) 配置源
a.源选择本地源,勾选“Use Local Repository”
b.填写本地源地址,这里使用的是Ubuntu 18.04,所以只填写ubuntu18栏,其它栏点击删除。
根据第23点的配置:
HDP-3.1栏填http://192.168.100.105/HDP/ubuntu18/3.1.0.0-78/
HDP-UTILS-1.1.0.22栏填http://192.168.100.105/HDP-UTILS/ubuntu18/1.1.0.22/


(7) 配置主机名
根据第5点的配置,在Target Hosts框填入:
c1.malus.com
c2.malus.com
c3.malus.com
c4.malus.com


(8) 上传ssh密钥来注册所有主机
注册的作用是让Ambari免密登录所有主机并进行批量安装操作
a.找一台主机下载第8点时生成的密钥,留意是使用不带.pub后缀的那个文件。
sz /root/.ssh/id_rsa

b.点击Ambari界面的Choose File,并选择id_rsa文件上传


(9) Ambari在所有主机安装ambari-agent
如果出现以下错误(行号可能会略有不同)
“/var/lib/ambari-agent/tmp/ambari-sudo.sh: line 50: python: command not found”

请手动重装ambari-agent
apt install ambari-agent --reinstall


(10) 配置Slaves服务和Client服务
For client-only nodes where you do not want IBM Spectrum? Scale, do not select the GPFS Node option.
Review the GPFS Node column for the Namenode and Datanodes hosts that are part of the HDFS cluster.
Selecting the GPFS Node column for those nodes run the IBM Spectrum Scale and IBM Spectrum Scale HDFS Transparency.
The GPFS Master node is a GPFS Node which is the Ambari Server node.
HDFS Transparency data node is required to be a Hadoop Datanode, a NodeManager, and a GPFS Node.

27.YARN Registry DNS监听端口与systemd-resolved冲突
https://www.cnblogs.com/maluscalc/p/11138665.html

原文地址:https://www.cnblogs.com/live41/p/14236950.html