本次部署總共有4個節點,以下所示:html
主機ipjava |
主機名linux |
操做系統ios |
Cpucentos (每一個2核) oracle |
內存 | 做用 |
192.168.1.70 | h70.hdp.apssh |
Centos6.5性能 |
1個 | 4g測試 |
部署ambarispa |
192.168.1.71 |
h71.hdp.ap |
Centos6.5 |
2個 |
3g |
hdp部署節點1 |
192.168.1.72 |
h72.hdp.ap |
Centos6.5 |
2個 |
3g |
hdp部署節點2 |
192.168.1.73 |
h73.hdp.ap |
Centos6.5 |
2個 |
4g |
hdp部署節點3 |
按照上述表中的主機名在對應的機器上修改它們的hostname,方法以下所示:
在/etc/sysconfig/network中修改hostname項,修改完後重啓生效,/etc/sysconfig/network內容以下所示:
而後修改機器的/etc/hosts文件,將每一個機器的hostname和ip對應起來,將修改後的/etc/hosts文件複製到集羣中的每臺機器,操做以下所示:
由於在ambari和hdp部署過程當中,ambari和hdp部署的節點都有可能互相訪問,因此建議四個節點中的每一個節點之間均可以ssh無密碼登陸,包括它們本身登陸到本身。
在每一臺機器上執行以下操做,首先查看該用戶根目錄下的.ssh文件夾中是否有id_rsa文件,若是沒有執行ssh-keygen命令,一路回車,而後查看生成的文件,爲了不以後的麻煩,建議將該目錄下全部文件的權限修改爲600,本文檔部署在h71機器上的操做以下所示,其餘機器相似:
爲了實現A節點無密碼登陸到B節點,須要將A節點的.ssh/id_rsa.pub文件內容添加到B節點的.ssh/authorized_keys文件中,下面給出了h72節點無密碼登陸到h70節點的方法,用相似的方法實現他們之間任意兩個節點的無密碼登陸。
首先將h72節點的.ssh/id_rsa.pub文件拷貝到h70節點上,注意不要放到.ssh文件夾中,這樣會覆蓋h70節點上的.ssh/id_rsa.pub文件,操做以下所示:
首先將拷貝到h70節點上的id_rsa.pub文件內容添加到.ssh/authorized_keys文件中,操做以下所示:
至此完成了h72節點無密碼登陸h70節點,測試以下:
接下來用相似的方法實現他們之間任意兩個節點的無密碼登陸。
由於hdp中有服務須要集羣的時間同步,因此集羣中的每個機器須要安裝啓動ntp服務保證集羣時間的一致,安裝啓動以下所示:
在集羣中的每臺機器完成上述操做。
由於集羣中的線程之間須要互相通訊,因此須要合理配置防火牆,最簡單的方式是直接關閉防火牆。操做以下所示:
爲了不引發沒必要要的麻煩,關閉集羣節點上的selinux服務,而後重啓,操做以下所示:
若是機器安裝了PackageKit,在/etc/yum/pluginconf.d/refresh-packagekit.conf中將其關閉,操做以下:
確保集羣中節點的umask值爲022,操做以下:
若是機器沒有java環境,在安裝ambari和hdp過程當中,yum會自動從網上下載jdk-7u45-linux-x64.tar.gz,若是網速很快的話,能夠在線獲取。本文檔部署手動下載java包,用的是/jdk-7u67-linux-x64.tar.gz,下載地址爲http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.tar.gz,下載完後,必須放在集羣每一個節點的相同目錄,而後解壓,操做過程以下圖所示:
本文檔部署所用的軟件爲:
1. ambari-1.6.1-centos6.tar.tar,下載地址爲http://public-repo-1.hortonworks.com/ambari/centos6/ambari-1.6.1-centos6.tar.gz;
2. HDP-2.1.5.0-centos6-rpm.tar.tar,下載地址爲http://public-repo-1.hortonworks.com/HDP/centos6/HDP-2.1.5.0-centos6-rpm.tar.gz;
3. HDP-UTILS-1.1.0.17-centos6.tar.tar,下載地址爲http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.17/repos/centos6/HDP-UTILS-1.1.0.17-centos6.tar.gz。手動下載所需的上述軟件;
將下載的ambari-1.6.1-centos6.tar.tar、HDP-2.1.5.0-centos6-rpm.tar.tar、HDP-UTILS-1.1.0.17-centos6.tar.tar軟件放到部署ambari的機器的/var/www/html目錄下(該機器必須先安裝httpd服務,而且啓動httpd服務),而後解壓,操做以下所示:
在改機器上添加/etc/yum.repo.d/ambari.repo文件,它的內容以下所示,其中的192.168.1.70的ip地址要換成部署ambari那臺機器的ip:
在改機器上添加/etc/yum.repo.d/hdp.repo文件,它的內容以下所示,其中的192.168.1.70的ip地址要換成部署ambari那臺機器的ip:
而後將配置好的/ambari.repo 和hdp.repo文件複製到集羣中的其餘節點,操做以下所示:
在安裝ambari的機器上執行yum install ambari-server命令,操做以下所示:
沒有報錯的話,ambari-server安裝成功,接下來執行ambari-server setup -j /usr/local/jdk1.7.0_67命令,啓動-j後面的操做指定jdk安裝的位置,操做以下:
接下來用ambari-server start命令啓動ambari-server,用ambari-server stop命令關閉ambari-server,用ambari-server status命令查看ambari-server的啓動狀態,操做以下:
Ambari-server啓動成功後,能夠經過http://{your.ambari.server}:8080訪問,用戶名和密碼都是admin,訪問界面以下所示:
用admin登陸,出現以下界面,接下來能夠安裝hdp,首先命名集羣,選擇下一步,操做以下所示:
而後選擇安裝的hdp的版本,本次部署用HDP2.1,因此選擇HDP2.1,點開下面的「Advanced Repository Options」,選擇操做系統對應的選項,本次部署選擇redhat6,修改其中「HDP-2.1」和「HDP-UTILS-1.1.0.17」指向的地址,修改爲/etc/yum.repos.d/hdp.repo中它們指向的地址,本次部署「HDP-2.1」指向「http://192.168.1.70/HDP/centos6/2.x/updates/2.1.5.0」,「HDP-UTILS-1.1.0.17」指向「http://192.168.1.70/HDP-UTILS-1.1.0.17/repos/centos6」,而後點擊下一步:
而後在「Target Hosts」方框中填寫部署hdp的集羣,本次部署填寫以下;還須要指定部署ambari機器的「SSH Private Key」,點擊「選擇文件」按鈕,找到部署ambari機器上的「~/.ssh/id_rsa」文件,或者將該文件的內容複製到對應的方框中,而後點擊「Register and Confirm」按鈕:
接下來會進行集羣的註冊和驗證,出現下述畫面表明成功,能夠點擊「Status」欄中的「Success」或者「Failed」查看日誌,以下圖所示:
日誌顯示以下圖所示:
接下來下一步,顯示「選擇服務」界面,默認是全選,能夠根據本身機器的配置和須要選擇服務,本次部署所有選擇,以下圖所示:
而後點擊下一步,接下來顯示的是「指定主節點」的界面,這個根據實際狀況在下拉菜單中選擇,儘量均勻分配,以下圖所示:
而後點擊下一步,接下來顯示的是「指定從節點和客戶端」的界面,這個根據實際狀況選擇服務,儘量均勻分配,以下圖所示:
而後點擊下一步,接下來顯示的是「配置服務選項」的界面,這個根據機器性能配置,以下圖所示:
其中旁邊顯示紅色小圓圈帶數字的表示此項服務中的某些項必須配置,其中的「Hive」、「Oozie」和「Nagios」項中須要設置密碼和email,點開進行配置,操做以下:
而後點擊下一步,接下來顯示的是「複查」界面,顯示了集羣配置服務的狀況,沒有問題,點擊「部署」按鈕,以下圖所示:
接下來進入「安裝、啓動、測試」界面,以下圖所示:
在「安裝、啓動、測試」過程當中,隨時能夠點擊「Message」欄中的項查看日誌,日誌顯示了部署的進展狀況,以下圖所示:
下圖截取了幾張部署過程當中的圖,僅供參考:
出現下面畫面表示「安裝、啓動、測試」成功:
而後點擊下一步,顯示的是「部署狀況」界面,以下圖所示:
而後點擊「完成」按鈕,進入ambari管理界面,以下圖所示:
每次機器重啓後,檢查下防火牆的狀態,若是防火牆開着,必定要執行關閉命令,操做以下:
Centos6.5自帶的openssl-1.0.1e-15.el6_5.x86_64在部署過程當中會出現「error:100AE081:elliptic curve routines: EC_GROUP_new_by_curve_name: unknown group」的錯誤,更新openssl便可,操做以下所示:
操做成功後查看openssl的版本更新了,以下圖所示:
也有不少問題是由這個openssl版本不兼容引發的,以下圖在「Register and Confirm」步驟中出現問題,也與這個問題有關,建議更新下: