CDH5-史无前例教程

  • 2019 年 12 月 30 日
  • 筆記

生活

就是一系列下定决心的努力

· 正 · 文 · 来 · 啦 ·

第一&二部分:准备工作&安装CM

One

第一部分:准备环境  1.下载安装包,规划三台机器  Cloudera Manager 5.9  CDH5.9 主文件  CDH5.9 sha文件  manifest 文件    (注:此处为方便下载已经传入云盘,请在后台回复CDH5 自动获取下载地址(包含本文所有软件包))    ssh-keygen -t rsa  ssh-copy-id -i /root/.ssh/id_rsa.pub hdp-01  ssh-copy-id -i /root/.ssh/id_rsa.pub hdp-02  ssh-copy-id -i /root/.ssh/id_rsa.pub hdp-03    2.修改/etc/hosts 文件  192.168.6.3 hdp-01  192.168.6.4 hdp-02  192.168.6.5 hdp-03    临时修改主机名  hostname hdp-01  hostname hdp-02  hostname hdp-03    更改主机名    vi /etc/sysconfig/network  NETWORKING=yes  HOSTNAME=hdp-01    3.ssh 免密 登陆  ssh-keygen -t rsa  ssh-copy-id -i /root/.ssh/id_rsa.pub hdp-01  ssh-copy-id -i /root/.ssh/id_rsa.pub hdp-02  ssh-copy-id -i /root/.ssh/id_rsa.pub hdp-03    4.关闭防火墙    service iptables stop (临时关闭)  chkconfig iptables off (重启后生效)      关闭  SELINUXsetenforce 0临时生效,    另外修改修改  /etc/selinux/config 下的SELINUX=disabled,    重启机器 reboot    5.shell (主从节点维护起来)  在hdp-01机器root目录下,产生一个host文件,文件内容如下,主要将各节点的主机名维护起来。  vim host    hdp-02  hdp-03    在hdp-01机器root目录下,产生一个scp.sh文件,文件内容如下,输入需要传送的源文件路径与目标机器的存放路径两个参数,路径都是绝对路径。    #!/bin/bash  cat host | while read host  do  {      scp -r $1 $host:$2  }&wait  done    6.jdk 安装  ①都卸载自带jdk(三台都需要,版本可能不一样根据实际操作)  #查看jdk版本  [root@hdp-03 ~]# rpm -qa|grep java  tzdata-java-2012j-1.el6.noarch  java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64  java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64    #按版本卸载jdk  [root@hdp-03 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64  [root@hdp-03 ~]# rpm -e --nodeps tzdata-java-2012j-1.el6.noarch  [root@hdp-03 ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64    [root@lhdp-01 ~]# vim scp.sh  [root@hdp-01 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64  [root@lhdp-01 ~]# rpm -e --nodeps tzdata-java-2012j-1.el6.noarch  [root@hdp-01 ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64      ②在hdp-01上上传jdk1.8,解压到/usr/local/下    并修改环境变量 vi /etc/profile  export JAVA_HOME=/usr/local/jdk1.8.0_171  export PATH=$JAVA_HOME/bin:$PATH    ③利用shell拷贝  sh scp.sh /usr/local/jdk1.8.0_171/ /usr/local/jdk1.8.0_171/  sh scp.sh /etc/profile /etc/  使环境变量生效(全执行)  source /etc/profile  echo "JAVA_HOME=/usr/local/jdk1.8.0_171" >> /etc/environment    7.配置yum源  rm -rf /etc/yum.repos.d/*  vi  /etc/yum.repos.d/base.repo    [Base]  name=base  baseurl=file:///mnt/Server  enabled=1  gpgcheck=0  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release    挂载  mount /dev/cdrom /mnt  yum list 查看是否配置yum成功    8.安装mysql  yum -y install mysql-server  chkconfig mysqld on  service mysqld restart    mysql 登陆进去  create user 'CDH' identified by '123456';    必须设置远程可登陆  grant all privileges on *.* to CDH@'%' identified by '123456' with grant option;    flush privileges;    9.设置swap空间  echo "vm.swappiness = 10" >> /etc/sysctl.conf  sh scp.sh /etc/sysctl.conf /etc/    关闭大页面压缩  试过只设置defrag,但貌似个别节点还是会有警告,干脆全部设置,编辑  /etc/rc.local,末尾添加如下命令  echo never > /sys/kernel/mm/transparent_hugepage/enabled  echo never > /sys/kernel/mm/transparent_hugepage/defrag      同步到各个节点机器  sh scp.sh /etc/rc.local /etc/  然后重启reboot生效。    第二部分:安装CM    1、进入/opt/cdh目录,将CM解压到/opt目录下,不能解压到其他地方,因为cdh5的源会默认在  /opt/cloudera/parcel-repo寻找,而CM可以按照个人喜好安装  tar -zxvf cloudera-manager-el6-cm5.9.0_x86_64.tar.gz -C /opt/  mkdir -p /opt/program  mv /opt/cm-5.9.0/ /opt/program/  ln -s /opt/program/cm-5.9.0/ /opt/cm    2、将CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel 和 CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1移动到/opt/cloudera/parce1-repo,这样安装时CM就能直接找到了    mv CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1 /opt/cloudera/parcel-repo/    3、将CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1重命名为CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha(去掉结尾的1),非常重要。我试安装时,这点遗漏了,导致安装CDH的时候一直刷不出5.9版本,通过日志发现,没有manifest.json就会去下载,不能访问外网就报错了,但不影响安装CDH,还是mv一下吧。    mv manifest.json /opt/cloudera/parcel-repo/  cd /opt/cloudera/parcel-repo/  mv CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1 CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha    4、修改配置文件中的server_host,编辑/opt/cm/etc/cloudera-scm-agent/config.ini  server_host=hdp-01    将mysql的JDBC驱动放入CM的lib目录下,下载地址http://dev.mysql.com/downloads/connector/j/,gz和zip都无所谓,最终要的是里面的jar包。解压获得mysql-connector-java-5.1.5-bin.jar上传到集群。    mysql-connector-java-5.1.5-bin.jar  mv mysql-connector-java-5.1.5-bin.jar /opt/cm/share/cmf/lib/  5、为CM创建数据库  /opt/cm/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm    解决方案:  1、配置/etc/hosts文件如下:  127.0.0.1 localhost.hdp-01  192.168.160.132  hadoop3  192.168.160.130  hadoop1  192.168.160.131  hadoop2    注意:如果执行的时候报一下错误,可能是配置host的有问题,127.0.0.1 localhost.hdp-01 这个localhost不能少      create user 'CDH' identified by '123456';    必须设置远程可登陆  grant all privileges on *.* to CDH@'%' identified by '123456' with grant option;    flush privileges;    2、需要修改mysql登录密码:  解决:  修改MySQL的root用户的密码以及打开远程连接  mysql>use mysql;  mysql>desc user;  mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "hadoop";    //为root添加远程连接的能力。  GRANT ALL PRIVILEGES ON *.* TO CDH@"%" IDENTIFIED BY "123456";  update user set Password = password('hadoop') where User='CDH';  select Host,User,Password  from user where User='CDH';  flush privileges;    mysql>update user set Password = password('hadoop') where User='root';  mysql>select Host,User,Password  from user where User='root';  mysql>flush privileges;  mysql>exit;    再次执行 成功  /opt/cm/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -phadoop --scm-host localhost scm scm scm    6、为每个节点创建cloudera-scm用户,均执行  useradd --system --home=/opt/cm/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm    7、接下来其实可以直接在hdp-01上启动服务安装了,但因为其它节点没有CM,最后还是通过远程的yum在线下载再安装,我这设置了内部网络,其它节点是访问不了外网的,所以拷贝CM到其它节点进行完全离线安装。拷贝CM到每个节点,在拷贝之前在其余节点执行    mkdir /opt/program  sh scp.sh /opt/program/cm-5.9.0/ /opt/program/cm-5.9.0/  ln -s /opt/program/cm-5.9.0/ /opt/cm     (每台机 手动执行)    8、 在hdp-01上启动CM的service服务  /opt/cm/etc/init.d/cloudera-scm-server start  在所有节点上面节点上启动CM的agent服务  /opt/cm/etc/init.d/cloudera-scm-agent start    service服务过程需要启动几分钟,这看机器性能,    如果用netstat -apn|grep 7180能够查看到端口占用,就可以用浏览器打开http://hdp-01:192.168.6.3:7180/进行访问,登录用户名与密码分别为admin  到此基本上CM的安装启动己完成,接下来就可以用过WEB界面进行安装CDH了,基本上顺利完成百分之60了。

第三部分:CDH–图像化界面安装


2)然后勾选继续  
3)按需求所选,我这里选择免费,继续。  
4)继续  
5)因为我们在节点上启动了agent,所以直接点“当前管理的主机”,  此时当前管理主机有5个。如果节点上没有CM,只有master上有,  这边可以在新主机下去搜索,例如192.168.6.2.[100-104],  但这样最后从节点会去yum在线安装。  (此处截图为5台,按此教程应该为3台,分别是hdp-01,hdp-02,hdp-03)  
6)选择之后 将所有主机都勾选上,然后继续。    7)然后选择版本  
8)然后进入安装环节:  
激活主节点卡住 解决方案:    我是把hosts文件中第一行中的主机名称去掉就好了!!!!!        #127.0.0.1这一行不能有其他东西!    127.0.0.1 localhost    192.168.6.3 hdp-01    192.168.6.4 hdp-02    192.168.6.5 hdp-03    9)如果主节点长时间未激活,请按上述解决方案。完成后请点击继续。    10)鸡冻,请继续。  
11.)集群设置,按需求。这里我选择所有  
12)角色分配,如若没有其他需求 可以按默认,继续即可!!!  
13)创建数据库。需要创建数据库 以下有数据库连接详细方案,请参考!!  
14)从hdfs--到集群完整安装以及除错。

有用,有趣,有态度!