Ambari在離線環境中安裝Hadoop集羣 頂 原

(WJW)Ambari在離線環境中安裝Hadoop集羣

     如果手工安裝Hadoop集羣,在管理和後繼部署中,越來越多的問題不斷出現,主要如下:

  • 各集羣節點的配置同步
  • 新應用的部署:比如爲集羣添加hbase應用,需要很細心複雜的配置才能完成,而且要是操作錯誤,還可能導致正常的集羣崩潰
  • 新集羣節點增加:同上
  • 集羣架構調整:比如原來hdfs的namenode和ResourceManager等應用主節點都是放到一臺服務器上的,當應用多後,需要調整獨立,發現異常複雜
  • Hadoop集羣監控 Apache有個項目Ambari能很好的解決上述所有問題!

     Ambari 跟 Hadoop 等開源軟件一樣,也是 Apache Software Foundation 中的一個項目,並且是頂級項目.目前最新的發佈版本是 2.1.2.
就 Ambari 的作用來說,就是創建,管理,監視 Hadoop 的集羣,但是這裏的 Hadoop 是廣義,指的是 Hadoop 整個生態圈(例如 Hive,Hbase,Sqoop,Zookeeper 等),而並不僅是特指 Hadoop.
用一句話來說,Ambari 就是爲了讓 Hadoop 以及相關的大數據軟件更容易使用的一個工具.
     說到這裏,大家就應該明白什麼人最需要 Ambari 了.那些苦苦花費好幾天去安裝,調試 Hadoop 的初學者是最能體會到 Ambari 的方便之處的.
而且,Ambari 現在所支持的平臺組件也越來越多,例如流行的 Spark,Storm 等計算框架,以及資源調度平臺 YARN 等,我們都能輕鬆地通過 Ambari 來進行部署.
     Ambari 自身也是一個分佈式架構的軟件,主要由兩部分組成:Ambari Server 和 Ambari Agent.簡單來說,用戶通過 Ambari Server 通知 Ambari Agent 安裝對應的軟件;
Agent 會定時地發送各個機器每個軟件模塊的狀態給 Ambari Server,最終這些狀態信息會呈現在 Ambari 的 GUI,方便用戶瞭解到集羣的各種狀態,並進行相應的維護.

     生產中的hadoop集羣機器都很多,而且基本都不允許連接公網,爲方便快速部署,非常有必要建立一個本地Repository,使Ambari在離線環境中安裝Hadoop集羣!


[X] 安裝環境:

  • 系統版本:CentOS 6.3 x86_64
  • JAVA版本:JDK-1.7.x
  • 確保機器的 Python 版本大於或等於2.6
  • 服務器列表:

192.168.68.17 T1.youyuan.cn #Ambari Server,namenode1,resourcemanager

192.168.68.18 T2.youyuan.cn #Ambari Agent,namenode2,journalnode1,datanode1,nodemanager1

192.168.68.20 T3.youyuan.cn #Ambari Agent,journalnode2,datanode2,nodemanager2

192.168.68.21 T4.youyuan.cn #Ambari Agent,journalnode3,datanode3,nodemanager3

  • SSL

需要openssl的1.0以上版本!

yum install openssl
或者
yum upgrade openssl
  • JDK

建議安裝Sun的JDK1.7版本! 安裝完畢並配置java環境變量,在/etc/profile末尾添加如下代碼:
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
保存退出即可,然後執行source /etc/profile生效.在命令行執行java -version 如下代表JAVA安裝成功.

  • ssh

需要配置各個節點的免密碼登錄!
首先在自己機器上使用ssh-keygen -t rsa
會要求輸入密碼(必須爲空),回車幾次,然後會在HOME目錄下生成.ssh文件夾,
裏面有私鑰和公鑰,公鑰爲~/.ssh/id_rsa.pub,私鑰爲~/.ssh/id_rsa.
配置本地的免登錄 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
現在你需要將你的公鑰拷貝到服務器上,如果你的系統有ssh-copy-id命令,拷貝會很簡單:ssh-copy-id 用戶名@服務器名, 否則,你需要手動將你的私鑰拷貝到服務器上的~/.ssh/authorized_keys文件中!scp ~/.ssh/authorized_keys T1.youyuan.cn:/root/.ssh/

  • NTP

集羣的時鐘要保證基本的一致.稍有不一致是可以容忍的,但是很大的不一致會 造成奇怪的行爲. 運行 NTP 或者其他什麼東西來同步你的時間.
如果你查詢的時候或者是遇到奇怪的故障,可以檢查一下系統時間是否正確!

echo "server 192.168.0.2" >> /etc/ntp.conf  
chkconfig ntpd on  
service ntpd restart  
ntpq -p  
  • ulimit和nproc

Hdaoop會在同一時間使用很多的文件句柄.大多數linux系統使用的默認值1024是不能滿足的,修改/etc/security/limits.conf文件爲:

      *               soft    nproc   16384
      *               hard    nproc   16384  
      *               soft    nofile  65536  
      *               hard    nofile  65536  

  • 修改 192.168.68.17,192.168.68.18,192.168.68.20,192.168.68.21etc/hosts文件 在文件最後添加:
192.168.68.17  T1.youyuan.cn
192.168.68.18  T2.youyuan.cn
192.168.68.20  T3.youyuan.cn 
192.168.68.21  T4.youyuan.cn

  • 禁止 PackageKit
pkill -9 packagekitd
vim /etc/yum/pluginconf.d/refresh-packagekit.conf

將內容改爲enabled=0


[X] 安裝Ambari Server

在T1上操作

[1] 安裝基本軟件並配置:

yum install yum-utils createrepo yum-plugin-priorities
yum install httpd

編輯/etc/yum/pluginconf.d/priorities.conf,修改爲如下:

[main]
enabled=1
gpgcheck=0

設置httpd:

chkconfig httpd on
service httpd start

[2] 下載主要資源並配置:

採用P2P下載工具(如迅雷等)下載上述主要資源的完整包,再上傳到本地源服務器進行部署.

CenOS最新鏡像下載點:http://isoredirect.centos.org/centos/6/isos/x86_64/
下載後掛載,並拷貝所有內容到/var/www/html/centos6:

mount -o loop /data/install/CentOS-6.7-x86_64-bin-DVD/CentOS-6.7-x86_64-bin-DVD1.iso  /media
cp -r /media /var/www/html/centos6
umount /media

下載拷貝HDP-2.3.2.0和HDP-UTILS-1.1.0.20並解壓到/var/www/html/hdp:

cd /data/temp
wget -O HDP-2.3.2.0-centos6-rpm.tar.gz http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.2.0/HDP-2.3.2.0-centos6-rpm.tar.gz
wget -O HDP-UTILS-1.1.0.20-centos6.tar.gz http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6/HDP-UTILS-1.1.0.20-centos6.tar.gz
mkdir -p /var/www/html/hdp
tar xf HDP-2.3.2.0-centos6-rpm.tar.gz -C /var/www/html/hdp
tar xf HDP-UTILS-1.1.0.20-centos6.tar.gz -C /var/www/html/hdp

下載拷貝Ambari-2.1.2並解壓到/var/www/html/ambari

wget -O ambari-2.1.2-centos6.tar.gz http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.1.2/ambari-2.1.2-centos6.tar.gz
mkdir -p /var/www/html/ambari
tar xf ambari-2.1.2-centos6.tar.gz -C /var/www/html/ambari

完成後結構如下:

[root@Ambari ~]#cd /var/www/html/
[root@yum html]#tree -L 2
.
├── ambari
│   └── ambari-2.1.2
├── centos6
│   ├── CentOS_BuildTag
│   ├── EFI
│   ├── EULA
│   ├── GPL
│   ├── images
│   ├── isolinux
│   ├── Packages
│   ├── RELEASE-NOTES-en-US.html
│   ├── repodata
│   ├── RPM-GPG-KEY-CentOS-6
│   ├── RPM-GPG-KEY-CentOS-Debug-6
│   ├── RPM-GPG-KEY-CentOS-Security-6
│   ├── RPM-GPG-KEY-CentOS-Testing-6
│   └── TRANS.TBL
└── hdp
    ├── HDP
    └── HDP-UTILS-1.1.0.20
    
11 directories, 9 files

創建完成後,就可以通過web路徑訪問測試了(路徑可能不同):http://T1.youyuan.cn/ambari/ambari-2.1.2/centos6/,輸出:

Index of /ambari/ambari-2.1.2/centos6

[ICO]	Name	Last modified	Size	Description
[DIR]	Parent Directory	 	-	 
[DIR]	RPM-GPG-KEY/	03-Oct-2015 22:48	-	 
[DIR]	ambari/	03-Oct-2015 22:48	-	 
[   ]	build.id	03-Oct-2015 22:48	566	 
[TXT]	build_metadata.txt	03-Oct-2015 22:48	196	 
[TXT]	changelog.txt	03-Oct-2015 22:48	0	 
[DIR]	repodata/	03-Oct-2015 22:48	-	 

Apache/2.2.15 (CentOS) Server at t1.youyuan.cn Port 80

[3] 配置本地repo文件:

在各個節點上都要操作!把原來的repo文件屏蔽掉

cd /etc/yum.repos.d/
rename .repo .repoBAK *.repo
#恢復指令
#cd /etc/yum.repos.d/
#rename .repoBAK .repo *.repoBAK

新建CentOS-Media.repo配置文件vi /etc/yum.repos.d/CentOS-Media.repo: 文件內容如下:

[CentOS6-Media]
name=CentOS6-Media
baseurl=http://T1.youyuan.cn/centos6
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[Ambari-2.1.2]
name=Ambari-2.1.2
baseurl=http://T1.youyuan.cn/ambari/ambari-2.1.2/centos6/
gpgcheck=0
enabled=1

[HDP-2.3.2.0]
name=HDP-2.3.2.0
baseurl=http://T1.youyuan.cn/hdp/HDP/centos6/2.x/updates/2.3.2.0
gpgcheck=0
enabled=1

[HDP-UTILS-1.1.0.20]
name=HDP-UTILS-1.1.0.20
baseurl=http://T1.youyuan.cn/hdp/HDP-UTILS-1.1.0.20/repos/centos6
gpgcheck=0
enabled=1

新建ambari.repo配置文件vi /etc/yum.repos.d/ambari.repo: 文件內容如下:

[Ambari-2.1.2]
name=Ambari-2.1.2
baseurl=http://T1.youyuan.cn/ambari/ambari-2.1.2/centos6/
gpgcheck=0
enabled=1

[4] 校驗YUM倉庫ambari:

執行yum repolist,

已加載插件:fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
倉庫標識                                                                                                                             倉庫名稱                                                                                                                             狀態
Ambari-2.1.2                                                                                                                         Ambari-2.1.2                                                                                                                             6
CentOS6-Media                                                                                                                        CentOS6-Media                                                                                                                        6,575
HDP-2.3.2.0                                                                                                                          HDP-2.3.2.0                                                                                                                            175
HDP-UTILS-1.1.0.20                                                                                                                   HDP-UTILS-1.1.0.20                                                                                                                      42
repolist: 6,798

如果有向上面輸出的話,就可以開始安裝了!

[5] YUM在線安裝: ambari-server

yum install ambari-server

等待安裝完成!

[6] 配置AMBARI-SERVER

##指定JAVA_HOME
ambari-server setup -j /usr/java/default
##不指定JAVA_HOME執行
ambari-server setup

選擇n會按默認配置
數據庫類型:postgresql
數據庫:ambari
用戶名:ambari
密碼:bigdata
等待安裝完成

[7] 啓動AMBARI-SERVER

##啓動:
ambari-server start
##查看:
ps -ef | grep Ambari
##停止:
ambari-server stop
##幫助
ambari-server help

然後訪問:http://T1.youyuan.cn:8080
不出意外的話就安裝完成了
用戶名/密碼:admin/admin
Select Stack頁面,打開Advanced Repository Options,要只選擇redhat6,並且把Repository改成

http://T1.youyuan.cn/hdp/HDP/centos6/2.x/updates/2.3.2.0
http://T1.youyuan.cn/hdp/HDP-UTILS-1.1.0.20/repos/centos6

[8] 安裝AMBARI-AGENT

在網絡環境不好的地方或者sshd的端口不是標準的22時,可以在每個agent節點上先手工安裝AMBARI-AGENT

yum install ambari-agent

備註:

  • Ambari安裝的環境路徑: 各臺機器的安裝目錄:
/usr/lib/hadoop
/usr/lib/hbase
/usr/lib/zookeeper
/usr/lib/hcatalog
/usr/lib/hive 
  • Log路徑, 這裏需要看出錯信息都可以在目錄下找到相關的日誌
/var/log/hadoop
/var/log/hbase
  • 配置文件的路徑
/etc/hadoop
/etc/hbase
/etc/hive
  • HDFS的存儲路徑
/hadoop/hdfs

FAQ

  • 主機名格式必須是hoastname.domain,如T1.youyuan.cn
  • Zookeeper-Agent端修改Server指向的HOSTNAME, /etc/ambari-agent/conf/ambari-agent.ini,如修改過主機hostname
  • 安裝失敗後或重新安裝先執行ambari-server resetambari-setup
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章