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

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

     若是手工安裝Hadoop集羣,在管理和後繼部署中,愈來愈多的問題不斷出現,主要以下:html

  • 各集羣節點的配置同步
  • 新應用的部署:好比爲集羣添加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,方便用戶瞭解到集羣的各類狀態,並進行相應的維護.java

     生產中的hadoop集羣機器都不少,並且基本都不容許鏈接公網,爲方便快速部署,很是有必要創建一個本地Repository,使Ambari在離線環境中安裝Hadoop集羣!node


[X] 安裝環境:

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

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

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

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

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

  • SSL

須要openssl的1.0以上版本!vim

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安裝成功.centos

  • 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/ bash

  • 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
相關文章
相關標籤/搜索