本文主要內容是使用Windows Azure的VIRTUAL MACHINES和NETWORKS服務安裝CDH (Cloudera Distribution Including Apache Hadoop)搭建Hadoop集群。
項目中在私有雲中使用CDH (Cloudera Distribution Including Apache Hadoop)搭建Hadoop集群進行大數據計算。作為微軟的忠實粉絲,將CDH部署到Windows Azure的虛擬機中是我的必然選擇。由於CDH中包含多個開源服務,所以虛擬機需要開放的端口眾多。Windows Azure中的虛擬機的網絡是被安全隔離的,因此在Windows Azure中Virtual machines的服務中創建多個虛擬機安裝Hadoop cluster,最佳的方案是為Hadoop集群創建虛擬網絡,在虛擬網絡中的資源和服務就像在虛擬私有雲中互相訪問,而與虛擬網絡之外的其他資源是隔離的,從而實現安全性。
What is CDH?
CDH is the distribution of Apache Hadoop and related projects. CDH is 100% Apache-licensed open source and is the only Hadoop solution to offer unified batch processing, interactive SQL, and interactive search, and role-based access controls.
在 Windows Azure 中創建虛擬網絡
- 登錄到 Windows Azure 管理門戶 , 在左下角單擊"新建"。

- 在導航窗格中,依次單擊"網絡"、"虛擬網絡"和"自定義創建"。

- 在"虛擬網絡詳細信息"屏幕上,輸入虛擬網絡的配置信息,然后單擊"下一步"箭頭。在此輸入的配置信息包括虛擬網絡的名稱、地緣組區域和地緣組的名稱。
地緣組是一種用於在同一數據中心以物理方式將 Windows Azure 服務組合起來以提高性能的方法。只能向一個虛擬網絡分配地緣組。
- 設置DNS Server 和 VPN Connectivity,此步驟可不為跳過,在虛擬網絡創建后需要時再設置。

- 在"地址空間和子網"屏幕上,輸入以下信息,然后單擊"下一步"箭頭。地址空間必須為用 CIDR 表示法指定的專用地址范圍:10.0.0.0/8、172.16.0.0/12 或 192.168.0.0/16(由 RFC 1918 指定)。本例中選擇的是 Starting IP 選擇的是192.168.0.0。
單擊右下角的對號按鈕,此時Windows Azure將根據提交的配置創建您的虛擬網絡。

此時,您已在 Windows Azure 中擁有一個虛擬網絡,可以在門戶的"虛擬網絡"選項卡上看到它。更多的詳細配置方法可參考Windows Azure 官方文檔 在 Windows Azure 中創建虛擬網絡 。
從Windows Azure映像庫中創建 Linux 虛擬機
創建Linux虛擬機的步驟可參考 Windows Azure 上的文檔《創建運行 Linux 的虛擬機》 http://www.windowsazure.cn/zh-cn/manage/linux/tutorials/virtual-machine-from-gallery/
請注意在"虛擬機配置"對話框中的"REGION/AFFINITY GROUP/VIRTUAL NETWORK"選項中選擇上一步驟中創建的虛擬網絡。在本例中選中的是作者創建的虛擬網絡"hadoopclusternetwork"。

為虛擬機開放如下的端口,即在虛擬機配置中設置如下的Endpoints。
-
Enable port for Virtual machines
-
7180 (Cloudera Manager web UI)
-
8020, 50010, 50020, 50070, 50075 (HDFS NameNode and DataNode)
-
8021 (MapReduce JobTracker)
-
8888 (Hue web UI)
-
9083 (Hive/HCatalog metastore)
-
41415 (Flume agent)
-
11000 (Oozie server)
-
21050 (Impala JDBC port)
-
使用同樣的方式創建多個虛擬機組成可按照Hadoop的集群,請注意多個虛擬機使用同一個虛擬網絡。
安裝CDH
配置各個主機的 HOSTNAME
vi /etc/sysconfig/network
修改其中的 HOSTNAME
配置各個主機上的/etc/hosts
vi /etc/hosts

修改 HOSTNAME 和 hosts 后,建議重啟。
關閉防火牆
在root下執行下面命令,可以臨時關閉防火牆
service iptables stop
在root下執行下面命令,可以永久關閉防火牆(即,每次開機都會關閉),但需要重啟生效。
chkconfig iptables off
關閉SELinux
$ setenforce 0
如果需要永久關閉,編輯/etc/selinux/config ,設置SELINUX=disabled
,然后完成安裝。
更改Cloudera-manager-installer.bin權限
$ chmod u+x cloudera-manager-installer.bin
$ ./cloudera-manager-installer.bin
接着,接受許可協議,按Enter和Next,
安裝界面如下所示:

啟動 Cloudera Manager Admin 控制台
通過Cloudera Manager Admin控制台,可以配置、管理、監控集群上的Hadoop,WEB端的URL地址是:http://myhost.example.com:7180,myhost.example.com是你安裝Cloudera-Manager-installer.bin的主機域名,當然用IP也是可以的。例如我的WEB端URL地址就是:http://hcc1.cloudapp.net:7180 。按照提示安裝即可,安裝成功的界面如下圖所示。
