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

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

[复制链接]

尚未签到

发表于 2018-10-30 10:37:52 | 显示全部楼层 |阅读模式
  
  首先给出官方的离线安装http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/installation_installation.html#../topics/cm_ig_install_path_c.html
  由于是最新版网上上资料比较少,很多问题只能***去找答案。大家只要严格按照我的步骤一步一步来就一定能安装成功,所有步骤都在公司集群上亲自实验过,其中也参考了大量网上资料,在此对那些无私奉献者表示感谢!
  在线安装的两种方式就不介绍了,大家可以自己去官网看文档,不推荐大家在线安装,要是安装过程碰到问题会很麻烦。
  下面直接进入正题,下载所需离线安装包
  
  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
  CDH5.3.3每个组件tar包及源码的单独下载地址
  http://archive.cloudera.com/cdh5/cdh/5/
  环境准备
  1.CentOS>
  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改变环境变量
  export JAVA_HOME=/usr/java/jdk1.7.0_79
  export JRE_HOME=$JAVA_HOME/jre
  export PATH=$JAVA_HOME/bin:$PATH
  为使生效:source /etc/profile
安装配置Mysql(主节点)
  执行命令:yum installmysql-server
  设置开机启动:chkconfig mysqld on
  启动mysql:service mysqld start
  设置root的初始密码:mysqladmin -u root password 'root'
  mysql -uroot -proot 进入mysql命令行,创建以下数据库(根据安装的服务有所区别,我装的是核心组件):
  #hive
  create database hive DEFAULT CHARSET utf8 COLLATE  utf8_general_ci;
  #activity monitor
  create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  #hue
  create database hue DEFAULT CHARSET utf8 COLLATE  utf8_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
  然后复制mysql的jar包mysqldemysql-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
  所有节点复制mysql的jar包复制到
  /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-628375-1-1.html 上篇帖子: 【总结】Hadoop中的MultipleOutputs实践 下篇帖子: 基于Cloudera Manager 5和CDH5(版本5.3.3)的Hadoop集群安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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