飞鸿踏雪0 2015-01-24
本文主要内容是使用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 中拥有一个虚拟网络,可以在门户的"虚拟网络"选项卡上看到它。更多的详细配置方法可参考Windows Azure 官方文档 在 Windows Azure 中创建虚拟网络 。
创建Linux虚拟机的步骤可参考 Windows Azure 上的文档《创建运行 Linux 的虚拟机》 http://www.windowsazure.cn/zh-cn/manage/linux/tutorials/virtual-machine-from-gallery/
请注意在"虚拟机配置"对话框中的"REGION/AFFINITY GROUP/VIRTUAL NETWORK"选项中选择上一步骤中创建的虚拟网络。在本例中选中的是作者创建的虚拟网络"hadoopclusternetwork"。
为虚拟机开放如下的端口,即在虚拟机配置中设置如下的Endpoints。
使用同样的方式创建多个虚拟机组成可按照Hadoop的集群,请注意多个虚拟机使用同一个虚拟网络。
配置各个主机的 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 。按照提示安装即可,安装成功的界面如下图所示。