Hadoop集群安裝(centos7.5+ambari-2.7.4.0部署安裝)


 

--環境信息:

namenodemaster.hadoop

公網:122.225.77.45

內網:192.168.1.45

yarnserver.hadoop

公網:122.225.77.46

內網:192.168.1.46

slave001.hadoop

公網:122.225.77.47

內網:192.168.1.47

slave002.hadoop

公網:122.225.77.48

內網:192.168.1.48

 

--安裝所需的包:

ambari-2.7.4.0-centos7.tar.gz
HDP-3.1.4.0-centos7-rpm.tar.gz
HDP-GPL-3.1.4.0-centos7-gpl.tar.gz
HDP-UTILS-1.1.0.22-centos7.tar.gz
jdk-8u211-linux-x64.tar.gz
mysql57-community-release-el7-10.noarch.rpm

下載:

鏈接:https://pan.baidu.com/s/1TIk73wgNiRSO2OixEL5w_g 
提取碼:ke4e

下載鏈接:

HDP:http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.1.4.0/HDP-3.1.4.0-centos7-rpm.tar.gz
HDP-UTILS:http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
HDP-GPL:http://public-repo-1.hortonworks.com/HDP-GPL/centos7/3.x/updates/3.1.4.0/HDP-GPL-3.1.4.0-centos7-gpl.tar.gz
Ambari 2.7.4:http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.4.0/ambari-2.7.4.0-centos7.tar.gz

 

提前准備:

1、四台服務器關閉防火牆、selinux

2、配置java環境

參考:https://www.cnblogs.com/xiaoyou2018/p/9945272.html

3、設置NTP

5、設置秘鑰登錄

參考:https://www.cnblogs.com/xiaoyou2018/p/9855908.html

6、修改四台服務器的hosts

7、修改yum源

8、安裝數據庫

參考:https://www.cnblogs.com/xiaoyou2018/p/9831272.html

配置NTP

以namenodemaster.hadoop為ntp校准服務器:
下載ntp
yum -y install ntp
依次輸入以下命令
systemctl is-enabled ntpd
systemctl enable ntpd
systemctl start ntpd

[root@namenodemaster opt]# vim /etc/ntp.conf 
restrict 127.0.0.1
restrict ::1
#Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
#restrict 192.168.10.0 mask 255.255.240.0 nomodify notrap //允許的網絡字段連接ip限制
server 127.127.1.0 //以本機時間為准
fudge 127.127.1.0 stratum 10
#server 0.centos.pool.ntp.org iburst //全部注釋掉
#server 3.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst

 

其他節點配置如下

[root@yarnserver opt]# vim /etc/ntp.conf

driftfile /var/lib/ntp/drift

restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1

server namenodemaster.hadoop

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

disable monitor


檢查是否成功用“ntpstat”命令查看同步狀態,出現以下狀態代表啟動成功
[root@namenodemaster opt]# ntpstat
synchronised to NTP server (84.16.73.33) at stratum 2
time correct to within 105 ms
polling server every 1024 s

設置秘鑰登錄

需要注意

服務器端的 authorized_keys這個只能是600權限

在namenodemaster.hadoop上需要運行

cat id_rsa.pub >> authorized_keys

最終的結果是namenodemaster.hadoop、yarnserver.hadoop能相互使用秘鑰登錄,同時都能秘鑰登錄slave01   slave02

 

修改hosts

在四台服務器上分別運行

echo -e "192.168.1.45 namenodemaster.hadoop namenodemaster \n192.168.1.46 yarnserver.hadoop yarnserver \n192.168.1.47 slave001.hadoop slave001 \n192.168.1.48 slave002.hadoop slave002" >> /etc/hosts

主機名一定要配置正確。如何驗證主機名(DQDN)配置是否OK,輸入命令hostname -f進行查看

修改yum源

四台服務器分別

1、備份本地yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
2.獲取阿里yum源配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo


yum makecache

 

創建數據庫

創建庫ambari、hive、oozie、ranger、rangerkms

CREATE DATABASE ambari CHARACTER SET utf8 COLLATE utf8_general_ci; 
use ambari; 
CREATE USER 'ambari'@'%' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%'; 
CREATE USER 'ambari'@'localhost' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost'; 
CREATE USER 'ambari'@'master' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'master'; 
FLUSH PRIVILEGES; 
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql 
show tables; 
use mysql; 
select Host User Password from user where user='ambari';

CREATE DATABASE hive CHARACTER SET utf8 COLLATE utf8_general_ci; 
use hive; 
CREATE USER 'hive'@'%' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%'; 
CREATE USER 'hive'@'localhost' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost'; 
CREATE USER 'hive'@'master' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'master'; 
FLUSH PRIVILEGES; 

CREATE DATABASE oozie CHARACTER SET utf8 COLLATE utf8_general_ci; 
use oozie; 
CREATE USER 'oozie'@'%' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%'; 
CREATE USER 'oozie'@'localhost' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'localhost'; 
CREATE USER 'oozie'@'master' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'master'; 
FLUSH PRIVILEGES;

CREATE DATABASE ranger CHARACTER SET utf8 COLLATE utf8_general_ci; 
use ranger; 
CREATE USER 'rangeradmin'@'%' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'rangeradmin'@'%'; 
CREATE USER 'rangeradmin'@'localhost' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'rangeradmin'@'localhost'; 
CREATE USER 'rangeradmin'@'master' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'rangeradmin'@'master'; 
FLUSH PRIVILEGES;

CREATE DATABASE rangerkms CHARACTER SET utf8 COLLATE utf8_general_ci; 
use rangerkms; 
CREATE USER 'rangerkms'@'%' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'rangerkms'@'%'; 
CREATE USER 'rangerkms'@'localhost' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'rangerkms'@'localhost'; 
CREATE USER 'rangerkms'@'master' IDENTIFIED BY '123456ABcd'; 
GRANT ALL PRIVILEGES ON *.* TO 'rangerkms'@'master'; 
FLUSH PRIVILEGES;

配置mysql驅動

[root@master yum.repos.d]# yum install mysql-connector-java -y
[root@master yum.repos.d]# cd /usr/share/java
[root@master yum.repos.d]# chmod 644 mysql-connector-java.jar
[root@master yum.repos.d]# cp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jar
[root@master yum.repos.d]# vim /etc/ambari-server/conf/ambari.properties
添加server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

離線安裝ambari

1、安裝httpd服務 - 主服務器

[root@namenodemaster opt]# yum -y install httpd

[root@namenodemaster opt]# systemctl start httpd

[root@namenodemaster opt]# systemctl enable httpd

2、上傳ambari-2.7.4.0-centos7.tar.gz   HDP-UTILS-1.1.0.22-centos7.tar.gz   HDP-3.1.4.0-centos7-rpm.tar.gz  放到/var/www/html目錄下 - 主服務器
安裝完成后,會生成 /var/www/html目錄(相當於Tomcat的webapps目錄),進入到/var/www/html目錄下,
創建ambari和hdp目錄,用來存放安裝文件.

[root@yum ~]# mkdir /var/www/html/ambari [root@yum ~]# mkdir /var/www/html/hdp
[root@yum ~]# mkdir /var/www/html/hdp/HDP-UTILS-1.1.0.22
[root@yum ~]# tar -zxvf ambari-2.7.4.0-centos7.tar.gz -C /var/www/html/ambari/
[root@yum ~]# tar -zxvf HDP-3.1.0.0-centos7-rpm.tar.gz -C /var/www/html/hdp/
[root@yum ~]# tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS-1.1.0.22/

3、現在可以通過訪問

http://122.225.77.45/ambari/
http://122.225.77.45/hdp/

4、制作本地源-主服務器

cd /etc/yum.repos.d/

vim ambari.repo

#VERSION_NUMBER=2.7.4.0-118
[ambari-2.7.4.0]
#json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
name=ambari Version - ambari-2.7.4.0
baseurl=http://122.226.73.45/ambari/ambari/centos7/2.7.4.0-118/
gpgcheck=1
gpgkey=http://122.226.73.45/ambari/ambari/centos7/2.7.4.0-118/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

 

vim hdp.repo

#VERSION_NUMBER=3.1.4.0-315
[HDP-3.1.4.0]
name=HDP Version - HDP-3.1.4.0
baseurl=http://122.226.73.45/hdp/HDP/centos7/3.1.4.0-315/
gpgcheck=1
gpgkey=http://122.226.73.45/ambari/ambari/centos7/2.7.4.0-118/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

 

vim hdp-utils.repo

[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://122.226.73.45/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22/
gpgcheck=1
gpgkey=http://122.226.73.45/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

 

清理一下yum緩存

[root@master ambari]# yum clean all

[root@master ambari]# yum makecache

[root@master ambari]# yum repolist

將創建好的文件拷貝到其他服務器
scp -P 10022 ambari.repo hdp.repo hdp-utils.repo root@yarnserver.hadoop:$PWD
scp -P 10022 ambari.repo hdp.repo hdp-utils.repo root@slave001.hadoop:$PWD
scp -P 10022 ambari.repo hdp.repo hdp-utils.repo root@slave002.hadoop:$PWD

初始化ambari-server

[root@master ~]# ambari-server setup

(1) 提示是否自定義設置。輸入:y
Customize user account for ambari-server daemon [y/n] (n)? y
(2)ambari-server 賬號。
Enter user account for ambari-server daemon (root):
如果直接回車就是默認選擇root用戶
如果輸入已經創建的用戶就會顯示:
Enter user account for ambari-server daemon (root):ambari
Adjusting ambari-server permissions and ownership...
(3)檢查防火牆是否關閉
Adjusting ambari-server permissions and ownership...
Checking firewall...
WARNING: iptables is running. Confirm the necessary Ambari ports are accessible. Refer to the Ambari documentation for more details on ports.
OK to continue [y/n] (y)?
直接回車
(4)設置JDK。輸入:3
Checking JDK...
Do you want to change Oracle JDK [y/n] (n)? y
[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
如果上面選擇3自定義JDK,則需要設置JAVA_HOME。輸入:/usr/local/java/
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_131
Validating JDK on Ambari Server...done.
Completing setup...
(5)數據庫配置。選擇:y
Configuring database...
Enter advanced database configuration [y/n] (n)? y
(6)選擇數據庫類型。輸入:3
Configuring database...
==============================================================================
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
==============================================================================
Enter choice (3): 3
(7)設置數據庫的具體配置信息,根據實際情況輸入,如果和括號內相同,則可以直接回車。如果想重命名,就輸入。
Hostname (localhost): namenodemaster.hadoop
Port (3306): 3306
Database name (ambari): ambari
Username (ambari): ambari
Enter Database Password (bigdata):ambari123
Re-Enter password: ambari123
(8)將Ambari數據庫腳本導入到數據庫
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 
Proceed with configuring remote database connection properties [y/n] (y)? y
[root@master ~]# ambari-server start

錯誤處理:
如果出現錯誤,請注意查看日志,根據具體的錯誤內容進行處理,默認ambari-server的日志在/var/log/ambari-server/ambari-server.log里面。如果在處理日志的過程中或者后面安裝的過程中出現一些莫名的錯誤,可以重置的安裝。
手動將mysql里面創建的數據庫進行刪除,使用下面的代碼重置ambari-server。

手動刪除數據庫

[root@master ~]# mysql -uroot -p
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| ambari |
| hive |
| oozie |
| performance_schema |
+--------------------+
rows in set (0.00 sec)
mysql> drop database ambari;
mysql> drop database hive;
mysql> drop database oozie;

重置ambari-server

[root@master ~]# ambari-server stop

[root@master ~]# ambari-server reset

[root@master ~]# ambari-server setup

安裝部署HDP集群

登錄ambari界面

http://namenodemaster.hadoop:8080

賬戶密碼默認 admin

 

選擇版本,加入本地源

http://122.225.77.45/hdp/HDP/centos7/3.1.4.0-315/
http://public-repo-1.hortonworks.com/HDP-GPL/centos7/3.x/updates/3.1.4.0/
http://122.225.77.45/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22/

 

 

 
         




檢查潛在的問題,可以通過這個查看有什么問題

選擇安裝組件

勾選DataNote、NameNode、Client

配置安全密碼

紅色的都要設置,原有的不用修改


提示驅動問題的話
[root@namenodemaster java] ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
[root@namenodemaster java] ambari-server restart


完成集群部署

 

當集群突然斷電之后,重啟怎么辦?
解決辦法: 
1、啟動ntpd(時間同步)服務 
有的系統管理員在測試集群上沒有讓ntpd開機啟動,就要手動啟動了,一般情況下,生產集群上是肯定開啟的。 
service ntpd start

2、重啟ambari服務和ambari代理 
ambari-server restart(主節點) 
ambari-agent restart(各個節點都要重啟)

3、通過圖形界面啟動和管理各個服務 
通過瀏覽器訪問一下地址http://主機ip:8080進行管理即可

 

HDFS  UI 無法打開

其實問題很簡單,因為在CDH中hdfs-site.xml配置文件中WEB UI配置的是域名,而域名在Hosts又被解析成內網IP。

你使用netstat -apn | grep 50700看一下監聽情況。

你會發現監聽的是你的內網IP,而不是外網IP,所以HDFS的WEB UI就無法訪問

需要更改50700綁定0.0.0.0

更改config配置

Oozie   Web Console Is Disabled問題解決方法

1、登錄至主服務器

2、手動下載extjs-2.2-1.noarch.rpm庫,並安裝

wget http://public-repo-1.hortonworks.com/HDP-UTILS-GPL-1.1.0.22/repos/centos7-ppc/extjs/extjs-2.2-1.noarch.rpm

rpm -ivh extjs-2.2-1.noarch.rpm

3、刪掉這個/usr/hdp/current/oozie-server/.prepare_war_cmd

rm /usr/hdp/current/oozie-server/.prepare_war_cmd

4、重啟Oozie服務

重新登錄

 

 

新增datenode服務器

新增加host
1、yum源
2、修改hosts
3、密鑰登陸
4、java
5、拷貝服務器上面的本地源配置文件到新增主機的/etc/yum.repos.d/ 目錄
服務器端
scp -P 10022 ambari.repo hdp.repo hdp-utils.repo root@slave003.hadoop:$PWD
scp -P 10022 ambari.repo hdp.repo hdp-utils.repo root@slave004.hadoop:$PWD
客戶端
清理一下yum緩存
yum clean all
yum makecache
yum repolist

 

 

默認的數據存放路徑是  /usr/hdp

磁盤空間一定要夠,不然安裝報錯

oozie報錯,可以從報錯很明顯看到失敗原因

 

刪除主機

需要現在節點上執行

ambari-agent stop

然后

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM