Centos7聯網環境搭建ambari集群及其本地源
文章目錄
- Centos7聯網環境搭建ambari集群及其本地源
- 一、前提準備
- 二、準備安裝
- 1、為虛擬機配置網卡資訊
- 2、配置hostname
- 3、配置ssh
- 4、關閉firewalld、selinux
- 5、安裝JDK1.8
- 6、NTP時間同步
- 7、安裝httpd
- 8、安裝mysql
- 9、安裝mysql jdbc
- 10、搭建資料庫
- 11、制作本地源
- 三、運行安裝程式
- 1、安裝Ambari
- 2、配置Ambari
- 3、啟動ambari
- 四、安裝、配置和部署集群
- 1、登錄
- 2、登錄成功
- 3、準備開始
- 4、選擇堆疊
- 5、配置ambari-agent安裝選項
- 6、安裝ambari-agent
- 7、選擇服務
- 8、分配服務所在主節點
- 9、分配節點
- 10、定制服務
- 11、檢查配置
- 12、安裝并啟動集群
- 13、總結
一、前提準備
1、使用vm創建5臺Centos7虛擬機
(主機數不定,但通常,至少應使用三臺主機:一臺主機和兩臺從機,)
五臺虛擬機均為:
磁盤:1T(精簡置備)
記憶體:4G
cpu:4核
2、下載ambari及其本地源(HDP),鏈接之后給出,
鏈接:
ambari2.6.2.2下載地址
HDP2.6.5.0下載地址
HDP-UTILS-1.1.0.22下載地址
HDP-GPL-2.6.5.0下載地址
檔案較大,提前下載為之后本地源搭建做準備
3、以下為本次搭建所用到的所有檔案

本次搭建五臺虛擬機均使用root用戶
二、準備安裝
1、為虛擬機配置網卡資訊
在centos7系統下,輸入cd /etc/sysconfig/network-scripts/進入網卡組態檔夾,使用vi編輯器編輯網卡檔案,為虛擬機配置ip地址資訊,


此操作要求五臺虛擬機中均完成,之后使用systemctl network restart命令重啟網卡,
使用ping命令,ping www.baidu.com,若能夠ping通,則虛擬機可聯網,
2、配置hostname
(1)在每臺虛擬機中執行hostnamectl set-hostname (你設定的主機名稱),
本次演示中,五臺虛擬機名稱為
ambari
client
master
slave1
slave2
(2)在每臺虛擬機中執行vi /etc/hosts,進入vi編輯器編輯hosts檔案,將五臺虛擬機的IP地址及主機名(hostname)加入其中,
格式為:
ip地址 主機名
若無特殊說明之后所有操作均在ambari主機上操作
3、配置ssh
(1)在每臺主機中執行ssh -keygen
(2)在root檔案下,使用cd命令,進入.ssh/檔案夾
(3)執行cp id_rsa.pub authorized_keys
(4)執行ls命令查看檔案夾,執行vi authorized_keys命令,將其余四臺主機中的id_rsa.pub內的內容復制粘貼入ambari主機中的authorized_keys檔案中,
(5)執行scp -p authorized_keys root@client:/root/.ssh/
該命令將authorized_keys檔案傳入client主機中,以此類推,將檔案傳入其余三臺主機中,
(6)執行ssh client命令查看是否能夠免密登錄,以此類推檢查每個主機間的免密登錄情況(所有主機間都需要實作免密登錄)
4、關閉firewalld、selinux
(1)關閉防火墻
在每個主機中執行以下兩條命令:
systemctl stop firewalld
systemctl disable firewalld
使用systemctl status firewalld查看防火墻狀態
(2)關閉Selinux
vi /etc/sysconfig/selinux
SELINUX=enforcing 改為 SELINUX=disabled
改操作需重啟機器后生效
重啟后使用getenforce命令查看selinux狀態
5、安裝JDK1.8
(1)執行命令mkdir /opt/jdk/,將jdk安裝包傳入jdk檔案夾,使用tar命令解壓,
(2)使用scp命令將jdk檔案傳入其余四臺主機
scp -p /opt/jdk/ root@client:/opt/
以此類推,將jdk檔案夾傳入其余三臺主機,
(3)修改環境變數
vi /etc/profile
在檔案最后填入以下內容
export PATH
export JAVA_HOME=/opt/jdk/jdk1.8.0_261
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
使用java -version命令檢查java安裝情況
(4)修改其余四臺主機的環境變數,并使用java -version驗證java安裝情況
6、NTP時間同步
在虛擬機能夠聯網的情況下,可跳過這個操作,如若需要請自行尋找教程,
7、安裝httpd
依次執行以下命令
yum install httpd -y #安裝
systemctl start httpd #啟動
systemctl enable httpd #開機默認啟動
默認網站根目錄為/var/www/html,無需更改
8、安裝mysql
(1)在mysql官網下載mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar,下載程序中,在ambari創建/opt/mysql/檔案夾
mkdir /opt/mysql
將下載好的壓縮包傳入該檔案夾中,并使用tar -xvf命令釋放壓縮包,
(2)由于Centos7自帶mariadb資料庫,該資料庫驅動與mysql驅動沖突,所以在安裝mysql資料庫前應將其卸載,
執行以下命令
rpm -qa | grep mariadb
使用rpm命令洗掉查詢出的所有檔案
rpm -e --nodeps 檔案名
(3)安裝perl
yum install perl -y
(4)安裝mysql
之前解壓出來的幾個rpm包之間有依賴關系,所以需要按照順序依次執行以下命令安裝:
rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm
至此mysql資料庫安裝完成,
(5)運行mysql
systemctl start mysqld
(6)修改root用戶密碼
在運行mysql后,mysql會自動幫我們創建一個root用戶,需要進入mysql.log中查看root用戶密碼,初始密碼非常復雜,建議更改,
查看mysql.log:
cat /var/log/mysqld.log
找到A temporary password is generated for root@localhost:字樣,之后跟著的就是密碼,復制保存一會使用,
登錄:
mysql -u root -p
輸入剛才復制的密碼
修改密碼:
set global validate_password_policy=0;
set password = password('root1234');
grant all privaileges on *.* to 'root'@'%';
flush privileges;
設定開機啟動
systemctl enable mysqld
9、安裝mysql jdbc
自行加載jar包,將其放入/usr/share/java
本次使用的jar包下載地址:
https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar
可使用wget命令將該檔案直接下載到/usr/share/java檔案中
cd /usr/share/java
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar
將下載的包名稱改為mysql-connector-java.jar
mv mysql-connector-java-8.0.11.jar mysql-connector-java.jar
10、搭建資料庫
使用root用戶登入mysql
mysql -u root -p
創建如下資料庫
create database ambari;
CREATE USER 'ambari'@ '%' IDENTIFIED BY 'Ambari-123';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@ '%';
FLUSH PRIVILEGES
create database hive;
CREATE USER 'hive'@ '%' IDENIFIED BY 'Hive-123';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@ '%';
FLUSH PRIVILEGES
11、制作本地源
(1)將之前下載的ambari,HDP,HDP-UTILS,HDP-GPL壓縮包傳入ambari的/var/www/html/ambari檔案夾中,(自行創建ambari檔案夾)
(2)使用tar命令將其解壓,結果如下:

我們可以在網頁中查詢到這些檔案,在瀏覽器中輸入http://ambari的ip地址/ambari,便可以看到上述檔案,

(3)安裝創建yum源工具
yum install yum-utils createrepo yum-plugin-priorities -y
createrepo ./ #在var/www/html/ambari/下執行即可
(4)配置本地源
將ambari.repo、hdp.repo、hdp-gpl.gpl.repo檔案傳入/etc/yum.repos.d/,上述三個檔案依次在解壓后的ambari/、HDP/、HDP-GPL/下,
可使用wget命令下載至/etc/yum.repos.d/中,也可直接復制到該檔案夾下,
ip地址=httpd服務所在主機的ip地址 (下同)
wget http://{ip地址}/ambari/ambari/centos7/2.6.2.2-1/ambari.repo
wget http://{ip地址}/ambari/HDP/centos7/2.6.5.0-292/hdp.repo
wget http://{ip地址}/ambari/HDP-GPL/centos7/2.6.5.0-292/hdp-gpl.gpl.repo
修改ambari.repo檔案:
vi ambari.repo
將baseurl屬性改為
http://{ip地址}//ambariambari/centos7/2.6.2.2-1/
同上述操作,將hdp.repo、hdp-gpl.gpl.repo檔案中的baseurl屬性全改為相應的地址,其中hdp.repo中還有HDP-UTILS的資訊,也要改成hdp-utils的相應地址,
最后,將這三個檔案發送到其余四個節點
(4)制作本地源
yum clean all
yum makecache
yum repolist
三、運行安裝程式
1、安裝Ambari
yum install ambari-server -y
2、配置Ambari
ambari-server setup
之后按照提示進行操作:
1)提示是否自定義設定,輸入y

2)設定ambari-server賬號,輸入:root

3)設定JDK,輸入:3

選擇本地jdk,輸入JAVA_HOME
4)配置資料庫,輸入:3

屬性依次為:
服務所在主機名、埠(默認3306)、資料庫名、資料庫用戶名、相應密碼
5)將Ambari資料庫腳本匯入到資料庫
使用Ambari用戶登錄mysql
mysql -u ambari -p
use ambari
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
至此Ambari服務配置完成
3、啟動ambari
將/usr/share/java/中的mysql-connector-java.jar復制到/var/lib/ambari-server/resources/中,
cp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/
修改/etc/ambari-server/conf/ambari.properties檔案
vi /etc/ambari-server/conf/ambari.properties
在其中添加
server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
啟動ambari
ambari-server start
成功啟動后,在瀏覽器中輸入ambari地址:http://{ip地址}:8080
四、安裝、配置和部署集群
1、登錄
進入瀏覽器后,出現登錄界面,默認管理員賬戶登錄
賬戶:admin
密碼:admin

2、登錄成功
登錄成功后進入如下界面

點擊Launch Install Wizard
3、準備開始
自定義cluser名稱

4、選擇堆疊

選擇本地源

填入相應地址:
http://{ip地址}/ambari/HDP/centos7/2.6.5.0-292/
http://{ip地址}/ambari/HDP-GPL/centos7/2.6.5.0-292/
http://{ip地址}/ambari/HDP-UTILS/centos7/1.1.0.22/
具體位置根據實際情況填入,以上僅供參考,

5、配置ambari-agent安裝選項

第一個文本框填入除ambari主機外的四臺主機名
第二個文本框填入所有五臺主機的私鑰(/root/.ssh/id_rsa)
6、安裝ambari-agent
第一次執行,可能會報錯

解決方法:
修改所有主機中的/etc/python/cert-verification.cfg檔案
vi /etc/python/cert-verification.cfg
[https]
verify=platform_default
將上述屬性值修改為disable
修改四臺從機中的/etc/ambari-agent/conf/ambari-agent.ini檔案
添加[security]欄以下內容
vi /etc/ambari-agent/conf/ambari-agent.ini
[security]
force_https_protocol=PROTOCOL_TLSv1_2
修改完成后,點擊retry重新注冊

全部通過后,點擊下一步
7、選擇服務

本次搭選擇的服務有:HDFS、YARN+MapReduce2、Tez、Hive、HBase、Pig、Sqoop、ZooKeeper、Ambari Metrics、Kafka、SmartSense、Spark、Slider,
8、分配服務所在主節點
默認就好,不用更改

9、分配節點

將client設定在client主機,其余如圖即可(僅供參考,可根據需求自行選擇)
10、定制服務
進入界面如下

HDFS欄:
將NameNode directories中的 ,/home/hadoop/hdfs/namenode 洗掉
將DataNode directories中的 ,/home/hadoop/hdfs/data 洗掉

YARN欄:
點擊Advanced
將yarn.nodemanager.local-dirs中的 ,/home/hadoop/yarn/local 洗掉
將yarn.nodemanager.log-dirs中的 ,/home/hadoop/yarn/log 洗掉

Hive欄:
點擊Advanced
選擇自行安裝的mysql;
填入之前創建的mysql用戶(hive)的密碼(Hive-123);
將Database URL中的master改為ambari(mysql安裝在ambari上);
點擊測驗,嘗試連接,連接成功即可,

Ambari Metrics欄:
自定義密碼即可

SmartSense欄:
點擊Activity Analysis
自定義密碼即可

可能出現的問題
進入從虛擬機(除ambari外)使用命令
ds -lh #查看本機磁盤使用情況

可以發現 / 目錄下哦那個容量為50G
點擊下一步時,會出現如下警告

hdfs默認為主機檔案系統保留60G的磁盤容量,上述警告為建議為主機檔案系統保留120G的磁盤容量,但是通過命令查詢hdfs掛載的節點容量僅為50G,若設定為120G,會導致hdfs無容量可用,導致一會集群啟動失敗,
在這里,我將dfs.datanode.du.reserved容量設定為20G,
該條屬性請根據虛擬機的具體情況進行自主配置
其余可能的解決辦法:
1)增加一塊磁盤,如有必要請自行查找教程
2)重新劃分磁區,將hdfs掛載節點的容量提高
將dfs.datanode.du.reserved屬性(位置在HDFS->General->Reserved space for HDFS)修改為20G(21474836480 bytes)后無視警告進行下一步,
11、檢查配置
復查,沒有問題進入下一步

12、安裝并啟動集群
所有節點安裝并啟動成功,則至此ambari集群搭建完成
若出現錯誤,則復查之前所有操作,或查看日志,解決所有報錯
成功界面如下:

13、總結

點擊Complete,進入管理界面:

至此,本次搭建ambari集群及其本地源所有操作完成
參考資料:
http://ambari.apache.org/1.2.4/installing-hadoop-using-ambari/content/ambari-chap1.html
–
https://blog.csdn.net/weixin_42348946/article/details/90268875?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduend~default-2-90268875.nonecase&utm_term=ambari%E9%85%8D%E7%BD%AEyum%E6%BA%90
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/174460.html
標籤:其他
下一篇:記第一次編譯Linux內核
