Ambari2.7.3.0安裝步驟


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

以Ambari 2.7.3爲例,支持的組件的版本以下(部分):
Ubuntu 18.0四、16.0四、14.04(Ambari 2.7.1和2.7.0只支持Ubuntu 16.04)
MySQL 5.7(只支持InnoDB引擎)
JDK 8(至少1.8.0_77以上版本)java

 

2.軟件要求
Python(帶有python-devel*)
Ambari Metrics Monitor用到一個python庫(psutil),該庫依賴gcc和python-devel包。node

 

3.最大打開文件數要求
推薦的最小打開文件數是10000或更多。
(1) 可經過如下命令查詢當前數量:
ulimit -Hn #查看硬限制
ulimit -Sn #查看軟限制python

(2) 若是低於10000,可執行如下命令修改:
ulimit -n 100 #同時設定兩個限制mysql

附:ulimit命令的其它參數說明
ulimit -Hn 100 #設定硬限制
ulimit -Sn 100 #設定軟限制linux

 

4.調整時區
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtimenginx

 

5.修改主機名
假定有4臺機,用戶名分別爲c一、c二、c三、c4。
主機名要設置爲FQDN(fully.qualified.domain.name)格式,不然安裝時會報警。
(1) vim /etc/cloud/cloud.cfg
把preserve_hostname: false中的false改爲truesql

(2) hostnamectl set-hostname xxx
這裏4臺機分別改成:
c1.malus.com
c2.malus.com
c3.malus.com
c4.malus.com數據庫

(3) 修改後要重啓。ubuntu

 

6.修改IP
假定有4臺機,用戶名分別爲c一、c二、c三、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

相關文章
相關標籤/搜索