关闭

最靠谱的CDH5安装指南

364人阅读 评论(0) 收藏 举报
分类:
字数2106 阅读3520 评论0 

系统要求
系统:CentOS 6.5
Cloudera:CM5.2.0 + CDH 5.2.0
内存:主节点4G内存以上,其他节点需要2G以上内存

Hadoop版本选择

目前Hadoop比较流行的主要有2个版本,Apache和Cloudera版本。
Apache Hadoop:维护人员比较多,更新频率比较快,但是稳定性比较差。
Cloudera Hadoop(CDH):CDH:Cloudera公司的发行版本,基于ApacheHadoop的二次开发,优化了组件兼容和交互接口、简化安装配置、增加Cloudera兼容特性。

准备工作

以下步骤要在所有节点上执行

  • 修改hostname
vi /etc/sysconfig/network
  • 关闭SELinux

查看SELinux状态

getenforce

若SELinux没有关闭,按照下述方式关闭

vi /etc/selinux/config

修改SELinux=disabled。重启生效,可以等后面都设置完了重启主机

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted
  • 关闭防火墙
sudo service iptables stop
sudo chkconfig iptables off
sudo chkconfig iptables --list
  • 网络配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0

设置静态ip,以及指定ip地址

DEVICE="eth0"
BOOTPROTO="static"
IPADDR=192.168.1.110
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
DNS1=8.8.8.8
DNS2=8.8.4.4
GATEWAY=192.168.1.1
  • 修改hosts文件

把所有要添加到集群中的主机都要加入hosts中,格式如下:

127.0.0.1          localhost

# CDH Cluster
192.168.1.110   master
192.168.1.111   slave1
192.168.1.112   slave2

以上步骤执行完毕后,重启主机

reboot

重启后再次检查下以上几点,确保环境配置正确。

提前下载(本教程中,CM和CDH版本均为5.2.0)

    [cloudera-manager]
    # Packages for Cloudera Manager, Version 5, on RedHat or CentOS 6 x86_64                  
    name=Cloudera Manager
    baseurl=https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.2.0/
    gpgkey =https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/RPM-GPG-KEY-cloudera    
    gpgcheck = 1

这里注意下,将.sha1文件后缀更改为.sha,同时把内容只保留hash码部分。(5.2.0版本sha文件内容本身就只包含hash码,不需要修改,其他版本请自行查看!)

Cloudera Manager安装

以下步骤要在所有节点上执行:

  • 将cloudera-manager.repo文件拷贝到所有节点的/etc/yum.repos.d/文件夹下
  • 验证repo文件是否起效
    yum list|grep cloudera
    如果列出的不是你安装的版本,执行下面命令重试
    yum clean all 
    yum list | grep cloudera
  • 将之前下载的rpms文件拷贝到所有节点下(任意目录)
    切换到rpms目录下,执行
    yum -y install *.rpm
  • 将之前下载的Parcel那3个文件拷贝到/opt/cloudera/parcel-repo目录下(如果没有该目录,请自行创建)
    至此,/opt/cloudera/parcel-repo下面有三个文件: CDH-5.2.0-1.cdh5.2.0.p0.36-el6.parcel
    mainfest.json
    CDH-5.2.0-1.cdh5.2.0.p0.36-el6.parcel.sha

以下步骤请只在主节点上执行:

  • 将下载好的bin文件拷贝到主节点任意目录下
  • 进入该目录,给bin文件赋予可执行权限
    sudo chmod +x ./cloudera-manager-installer.bin
  • 安装CM
    ./cloudera-manager-installer.bin
    接下来全部next和yes就行了,因为所需要的rpm包已经提前下载下来了,这个过程会进行的非常快。

CM安装成功

CDH集群安装

  • CM安装成功后浏览器输入http://ip:7180,ip是CM安装的主机ip或者主机名。显示如下界面,用户名和密码都输入admin,进入web管理界面。

CM Web管理界面

如果打不开改网页,请耐心等待会。这个服务启动是需要一定时间的。

  • 选择部署的版本,这里我们选择免费版的就可以了。

CM-选择版本
  • 点击继续

CM-介绍
  • 选择添加的主机。输入主机ip或者主机名,点击搜索。

CM-选择主机

这里如果选择一系列主机可以输入如下的内容:

192.168.1.[101-105]
slave[1-3].com.cn

勾选要添加的主机,继续下一步操作。

  • 选择存储库

这里我们采用Parcel离线安装的方式,安装简便、完全离线而且更便于集群的管理。


CM-选择存储库

选择我们之前上传到服务器的CDH5.2.0版本,其他全选无,下一步。

  • JDK安装选项
    这里之前已经安装过了,所以不需要勾选,直接继续。


    CM-JDK安装
  • 提供SSH登陆凭据
    由于CDH会自动管理所有主机间的SSH通讯,所以我们之前并没有手动配置各个节点间的SSH免密登录。在这里统一设置就行了,设置好密码点继续。


CM-SSH管理
  • 集群安装
    因为这里所需要的软件包我们之前都已经安装过了,这一步会很快结束。

CM-集群安装

安装完成
  • 安装Parcel到所有主机上
    因为Parcel文件已经提前下载好了,第一个进度条会直接显示已下载,然后开始分配。这个过程实际上就是将Parcel内的软件解压缩安装到各个主机上的过程。耐心等待,时间会比较长,我安装2台主机大概是需要20分钟时间。

CM-安装Parcel

安装完毕后点继续


Parcel安装完毕
  • 主机检查
    检查就可以了,建议不要跳过。检查结果如下:

主机检查

下面这2个都是误报,不需要理会。


主机检查2
  • 安装服务
    CDH5提供了你可能需要的各种服务,需要什么启动什么就行了。这里我选择了自定义,添加HBase,HDFS,MapReduce和ZooKeeper,这里大家按照自己的需求选。

CM-添加服务
  • 角色分配
    分配各个节点的角色

CM-角色分配
  • 数据库设置
    CDH默认内嵌了一个数据库,如果你需要MySQL或者Oracle请选择使用自定义数据库,点击测试连接,成功后点继续。

CM-数据库设置
  • 审核更改
    这里全部默认就可以了,直接继续。

CM-审核更改
  • 安装完成,初始化
    到这里集群已经安装部署完成了,CDH会自动对你选择的服务进行初始化设置,你也可以稍后自行开启。

CM-初始化

初始化完成后,将进入主页面


CM-主页

因为我们只安装了2台主机,而HDFS和ZooKeeper建议至少3个节点,所以页面上有一些警告,这些都不影响。到此,CDH集群部署完成。

问题汇总

1、安装过程中遇到以下提示

Detecting Cloudera Manager Server...
    Detecting Cloudera Manager Server...
    BEGIN host -t PTR 192.168.1.198
    198.1.168.192.in-addr.arpa domain name pointer localhost.
    END (0)
    using localhost as scm server hostname
    BEGIN which python
    /usr/bin/python
    END (0)
    BEGIN python -c 'import socket; import sys; s = socket.socket(socket.AF_INET); s.settimeout(5.0); s.connect((sys.argv[1], int(sys.argv[2]))); s.close();' localhost 7182
    Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "<string>", line 1, in connect
    socket.error: [Errno 111] Connection refused
    END (1)
    could not contact scm server at localhost:7182, giving up
    waiting for rollback request

在失败的主机上,终端执行

mv /usr/bin/host /usr/bin/host.bak

然后重试。

2、安装过程一直卡在"正在获取安装锁"
在卡住的主机上,删除/tmp文件夹中的所有scm_prepare_node.开头的文件,清空yum缓存,然后重启主机。

cd /tmp 
rm -rf  scm_prepare_node.*
yum clean all
reboot

3、安装完毕后NameNode格式化失败,报一下错误

IncorrectVersionException: Unexpected version of storage directory /data/dfs

删除NameNode节点的/data/dfs文件夹,重新添加主机。

4、如何更改节点ip
重新设置每台主机的hosts文件,完成后进入主机界面,点击重新运行升级向导,再走一遍之前的流程即可。


更改ip

转发:http://www.jianshu.com/p/57179e03795f
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1424568次
    • 积分:21855
    • 等级:
    • 排名:第332名
    • 原创:470篇
    • 转载:1953篇
    • 译文:3篇
    • 评论:69条
    文章分类
    最新评论
    博客推荐
    http://www.vpser.net/