设为首页 收藏本站
查看: 1937|回复: 0

[经验分享] CDH5.3.3最新版离线安装(内置hadoop2.5.0)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-4-28 08:23:45 | 显示全部楼层 |阅读模式


    由于是最新版网上上资料比较少,很多问题只能翻墙去找答案。大家只要严格按照我的步骤一步一步来就一定能安装成功,所有步骤都在公司集群上亲自实验过,其中也参考了大量网上资料,在此对那些无私奉献者表示感谢!
在线安装的两种方式就不介绍了,大家可以自己去官网看文档,不推荐大家在线安装,要是安装过程碰到问题会很麻烦。

下面直接进入正题,下载所需离线安装包
Cloudrea Manager5.3.3下载地址
http://archive.cloudera.com/cm5/
下载cloudera-manager-el6-cm5.3.3_x86_64.tar.gz文件
CDH5.3.3下载地址
http://archive.cloudera.com/cdh5/
下载CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel,CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1,manifest.json
这三个文件,其中CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1的文件名需要修改为
CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha


环境准备
      1.CentOS release 6.5 (Final)-----cat  /etc/issue
      2.3台主机:cdh1.hadoop.com
                       cdh2.hadoop.com
                       cdh3.hadoop.com
      3.每台机器内存16G (建议32G),硬盘1T
      4.每台机器确保能连外网

所有节点关闭防火墙
在防火墙开启的情况下,执行如下两条命令:
临时关闭:  service iptables stop
永久关闭防火墙:chkconfig iptables off
两个命令同时运行,运行完成后查看防火墙关闭状态:
service iptables status

所有节点关闭SELINUX
修改/etc/selinux/config 下的将SELINUX=enforcing改为SELINUX=disabled(重启后生效)
setenforce 0  临时生效
查看SELinux状态:
1、/usr/sbin/sestatus -v  ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce   ##也可以用这个命令检查


配置主机名和IP地址
修改/etc/hosts文件,添加:
192.168.1.105  cdh1.hadoop.com
192.168.1.106  cdh2.hadoop.com
192.168.1.107  cdh3.hadoop.com


修改主机名
修改/etc/sysconfig/network文件:
HOSTNAME=cdh1.hadoop.com
执行hostname cdh1.hadoop.com命令让主机名立即生效
执行命令:servicenetwork restart

打通SSH,设置ssh无密码登陆(所有节点)
(1)所有节点(cdh1.hadoop.com、cdh2.hadoop.com、cdh3.hadoop.com):
生成无密码的密钥对:ssh-keygen -t rsa一路回车,生成无密码的密钥对。
(2)主节点(cdh1.hadoop.com):将公钥添加到认证文件中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
(3)scp文件到datenode节点(cdh2.hadoop.com):
    scp ~/.ssh/authorized_keys root@cdh2.hadoop.com:~/.ssh/
(4)将cdh2.hadoop.com的公钥添加到认证文件中:
    cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
(5)复制cdh2.hadoop.com的认证文件到cdh3.hadoop.com:
       scp ~/.ssh/authorized_keys root@cdh3.hadoop.com:~/.ssh/
(6)将cdh3.hadoop.com的公钥添加到认证文件中:
    cat~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
(7)设置authorized_keys的访问权限:
chmod 600 ~/.ssh/authorized_keys。
       (8)将最终生成的认证文件复制到所有节点:
              scp ~/.ssh/authorized_keys root@cdh1.hadoop.com:~/.ssh/
              scp~/.ssh/authorized_keys root@cdh2.hadoop.com:~/.ssh/
       (9)测试(不需要密码能够直接登陆):
              sshcdh1.hadoop.com
              sshcdh2.hadoop.com
              sshcdh3.hadoop.com

安装NTP服务,同步时间
所有节点安装相关组件:yum installntp。
完成后,配置开机启动: chkconfig ntpd on ,
检查是否设置成功:chkconfig--list ntpd其中2-5为on状态就代表成功。
主节点配置(cdh1.hadoop.com)
    在配置之前,先使用ntpdate手动同步一下时间,免得本机与对时中心时间差距太大,使得ntpd不能正常同步。这里选用202.120.2.101(上海交通大学网络中心NTP服务器地址)作为对时中心,输入命令:
ntpdate -u 202.120.2.101

修改配置文件 /etc/ntp.conf,没用的注释掉:
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap
server 202.120.2.101 prefer  #远程服务器地址
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
配置文件修改后,执行如下命令:
1 service ntpd start  
2 chkconfig ntpd on (设置开机启动)
ntpstat命令查看同步状态

配置ntp客户端(cdh2.hadoop.com,cdh3.hadoop.com)
修改配置文件 /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict127.0.0.1
restrict -6 ::1
restrict default kod nomodify notrap nopeernoquery
restrict -6 default kod nomodify notrapnopeer noquery
server cdh1.hadoop.com #这里是主节点的主机名或者ip
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
手动同步时间ntpdate -u cdh1.hadoop.com
启动服务service ntpdstart
设置开机启动chkconfig ntpd on

安装OracleJava(所有节点)
CDH5.3.3需要Java7的支持,使用 rpm -qa | grep java 查询java相关的包,个人根据系统不同可能有所不同,下面是我机器上需要卸载的openJDk
rpm -e --nodeps  java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64
rpm -e --nodeps  java-1.7.0-openjdk-devel-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodeps  java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodeps  java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
rpm -e --nodeps  java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64
去Oracle的官网下载jdk的rpm安装包,并使用 rpm -ivh包名安装
rpm-ivh  jdk-7u79-linux-x64.rpm
修改文件/etc/profile改变环境变量
exportJAVA_HOME=/usr/java/jdk1.7.0_79
exportJRE_HOME=$JAVA_HOME/jre
exportPATH=$JAVA_HOME/bin:$PATH
为使生效:source /etc/profile
安装配置Mysql(主节点)执行命令:yum installmysql-server
设置开机启动:chkconfig mysqld on
启动mysqlservice mysqld start
设置root的初始密码:mysqladmin -u root password'root'
mysql -uroot -proot 进入mysql命令行,创建以下数据库(根据安装的服务有所区别,我装的是核心组件):
#hive
create database hive DEFAULT CHARSET utf8 COLLATEutf8_general_ci;
#activity monitor
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#hue
create database hue DEFAULT CHARSET utf8 COLLATEutf8_general_ci;

#授权root用户在主节点拥有所有数据库的访问权限
grant all privileges on *.* to 'root'@'cdh1.hadoop.com'identified by 'root' with grant option;
flush privileges;
安装ClouderaManager Server 和Agent主节点(cdh1.hadoop.com)解压安装包ClouderaManager的压缩包cloudera-manager-el6-cm5.3.3_x86_64.tar.gz复制到/opt目录下,并解压:
sudo tar -zxvf  cloudera-manager*.tar.gz
然后复制mysqljarmysqldemysql-connector-java-5.1.33-bin.jar
/opt/cm-5.3.3/share/cmf/lib/目录下。
主节点初始化Cloudera Manager5的数据库,执行以下命令:
/opt/cm-5.3.3/share/cmf/schema/scm_prepare_database.sh mysql cm-h localhost -uroot -proot --scm-host localhost scm scm scm

Agent配置文件修改
修改/opt/cm-5.3.3/etc/cloudera-scm-agent/config.ini
server_host=cdh1.hadoop.com
复制文件到Agent节点
scp -r /opt/cm-5.3.3 root@cdh2.hadoop.com:/opt/
scp -r /opt/cm-5.3.3 root@cdh3.hadoop.com:/opt/
在所有节点(包括服务器)创建cloudera-scm用户
sudo useradd --system --home=/opt/cm-5.3.3/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment"Cloudera SCM User" cloudera-scm
安装CDH5.3.3
将前面下载CHD5.3.3 三个安装文件复制到到主节点的/opt/cloudera/parcel-repo/目录下

执行下面的命令,修改parcel-repo文件夹权限,给用户cloudera-scm权限:
sudo chown  -R  cloudera-scm:cloudera-scm /opt/cloudera-manager/cloudera/parcel-repo
创建parcels文件夹并修改权限:
sudo mkdir -p   /opt/cloudera-manager/cloudera/parcels
sudo chown  -R  cloudera-scm:cloudera-scm /opt/cloudera-manager/cloudera/parcels

启动Server和Agent
主节点   /opt/cm-5.3.3/etc/init.d/cloudera-scm-server start     启动服务端。
所有节点 /opt/cm-5.3.3/etc/init.d/cloudera-scm-agentstart       启动Agent服务。
启动后可通过浏览器访问 http://cdh1;hadoop.com:7180,用户名和密码默认为均为admin

CDH5.3.3的安装过程的问题

1.yarn报错:nodemanager无法启动,Error found before invokingsupervisord: dictionary update sequence element #78 has length1; 2
这个错误是CM的一个bug,解决方法为修改
/opt/cm-5.3.3/lib64/cmf/agent/src/cmf/util.py文件。将其中的代码:
pipe= subprocess.Popen(['/bin/bash', '-c', ". %s; %s; env" % (path,command)],stdout=subprocess.PIPE, env=caller_env)
修改为:
pipe = subprocess.Popen(['/bin/bash', '-c', ". %s; %s; env |grep -v { | grep -v }" % (path, command)],stdout=subprocess.PIPE,env=caller_env)


2.hive报错:unable to load driver
所有节点复制mysqljar包复制到
/opt/cloudera/parcels/CDH-5.3.3-1.cdh5.3.3.p0.5/lib/hive/lib目录下

3.sqoop2报错:大概意思是无法创建数据库,原因是自带derby驱动好像不行,到官网下载最新derby.jar,这儿我下载的是db-derby-10.11.1.1-lib.tar.gz,解压包里面包含了derby.jar,按以下步骤即可解决:


(1)删除 /opt/cloudera/parcels/CDH-5.3.3-1.cdh5.3.3.p0.5/lib/sqoop2/webapps/sqoop/WEB-INF/lib/derby-{version}.jar 软连接
(2)复制 derby.jar /opt/cloudera/parcels/CDH-5.3.3-1.cdh5.3.3.p0.5/jars目录
(3)新建连接ln  -s  /opt/cloudera/parcels/CDH-5.3.3-1.cdh5.3.3.p0.5/jars/derby.jar/opt/cloudera/parcels/CDH-5.3.3-1.cdh5.3.3.p0.5/lib/sqoop2/webapps/sqoop/WEB-INF/lib/derby.jar

4.修改swappiness
etc/sysctl.conf最后加上这样一行:vm.swappiness=0
echo 0 > /proc/sys/vm/swappiness临时修改

5.Oozie 第二次启动失败:DB scheme exist
rm -rf /var/lib/oozie/*


6. HDFS无法重新格式化
删除所有节点上的/dfs 文件夹即可。rm -rf /dfs




CDH5.3.3的基本使用
  • 启动
    安装完成后,所有服务是已启动的。这里,主要考虑到,平时使用虚拟环境,开机后:
    服务节点(CDH1):
    /opt/cm-5.3.0/etc/init.d/cloudera-scm-server start
    Agent节点(CDH2、CDH3):
    /opt/cm-5.3.0/etc/init.d/cloudera-scm-agent start
    在系统上启动服务后,在页面启动Custer1所有服务,再启动Cloudera Management Service服务。
  • 关闭
    和启动顺序相反。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-61359-1-1.html 上篇帖子: Hadoop中的Combiner实践 下篇帖子: Hadoop中的MultipleOutputs实践 最新版 离线
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表