ubuntu14上搭建Ambari2.5.1.0記錄
阿新 • • 發佈:2018-12-11
1. 準備步驟
- 準備三臺虛擬機器,安裝作業系統,預設安裝即可(desktop,server版都可以);
- 安裝完成後,通過sudo passwd 設定root使用者密碼;
- 配置網路,編輯/etc/network/interfaces檔案,新增網路配置(這裡配置eth0網絡卡)(虛擬機器的網路模式選擇host device eno1:macvtap(bridge,virtio)
auto eth0
iface eth0 inet static
address XXX.XXX.XXX.XXX
netmask 255.255.252.0
- 預設安裝情況下,防火牆是關閉的,無需操作(可通過ufw status命令檢檢查防火牆狀態)
- selinux,不需要管
- 配置免密:注意:在Ambari server節點上,自己和自己也需要配置免密
- 配置源
方式一:使用系統映象中的源 掛載系統盤:mkdir /media/iso ; mount -o loop XXX.iso /media/iso 備份/etc/apt/sources.list檔案,新建/etc/apt/sources.list檔案,在檔案中新增一行: deb file:///media/iso trusty main deb配置格式說明: deb 源的根目錄(該目錄下一般包含dists,pool兩個資料夾) XX(dists目錄下一個目錄,一般代表軟體安全等獎) YY(XX下的一個目錄,一般代表軟體包類別) 更新源配置:apt-get update 方式二:自己製作源 安裝製作工具:apt-get install dpkg-dev 建立deb包軟體源目錄:mkir -p /ambari/pool/main; mkdir -p /ambari/dists/trusty/main/binary-amd64 收集軟體安裝包,將軟體包放入到/ambari/pool/main目錄下(這裡收集的是amd64架構的包) 進入目錄:cd /ambari/ 建立索引:dpkg-scanpackages pool/main /dev/null > /ambari/dists/trusty/main/binary-amd64/Packages.gz 更新源:vim /etc/apt/sources,新增一行: deb file:///ambari trusty main 更新源:apt-get update 不管那種方式,需要將源釋出出去,通過http服務。 安裝http 服務:apt-get install apache2 ln -s /ambari /var/www/hmtl/ambari
- 安裝ssh工具,並進行配置,執行遠端登入。
apt-get install openssh-server
編輯 /etc/ssh/sshd_config檔案,設定PermitRootLogin yes
重啟ssh 服務:/etc/init.d/ssh restart
(可能配置不成功,可再重啟一次)
- 配置mysql。Ubuntu上預設安裝的mysql是禁止遠端登入的。需要修改配置預設。
vim /etc/mysql/my.cnf 將bind-address配置註釋掉,重啟mysql服務 進入mysql,授權: grant all privileges on *.* to 'root'@'%' identified by 'root_password' with grant option; flush privilges;
- 安裝jdk。最好安裝1.8。Ubuntu上jdk安裝,預設配置是不允許3des_ede_cbc ssl演算法的,開啟此加密演算法
vim $JAVA_HOME/jre/lib/security/java.security
在jdk.tls.disabledAlgorithms配置項中,刪除3DES_EDE_CBC,使得執行https握手時,使用TLS_v1協議
- 到此,基本配置完成
2. 安裝
- 安裝ambari-server: apt-get install ambari-server
- 安ambari-gent: apt-get install ambari-agent ;
- 配置agent:修改/etc/ambari-agent/conf/ambari-agent.init檔案,修改ambari-server 所在節點名,啟動agent,ambari-agent start
- 設定ambari-server: ambari-server setup
- 啟動ambari-server:ambari-server start
3. 遇到的問題
3.1 Ambari Server在啟動時,總是丟擲connection refused的異常,導致Ambari Server啟動不起來 原因:配置的資料庫拒絕遠端連線。配置資料庫,並授權
3.2:在新增節點時,總是丟擲 permission deny的問題
開始還以為是金鑰錯誤。Ambari Server在的節點node1,在新增node1時,還是執行的ssh node1。但是node1和node1沒有配置免密。
3.2:在新增節點時,Agent 連不上Server,丟擲sslError,
ERROR 2018-09-02 11:25:09,300 NetUtil.py:96 - EOF occurred in violation of protocol (_ssl.c:579)
ERROR 2018-09-02 11:25:09,300 NetUtil.py:97 - SSLError: Failed to connect. Please check openssl library versions.
開始按網上說的,修改Ambari Agent,python各種配置都沒有用。後來測試發現:該節點下的Agent 都能正確的向正確的Ambari Server(以前搭建的好的CentOS Ambari叢集中的Ambari Server)傳送註冊請求,並正確通訊,且好的Agent(以前搭建的好的CentOS Ambari叢集中的Ambari Agent)也無法和該Ubuntu Ambari Server通訊。感覺問題應該出現在Ambari Server中。檢視Server配置檔案,也沒有發現什麼相關的配置區別。 後來在ambari-server.log中發現了日誌:
ambari:sslhandshakeException:client requsted protocol tlsv1 not enabled
感覺問題就在這裡。這裡是jre配置問題,修改jre 的安全配置,問題解決。 配置:
vim $JAVA_HOME/jre/lib/security/java.security
在jdk.tls.disabledAlgorithms配置項中,刪除3DES_EDE_CBC,使得執行https握手時,使用TLS_v1協議