阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

179次阅读
没有评论

共计 5550 个字符,预计需要花费 14 分钟才能阅读完成。

最近,根据公司的需求,搭建了一个 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
  • 配置 hostsname 文件
    一般在安装操作系统的时候指定的主机名是不带域名的,这里要把 /etc/hostname 文件的内容改为带完整域名的主机名。比如如下主机名:
tehdname1.linuxidc.net
  • 配置 sysctl.conf 文件
    在 /etc/sysctl.conf 文件的最后加入以下一行代码:
vm.swappiness=0     # 注意等号前后都没有空格
  • 其他配置

二. 安装 CDH

在安装 CDH 的过程中,需要访问 Internet 用于下载必要的软件或安装包。其中,在运行 Cloudera Manager 的节点上需要下载安装 JDK, Couldera Manager Server, DB, CDH 包等等,其他所有节点都需要下载 JDK, Cloudera Manager Agent 等。
为了节省在安装过程中占用的网络带宽资源,节省下载安装包所消耗的时间,并考虑到以后可能存在的推到重装的可能性,建议先挑选一台主机,将该主机作为集群中唯一的节点来进行安装,当所有需要的安装包都下载完成后,即可中断安装过程,然后把这些包都备份起来。备份方法可参考如下命令:

mkdir ~/backup
mkdir ~/backup/packages
cp /var/cache/apt/archives/*.deb ~/backup/packages
mkdir ~/backup/cdh
cp /opt/cloudera/parcel-repo/* ~/backup/cdh

安装过程

为方便截图,且不影响现有的集群,以下安装过程在虚拟机上完成。

1. 更新源
在所有节点上执行以下命令:

cd /etc/apt/sources.list.d
sudo wget http://archive.cloudera.com/cm5/ubuntu/trusty/amd64/cm/cloudera.list
sudo apt-get update

2. 将安装包复制到所有节点上去
假定在前面的步骤中,安装包都备份在 tehdmonitor 主机上,在所有节点上(包括 tehdmonitor)上执行以下命令:

sudo scp leon@tehdmonitor:/home/leon/backup/packages/*.deb /var/cache/apr/archives

3. 在 Cloudera Manager 节点上安装 JDK, cloudera server, DB
在 Cloudera Manager 节点上执行以下命令:

sudo apt-get -y --force-yes install ssh Oracle-j2sdk1.7
sudo apt-get -y --force-yes install cloudera-manager-daemons cloudera-manager-server
sudo apt-get -y --force-yes install cloudera-manager-server-db-2

4. 复制备份的 CDH 包到 Cloudera Manager 节点
在 Cloudera Manager 节点上执行以下命令:

sudo cp /home/leon/backup/cdh/* /opt/cloudera/parcel-repo

5. 启动 Cloudera Manager 节点
在 Cloudera Manager 节点上执行以下命令:

sudo service cloudera-scm-server-db start
sudo service cloudera-scm-server start

等 Cloudera Manager 启动完成后,等大约 2 分钟,我们就可以通过 Web UI 来配置我们的集群了。

6. 打开 Cloudera Manager 的 Console (Web UI),并按提示进行操作

  • 打开 Web UI
    使用浏览器访问 Cloudera Manager 节点的 7180 端口,比如 http://tehdmonitor:7180
    Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

  • 登陆系统
    登陆的用户名和密码都是 admin

  • 选择版本
    公司很抠门的,选择免费的 Express 版本就好了,然后点“继续”按钮
    Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

看到下面的这个界面,点“继续”按钮
Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

  • 指定集群的主机
    在这里,把你集群里面的节点都写上去,注意不要把 Cloudera Manager 节点放进去了,除非你确定需要把 Cloudera Manager 的节点也作为集群的一个节点。然后点“搜索”按钮
    Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

等到搜索结果出来了,把节点全都选中,然后点“继续”按钮
Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

  • 集群 CDH 包的选择
    这里保持默认的就好了,除非你确定还要选择其他的包。然后点“继续”按钮
    Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

  • JDK 选项
    先选中“安装 Oracle JDK”,然后再选中“安装 Java 无限制强度加密”, 然后点“继续”按钮
    Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

  • 启用单用户模式
    这一页保持默认就好了,点“继续”按钮
    Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

  • 提供 SSH 登陆凭据
    这里的“登陆到所有主机,作为”要选择“其他用户”,然后输入前面创建的无密码 sudo 变为 root 的用户,然后下面输入密码和确认密码,然后点“继续”按钮,然后耐心等待安装完成。
    Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

安装完成后的界面如下,然后点击“继续”按钮
Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

  • 安装选定的 Parcel
    在这个界面耐心等待“继续”按钮变亮,注意,如果你现在做的是为了备份安装包而进行的单节点临时安装过程,那么到这里就可以停止了,然后进行安装包的备份操作。如果你是在安装一个实际会使用的集群,那么请点击“继续”按钮
    Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

  • 检查主机正确性
    在这个界面耐心等待主机检查完成,要保证没有一个错误。如果有任何错误,参考前面的配置修改,然后点“重新运行”按钮,如果没有任何问题了,就点“完成”按钮
    Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

  • 选择集群服务
    在集群服务选择页,选择“自定义服务”,然后选择想要安装的服务。这里说明几点:

    1. 不要选 Isilon,否则后面的配置会麻烦点。有兴趣的可以尝试
    2. 不要选择 MapReduce,后面选择的 YARN 已经包含这个了
    3. 千万不要选择 Spark。在集群中只有一个节点时不会有问题,如果集群中有多个节点,那么 Spark 将会导致后面的安装失败,这个是可能是 CDH 的一个 BUG。解决方法是,这时候不要选 Spark,等集群安装好以后再单独添加 Spark 服务。
      服务选择好以后,点击“继续”按钮
      Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群
  • 分配集群角色
    根据自己的需求来分配就好了。尽量不要把所有的角色分配到一个节点上,避免该节点的负担太重。我这里是用虚拟机演示的,所以所有的服务都安装到唯一个这个节点了。
    另外,ZooKeeper 的节点数应该为 3 或 5,这个是 Cloudera 的建议值。
    角色分配完了,就点“继续”按钮
    Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

  • 数据库设置
    这里可以使用自定义的数据库或嵌入式的数据库,一定要保证点击“测试连接”能通过,建议自己在对应服务的节点上安装 MySQL 数据库,然后这里选择自定义数据库。测试连接通过后,点“继续”按钮
    Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

  • 审核更改
    这一页保持默认就可以了,或者根据实际的情况来修改。然后点“继续”按钮
    Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

  • 安装服务
    接下来就可以坐下来喝杯茶,慢慢等集群安装完成了。我的虚拟器的内存太小,没到装完就会卡死,只能截一个安装一部分的图了。
    Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群
    所有的服务都安装完成后,集群会自己启动。

本文写到这里就结束了,这里附上一张集群正常运行的截图。
Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群

完整 PDF 文档可以到 Linux 公社资源站下载:

—————————————— 分割线 ——————————————

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2017 年资料 /11 月 / 7 日 /Ubuntu 14.04 LTS 下通过 Cloudera CDH 5.4.8 搭建 Hadoop 集群 /

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

—————————————— 分割线 ——————————————

 更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

 本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/148350.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计5550字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中