六、安裝部署HDP集羣
瀏覽器訪問 http://master:8080,進入amabri登錄頁面,用戶名:admin,密碼: admin
選擇 Launch Install Wizard:
1. Get started
給集羣起個名字,這裏是 BigData:
2. Select stack
選擇 hdp2.3, 將除redhat6 以外的複選框去掉勾。 並且將hdp以及hdp-utiles的baseurl 替換掉默認的值。
3. Install options
寫入三臺機器的GQDN,並選擇第一項provide SSHPrivate Key ,瀏覽私鑰文件id_rsa,這樣部署集羣時會在slave1和slave2上安裝ambari-agent。如圖6.3.1。如果提前安裝了amabri-agent可以選第二項。
提前手動安裝ambari-agent:
#yum install ambari-agent
#vi /etc/ambari-agent/conf/ambari-agent.ini
[server]
hostname=<your.ambari.server.hostname>
url_port=8440
secured_url_port=8441
#ambari-agent start
在三臺機器執行上述代碼,其中 < your.ambari.server.hostname> ,根據每臺機器的hostname來填即可。
點擊下一步。
4.Confirm hosts
圖6.4.1
圖6.4.2
圖6.4.3
如圖6.4.2 ,有警告信息,點開查看如圖6.4.3,提示 關閉 THP,
# vi /etc/grub.conf
加入transparent_hugepage=never,,
title CentOS (2.6.32-431.17.1.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-431.17.1.el6.x86_64 root=/dev/mapper/VolGroup-lv_root ro rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap LANG=zh_CN.UTF-8 rd_LVM_LV=VolGroup/lv_root transparent_hugepage=never KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-431.17.1.el6.x86_64.img
繼續,如圖6.4.5可以看到沒有錯誤了。
圖6.4.5
5.Choose service
服務可根據需要自行選擇。
6.Assign masters
根據負載均衡的原則,將要安裝的服務分配到各臺機器。本集羣的組件分配見表2.2.2。提示:各個組件的Master可都安在master機器上。
7.Assign slaves and clients
可根據需要在master、slave1、slave2上安裝組件,這裏我們選擇三臺機器上均安裝客戶端client。
8.Custom services
看一下各項的參數配置,最後看hive。 主要看內存配置,例如 java heap size 等,根據機器總內存大小來分配,本集羣是將內存設成默認值的一半。這些參數待集羣建好後都是可以再調整的。
看完其他項,接着該 驗證hive 了。
Mysql是安在master上,如圖6.8.2填寫數據庫所在機器的域名,將第五部分提前爲hive建立的數據庫信息填入下表,點擊測試連接。
點擊Next:有提示,不用管,是因爲我們將Java heap size value調小了。
繼續往下,確認集羣的各項:
選擇deploy,接下來是確認部署信息、啓動以及測試了。
Error:可能會出錯,截取部分出錯信息:
Error
Flume:
resource_management.core.exceptions.Fail: Execution of '/usr/bin/yum -d 0 -e 0 -y install 'flume_2_3_*'' returned 1. Error: Package: hadoop_2_3_2_0_2950-2.7.1.2.3.2.0-2950.el6.x86_64 (HDP-2.3)
Requires: nc
You could try using --skip-broken to work around the problem
** Found 3 pre-existing rpmdb problem(s), 'yum check' output follows:
2:postfix-2.6.6-6.el6_5.x86_64 has missing requires of libmysqlclient.so.16()(64bit)
2:postfix-2.6.6-6.el6_5.x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit)
2:postfix-2.6.6-6.el6_5.x86_64 has missing requires of mysql-libs
解決:
提示缺少nc, 執行yum install nc
也有可能是超時,vi /etc/yum.conf
,將 installonly_limit的值設成600
vi /var/lib/ambari-server/resources/stacks/HDP/2.3/repos/repoinfo.xml
,bseurl 改一下。
retry幾次,最後即使沒有全部安好,也可先點Deploy部署集羣,之後再把沒有安成功的服務重新安裝即可。
分別點開三臺機器,如圖可以查看在三臺機器上哪些組件安好、哪些沒安好。
七、啓動服務
集羣部署好以後,許多服務是關閉的,因此會有很多警告。
我們先將服務一項項的啓動,發現警告也會一點點的消除。可能有些組件沒有安成功,點擊hosts,點開每臺機器,會看到有些組件安裝失敗,點擊再安裝即可。