1. 程式人生 > >Ambari安裝部署

Ambari安裝部署

在三臺centos6.9的伺服器上安裝Ambari服務,並安裝HDP。 1、安裝前準備,環境配置 1.1 關閉防火牆

	chkconfig iptables off
	service iptables stop
	chkconfig --list iptables 

在這裡插入圖片描述 1.2 關閉 Selinux

	vi  /etc/sysconfig/selinux 

將SELINUX=enforcing改為SELINUX=disabled,執行該命令後重啟機器生效 在這裡插入圖片描述 1.3 配置hostname

	vi /etc/sysconfig/network 

將三臺機子的hostname修改為

	ambari1.node.com、ambari2.node.com、ambari3.node.com

1.4 配置hosts檔案 vi /etc/hosts 修改host檔案 將三臺機子配置為

	172.30.81.132 ambari1.node.com
	172.30.81.133 ambari2.node.com
	172.30.81.134 ambari3.node.com

在這裡插入圖片描述 1.5 配置DNS

	vi /etc/resolv.conf 
	nameserver 8.8.8.8
	nameserver 114.114.114.114

在這個步驟完成後可以重啟機器 使之前的修改的配置生效 1.6 SSH免密登入配置 生成金鑰對

	ssh-keygen -t rsa

將金鑰加到本地認證檔案中

	cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

設定authorized_keys的訪問許可權

	chmod 600 /root/.ssh/authorized_keys

**以上步驟先在每個節點上先執行一遍,然後執行下面操作 在這裡插入圖片描述 將每個節點上生成的id_rsa.pub複製到其他所有節點並新增到它們的認證檔案中

	scp /root/.ssh.id_rsa.pub [email protected]:/root(在ambari1.node.com執行)
	cat ~/id_rsa.pub >> ~/.ssh/authorized_keys (在ambari2.node.com執行)
	scp /root/.ssh.id_rsa.pub [email protected]
:/root(在ambari1.node.com執行) cat ~/id_rsa.pub >> ~/.ssh/authorized_keys (在ambari3.node.com執行)

在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 **如若scp命令不存在 yum install -y openssh-clients ** 驗證免密登入是否配置成功 在這裡插入圖片描述 1.7 安裝JDK 在/usr/目錄下建立java目錄,將下載好的jdk傳到/usr/java目錄下解壓 在這裡插入圖片描述 配置環境變數 vi /etc/profile 在profile中新增如下內容: 在這裡插入圖片描述 source /etc/profile 使配置生效 在這裡插入圖片描述 1.8 安裝NTP 叢集中所有主機必須保持時間同步,如果時間相差較大會引起各種問題。 具體思路如下: master節點作為ntp伺服器與外界對時中心同步時間,隨後對所有slave節點提供時間同步服務。所有slave節點以master節點為基礎同步時間。 所有節點安裝相關元件 yum install -y ntp 開機啟動:chkconfig ntpd on 檢查是否設定成功:chkconfig --list ntpd其中2-5為on狀態就代表成功。 【主節點ntpserver配置】 ntp服務只有一個配置檔案,配置好了就OK。 這裡只給出有用的配置,不需要的配置都用#注掉,這裡就再在給出: vi /var/lib/ntp/drift

	restrict 127.0.0.1
	restrict -6 ::1
	restrict default nomodify notrap 
	server 202.120.2.101 prefer
	includefile /etc/ntp/crypto/pw
	keys /etc/ntp/keys
	
	啟動服務
	service ntpd start 

【slave節點ntp客戶端配置】

	vi /var/lib/ntp/drift
	restrict -6 ::1
	restrict default kod nomodify notrap nopeer noquery
	restrict -6 default kod nomodify notrap nopeer noquery
	#這裡是主節點的主機名或者ip
	server ambari1.node.com
	includefile /etc/ntp/crypto/pw
	keys /etc/ntp/keys
	
	啟動服務
	service ntpd start 

安裝perl【所有節點】 由於虛擬機器系統為centos6.9,無perl,需要先安裝perl和numactl

	yum install -y perl
	yum install -y numactl

1.9 .關閉Linux的THP服務 如果不關閉transparent_hugepage,HDFS會因為這個效能嚴重受影響。 關閉transparent_hugepage方法是:

	vi /etc/grub.conf  
	新增 transparent_hugepage=never
	vi /etc/rc.local
	新增:
		if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
			 echo never > /sys/kernel/mm/transparent_hugepage/defrag
		fi
		if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
			  echo never > /sys/kernel/mm/transparent_hugepage/enabled
		fi
		exit 0

在這裡插入圖片描述 在這裡插入圖片描述 1.10 配置UMASK 設定使用者所建立目錄的初始許可權

	umask 0022

2、安裝ambari https://docs.hortonworks.com/HDPDocuments/Ambari-2.5.1.0/bk_ambari-installation/content/ambari_repositories.html 此處我選用2.5.1.0版本 下載 hdp-util.repo 、ambari.repo 拷貝到/etc/yum.repos.d/ 1、yum install ambari-server在這裡插入圖片描述 2、安裝mysql 安裝mysql是因為之後需要使用到mysql作為資料庫配置 此處 有安裝包https://pan.baidu.com/s/1Xm2hkkjQgVOp8WcE8XzBRw 在這裡插入圖片描述 解除安裝已有的mysql-libs rpm -qa | grep mysql rpm -e --nodeps 【包名】 在這裡插入圖片描述 rpm安裝mysql rpm -ivh mysql-community-common-5.7.15-1.el6.x86_64.rpm rpm -ivh mysql-community-libs-5.7.15-1.el6.x86_64.rpm rpm -ivh mysql-community-client-5.7.15-1.el6.x86_64.rpm rpm -ivh mysql-community-server-5.7.15-1.el6.x86_64.rpm 如遇缺少依賴 在這裡插入圖片描述 yum install -y libaio 設定開機啟動

chkconfig mysqld on

啟動mysql服務

service mysqld start

在這裡插入圖片描述 關閉密碼校驗

echo "validate_password=off">> /etc/my.cnf

然後修改mysql配置檔案/etc/my.cnf,請注意這幾個引數配置的位置,不然可能會啟動不起來mysql服務

vi /etc/my.cnf
內容如下:
[mysqld]
character-set-server=utf8 
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8

在這裡插入圖片描述 重啟mysql服務

service mysqld restart

檢視root的初始密碼 密碼在/var/log/mysqld.log 修改 mysql root密碼

mysql -uroot -p [檢視得到的密碼]

在這裡插入圖片描述 針對mysql資料庫再做一些工作:

mkdir /usr/share/java

將mysql-connector-java-5.1.32-bin.jar 複製到/usr/share/java目錄下: 在這裡插入圖片描述 將mysql-connector-java-5.1.32-bin.jar複製/var/lib/ambari-server/resources目錄下:

cp /usr/share/java/mysql-connector-java-5.1.32-bin.jar /var/lib/ambari-server/resources/

編輯ambari.properties

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

新增

server.jdbc.driver.path=/usr/share/java/mysql-connector-java-5.1.32-bin.jar

在配置ambari前先在mysql中建庫建表,可以避免執行ambari-server setup時的中斷。 //建立使用者(ambari-server)

CREATE USER 'ambari-server'@'ambari1.node.com' IDENTIFIED BY 'bigdata';
CREATE USER 'ambari-server'@'localhost' IDENTIFIED BY 'bigdata';
FLUSH PRIVILEGES;

//建立資料庫

create database ambari;

//使用者賦權

GRANT all privileges ON ambari.* TO 'ambari-server'@'ambari1.node.com';
GRANT all privileges ON ambari.* TO 'ambari-server'@'localhost';
FLUSH PRIVILEGES;

如果要安裝Hive,再建立Hive資料庫和使用者 再執行下面的語句:

create database hive character set utf8 ;  
CREATE USER 'hive'@'%'IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;

如果要安裝Oozie,再建立Oozie資料庫和使用者 再執行下面的語句:

create database oozie character set utf8 ;  
CREATE USER 'oozie'@'%'IDENTIFIED BY 'oozie';
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
FLUSH PRIVILEGES;

如果要安裝hue,再建立hue資料庫和使用者 再執行下面的語句:

create database hue character set utf8 ;  
CREATE USER [email protected]'%'IDENTIFIED BY 'hue';
GRANT ALL PRIVILEGES ON *.* TO 'hue'@'%';
FLUSH PRIVILEGES;

然後測試新建的使用者是否可以登入成功:

mysql -u ambari-server -p
輸入密碼:bigdata

在這裡插入圖片描述 然後進入到ambari資料庫執行一個指令碼

use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

在這裡插入圖片描述 ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.32-bin.jar 在這裡插入圖片描述 3、ambari-server setup 在此處,由於待會設定需要用到jdk的環境變數,先執行命令:

echo $JAVA_HOME
/usr/java/jdk1.8.0_151

然後複製這個環境變數的值。 執行ambari-server setup 下面是配置執行流程,按照提示操作

[[email protected] java]# ambari-server setup
(1) 提示是否自定義設定。輸入:y
Using python  /usr/bin/python
Setup ambari-server
Checking SELinux...
SELinux status is 'disabled'
Customize user account for ambari-server daemon [y/n] (n)? y
(2) ambari-server 賬號。
Enter user account for ambari-server daemon (root):
如果直接回車預設選擇root使用者
(3) 檢查防火牆是否關閉
Adjusting ambari-server permissions and ownership...
Checking firewall status...
(4) 設定JDK。輸入:3
Checking JDK...
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
[3] Custom JDK
Enter choice (1): 3
WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
WARNING: JCE Policy files are required for configuring Kerberos security. If you 	plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.
Path to JAVA_HOME:/usr/java/jdk1.8.0_151
Validating JDK on Ambari Server...done.
Completing setup...
Configuring database...
(5) 資料庫配置。選擇:y
Enter advanced database configuration [y/n] (n)? y
Configuring database...
==============================================================	================
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL / MariaDB
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
[7] - BDB
==============================================================	================
Enter choice (1): 3
Hostname (localhost): ambari1.node.com
Port (3306): 3306
Database name (ambari): ambari
Username (ambari): ambari-server
Enter Database Password (bigdata): bigdata
Configuring ambari database...
Configuring remote database connection properties...
WARNING: Before starting Ambari Server, you must run the following DDL against 	the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
L-MySQL-CREATE.sql
Proceed with configuring remote database connection properties [y/n] (y)? y
Extracting system views...
.........ambari-admin-2.5.1.0.159.jar
..
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.

2.4 啟動ambari

ambari-server start

在這裡插入圖片描述 成功啟動後在瀏覽器輸入ambari地址:(http://ip:埠號) 例如我在ambari1.node.com(172.30.81.132上搭建的,訪問地址如下)

http://172.30.81.132:8080

在這裡插入圖片描述 3、安裝配置部署HDP叢集 3.1. 登入 在瀏覽器裡第一次輸入:http:// 172.30.81.182:8080/ 會出現登入介面,預設管理員賬戶登入, 賬戶:admin 密碼:admin 在這裡插入圖片描述 3.2. 安裝嚮導 登入成功後出現下面的介面: 在這裡插入圖片描述 3.3. 設定叢集名稱 給你的叢集命名,點選next 在這裡插入圖片描述 選擇HDP版本 此處我選擇2.5版本

在這裡插入圖片描述 3.4 註冊並安裝ambari-agent 填寫目標主機hostname,這個步驟需要注意,要提前將ambari-server的主機上的私鑰複製出來。 進入根目錄下,然後複製出id_rsa檔案。具體如下截圖。 在這裡插入圖片描述 在這裡插入圖片描述 然後點選註冊並確認! 在這裡插入圖片描述 根據介面上的警告做部分調優,比如防火牆等問題。然後點選下一步 在這裡插入圖片描述 如下圖安裝一些必須元件:hdfs、yarn+mr2、tez、hive、hbase、pig、zookeeper、ambari Metrics、Slider

在這裡插入圖片描述 如果需要其它元件 可以在安裝完hdp集群后再進行新增 在這裡插入圖片描述 進入下一步: 在這裡插入圖片描述 進入下一步: 在這裡插入圖片描述 要根據具體情況修改配置 修改Execution Engine 為mr 在這裡插入圖片描述 修改為mysql 資料庫 之前建立了 hive的資料庫 修改完後測試連結 在這裡插入圖片描述 在ambari Mertrics輸入密碼 在這裡插入圖片描述 在SmartSenses輸入密碼 在這裡插入圖片描述 進行下一步 忽略warning 在這裡插入圖片描述 部署Deploy 在這裡插入圖片描述 等待ambari hdp叢集安裝部署 在這裡插入圖片描述 HDP 安裝成功 在這裡插入圖片描述