Ubuntu 14.04 LTS下通过Cloudera CDH 5.4.8搭建Hadoop集群

最近,根据公司的需求,搭建了一个7个节点的Hadoop集群。这里把搭建的过程和碰到的问题作一个详细的描述,以供将来其他同事学习和参考。
硬件环境:(Cisco UCS C220 M3, 1T硬盘, 64G内存) * 8
操作系统:Ubuntu 14.04 LTS

一. 前期准备工作 1. 集群规划

一共8台服务器,其中1台作为Cloudera Manager的服务端,用来监控集群的健康状况,以及维护集群;另外7台作为大数据集群。具体分配如下:

主机IP角色
tehdname1   10.167.192.224   Namenode  
tehdname2   10.167.192.225   Secondary Namenode  
tehdresmgr   10.167.192.226   YARN, Resource Manager  
tehdapp1   10.167.192.227   运行其他非核心相关部件  
tehdapp2   10.167.192.228   运行其他非核心相关部件  
tehdapp3   10.167.192.229   运行其他非核心相关部件  
tehdapp4   10.167.192.230   运行其他非核心相关部件  
tehdmonitor   10.167.192.231   运行Cloudera Manager  
2. 安装Ubuntu操作系统

对于UCS,我们可以使用U盘来安装Ubuntu系统。
注意,根据实践发现,UCS只有在BIOS中把南桥选项下面的RAID模式设置成Intel,在安装Ubuntu的过程中,才能识别硬盘,因此一定要选用支持Intel RAID的UCS。
另外,如果UCS之前已经配置过了LSI的RAID,则必须在BIOS里面设置成LSI RAID模式,然后删除掉所有的RAID配置,最后在BIOS中再设置成Intel RAID。
CDH本身不建议使用RAID,所以不要配置任何RAID。
安装过程不做具体说明了,建议每一台的分区都设定成一样。

3. 系统配置

在安装CDH前,我们需要进行一些必要的系统配置。在以下所有配置中,如果没有特殊说明,就需要在集群的所有节点上进行配置。完成以下所有配置后,重启所有节点,保证所有的配置都已经生效。

安装SSH
在安装CDH的过程中,Cloudera Manager需要通过SSH跳转到所有的节点上执行任务,另外SSH也为将来的远程维护提供方便。

sudo apt-get update sudo apt-get -y --force-yes install ssh

安装ntp

sudo apt-get update sudo apt-get -y --force-yes install ntp

配置无密码sudo提升至root用户
在安装CDH的过程中,Cloudera Manager需要在节点上通过sudo直接提升至root权限,而不需要在输入密码,因此需要另外创建一个用户,并且设定该用户不需要密码。

#创建新用户leon sudo useradd -b /home -d /home/leon -m -s /bin/bash leon sudo passwd leon #配置新创建的用户可以无需输入密码直接sudo获得root权限 cd echo "leon ALL=(ALL:ALL) NOPASSWD: ALL" > nopasswd sudo chown root.root nopasswd sudo mv nopasswd /etc/sudoers.d/nopasswd #至此,用户leon可以使用sudo命令自己提升至root权限名并且不需要输入密码

配置网络
Ubuntu默认将网络配置成以DHCP的方式获取IP地址。我们的集群中每一台都已经有固定IP地址,这里通过配置/etc/network/interfaces来设定IP地址。比如:

auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 10.167.192.231 netmask 255.255.252.0 gateway 10.167.192.1 auto eth1 iface eth1 inet static address 192.168.1.10 netmask 255.255.255.0 #这个是通过SoftEtner虚拟出来的网卡,用于接入Internet auto vpn_internet iface vpn_internet inet dhcp

配置hosts文件
严格按照下面的格式来配置/etc/hosts文件,否则将来会出现各种各样的问题:

127.0.0.1 localhost.linuxidc.net localhost 10.167.192.224 tehdname1.linuxidc.net tehdname1 10.167.192.225 tehdname2.linuxidc.net tehdname2 10.167.192.226 tehdresmgr.linuxidc.net tehdresmgr 10.167.192.227 tehdapp1.linuxidc.net tehdapp1 10.167.192.228 tehdapp2.linuxidc.net tehdapp2 10.167.192.229 tehdapp3.linuxidc.net tehdapp3 10.167.192.230 tehdapp4.linuxidc.net tehdapp4 10.167.192.231 tehdmonitor.linuxidc.net tehdmonitor 10.167.194.82 tehddev1.linuxidc.net tehddev1

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/40af281ccec21fec86f385f688c437b6.html