本文主要内容是使用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 。按照提示安装即可,安装成功的界面如下图所示。