Cloudera CDH的安装

1、  首先准备材料,包括CDH5.15.1CM5.15.1JDK1.8.XMySQL5.7.14(注意在下载时,一定要根据自己的Linux系统版本,下载相应的版本,可以参照官网的版本支持信息https://www.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_database_requirements.html)

2、  在服务器上安装JDK,配置JDK环境变量,关闭防火墙,配置SSH无密码访问

  •   将jdk-8u181-linux-x64.rpm 上传至虚拟机  -----> 然后利用  rpm -ivh jdk-8u181-linux-x64.rpm进行安装  ------> 在/etc/profile文件中进行环境变量的配置   ---------->检查jdk环境是否配置成功
  •   利用service iptables status查看防火墙的状态  -------> service iptables stop 关闭防火墙  --------->  chkconfig iptables --list 查看防火墙开机启动状态  ----------->  chkconfig iptables off 关闭防火墙开机启动
  •     安装cdh和cm所依赖的rpm包
    yum install -y chkconfig

  yum install -y Python 

  yum install -y bind-utils

  yum install -y psmisc

  yum install -y libxslt

  yum install -y zlib

  yum install -y sqlite

  yum install -y cyrus-sasl-plain

  yum install -y cyrus-sasl-gssapi

  yum install -y fuse

  yum install -y portmap

  yum install -y fuse-libs

  yum install -y redhat-lsb

  yum install -y bind-utils

  yum install -y libxslt

  yum install -y sqlite
  •   所有包安装成功  --------->  在VM上进行虚拟机的克隆  ------->1、2、3、4  ---->更改主机名 vi /etc/sysconfig/network
  •   配置SSH无密码访问  ------>https://www.cnblogs.com/ltolstar/p/9675055.html

 

3、配置ntp时间同步

  •   安装ntp   ------>  yum install -y ntp   --------->启用服务  chkconfig ntpd on   ----->跟ntp网站同步一下时间  ntpdate cn.pool.ntp.org
  •   修改ntp里面的配置文件  vi /etc/ntp.conf   ----->将restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap 这句话前面的注释去掉  ----->保存文件  
  •   将ntp的服务进行启动  service ntpd start  ----->查看ntp的状态 service ntpd status  ---->成功
  •   将其他节点同样安装ntp -----> yum install -y ntp  ---->并启用服务  chkconfig ntpd on  ------>跟ntp网站同步一下时间  ntpdate cn.pool.ntp.org  ---->将各节点与主节点的时间进行同步  ntpdate -u n1
  •   启动节点服务 ------>service ntpd start -----> chkconfig ntpd on  ------>时间同步完成!

 4、安装MySQL数据库

  •        将下载好的正确版本的MySQL上传至服务器主节点 ----> 可以使用WinSCP 
  •   安装之前首先检查一下是否已经安装mariadb ------> rpm -qa |grep mariadb  -------> 进行卸载rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps(因为在安装MySQL时会有冲突)  ---->确认卸载完全
  •   对MySQL上传的压缩包进行解压  ------->  tar -zxvf mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz 
  •   给MySQL建立一个专门的文件夹  --------> cp mysql-5.7.14-linux-glibc2.5-x86_64 /usr/local/mysql -r  
  •   创建MySQL账户 -----> 先创建一个MySQL组 groupadd mysql ------>创建MySQL用户  useradd -r -g mysql mysql 
  •   进入MySQL安装目录   ------>  创建一个data文件夹(存放mysql数据库)  ------>给mysql整个文件夹的使用权限给操作用户  chown -R mysql:mysql /usr/local/mysql  ----->查看权限是否发生变化
  •   创建配置文件 vi /etc/my.cnf 下图所示(Windows 下是.ini)----->文件中有些路径不存在要进行创建  (包括文件)---->  mkdir    -----> 将msqld文件的权限也给mysql

      

  •   进入mysql的安装目录的bin文件夹  ---> 执行mysql数据库的初始化  ./mysqld --initialize     ------->记住初始化密码
  •    cp support-files/mysql.server /etc/init.d/mysql    ----->启动mysql数据库  service mysql start  ----->查看mysql数据库是否启动成功 ps -ef | grep mysql
  •   进入到mysql文件夹下的bin目录 使用 ./mysql -u root -p启动数据库   ----->输入的密码为之前记住的密码(之前忘记密码可以进行修改)------>set password=password('123456'); 并修改成功!----> 重新进入检查密码是否更改成功

5、客户端远程连接mysql数据库

  •   授权所有的客户端都可以访问服务器的权限------->  grant all privileges on *.* to root@'%' identified by '123456';  -----> 刷新权限    flush privileges;
  •   (和上面操作要区分两者区别)解决root权限访问所有的数据库的问题 ----->  grant all privileges on *.* to 'root'@'n1' identified by '123456' with grant options;
  •   用客户端工具进行检查权限是否分配成功,下图所示。

  

  •   创建cloudera hadoop, cm 所需要的数据库  ------->  hive数据库  create database hive default charset utf8 collate utf8_general_ci;
  •   用来监控的数据库 -------> create database amon default charset utf8 collate utf8_general_ci;
  •   hue数据库  ---------> create database hue default charset utf8 collate utf8_general_ci;
  •   ooize 数据库-----> create database ooize default charset utf8 collate utf8_general_ci; 
  •   ----------------->通过客户端进行查看,显示创建成功!
  •   将上传的mysql的jar包到虚拟机  mysql-connector-java-5.1.47-bin.jar

6、设置mysql数据库为自动启动

  •   首先查看 /etc/init.d 下面有没有mysql文件,如果有---------->设置权限,给mysql文件一个可执行权限  chmod  +x  mysql
  •   然后将其添加到服务列表里面  chkconfig --add mysql   -------->查看服务列表 chkconfig --list   ----->若看到mysql (3-5)为on的状态说明添加成功

      

  •   将mysql添加到环境变量中  ------->  export PATH=$PATH:/usr/local/mysql/bin  -----> 使得配置生效  source /etc/profile  ---->登陆数据库检查是否成功
  •   reboot 重启虚拟机检查刚才的配置的数据库自动启动是否生效   ------>登陆mysql查看是否正常  mysql -u root -p ;或是用Navicat客户端进行访问

7、安装cm、安装cdh,展示cm,验证cdh安装是否成功

  •   将下载好的3个安装包上传至虚拟机(可以用WinSCP)(CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel/  CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1/  cloudera-manager-centos7-cm5.15.1_x86_64.tar/   manifest.json
  •   首先建立专门的文件夹用来存放cloudera的数据  ------> mkdir /opt/cloudera-manager  ----->将cloudera-manager移动到该目录下 mv cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz /opt/cloudera-manager
  •   对该文件进行解压缩  tar -zxvf cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz   -----------> 解压过后就有一个文件夹cm-5.15.1
  •   接下来将CDH三个文件夹存放到专门的文件夹下 ----> mkdir /opt/cloudera  ----->在cloudera文件夹下 建立parcel-repo文件夹  ------>mkdir parcel-repo  ---->将CDH的三个文件移动到parcel-repo文件夹下 
  •        mv CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel   CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 manifest.json /opt/cloudera/parcel-repo
  •   将文件CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 改一下名字将1去掉 --------->  mv CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha
  •   将其他节点同样建立文件夹  ----->  mkdir -p /opt/cloudera-manager mkdir -p /opt/cloudera/parcel-repo
  •   接下来在主节点上初始化cm的数据库  -------> 首先将下载好的驱动程序放到/opt/cloudera-manager/cm-5.15.1/share/cmf/lib 目录下  ------>  mv mysql-connector-java-5.1.47-bin.jar /opt/cloudera-manager/cm-5.15.1/share/cmf/lib
  •        ----------> 执行  /opt/cloudera-manager/cm-5.15.1/share/cmf/schema/scm_prepare_database.sh mysql cm -h localhost -u root -p 123456 --scm-host localhost scm scm scm ----->输入密码后显示cloudera的数据库显示创建成功!!
  •   使用命令 vi /etc/selinux/config 配置一些安全性设置 ----->设置SELINUX=disabled  ---->同样的方式进行设置其他子节点
  •   同步agent到其他节点  修改config.ini文件 ----> vi /opt/cloudera-manager/cm-5.15.1/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名(这里设置n1)  --->保存退出!
  •   然后将主节点中的cm-5.15.1复制到各子节点   ----->  scp -r /opt/cloudera-manager/cm-5.15.1 root@n2:/opt/cloudera-manager    scp -r /opt/cloudera-manager/cm-5.15.1 root@n3:/opt/cloudera-manager
  •   在主节点上建立一系列cloudera hadoop所需要的一些目录 ,在创建之前需要在所有节点先创建cloudera-scm用户-----> useradd --system --home=/opt/cloudera-manager/cm-5.15.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
  •   确保各子节点都存在文件夹parcel-repo  ------->  在子节点中进行创建 mkdir -p /opt/cloudera/parcel-repo  ---> 将主节点的 parcel-repo文件夹 拷贝到各子节点 --->scp -r /opt/cloudera/parcel-repo root@nx:/opt/cloudera 
  •   复制完成后使用命令 chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo 将目录parcel-repo授权给 cloudera-scm,对各节点进行如此操作
 1 --------------在主节点执行创建目录
 2 
 3 rm -rf /dfs
 4 rm -rf /var/lib/zookeeper
 5 rm -rf /opt/cloudera-manager/cm-5.15.1/lib/cloudera-scm-agent/*
 6 rm -rf /var/lib/cloudera-scm-headlamp
 7 rm -rf /var/lib/cloudera-scm-firehose
 8 rm -rf /var/lib/cloudera-scm-alertpublisher
 9 rm -rf /var/lib/cloudera-scm-eventserver
10 rm -rf /var/lib/cloudera-scm-server
11 
12 rm -rf /var/log/cloudera-scm-headlamp
13 rm -rf /var/log/cloudera-scm-firehose
14 rm -rf /var/log/cloudera-scm-alertpublisher
15 rm -rf /var/log/cloudera-scm-eventserver
16 rm -rf /var/log/cloudera-scm-server
17 rm -rf /hbase
18 
19 ---------如果之前安装过Cloudera Hadoop,那么之前创建的目录都需要重新创建,先删除,再创建
20 
21 mkdir -p /var/lib/cloudera-scm-headlamp
22 mkdir -p /var/lib/cloudera-scm-firehose
23 mkdir -p /var/lib/cloudera-scm-alertpublisher
24 mkdir -p /var/lib/cloudera-scm-eventserver
25 mkdir -p /var/lib/cloudera-scm-server
26 
27 mkdir -p /var/log/cloudera-scm-headlamp
28 mkdir -p /var/log/cloudera-scm-firehose
29 mkdir -p /var/log/cloudera-scm-alertpublisher
30 mkdir -p /var/log/cloudera-scm-eventserver
31 mkdir -p /var/log/cloudera-scm-server
32 mkdir /hbase
33 
34 
35 chown cloudera-scm:cloudera-scm  /var/lib/cloudera-scm-headlamp
36 chown cloudera-scm:cloudera-scm  /var/lib/cloudera-scm-firehose
37 chown cloudera-scm:cloudera-scm  /var/lib/cloudera-scm-alertpublisher
38 chown cloudera-scm:cloudera-scm  /var/lib/cloudera-scm-eventserver
39 chown cloudera-scm:cloudera-scm  /var/lib/cloudera-scm-server
40 
41 chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-headlamp
42 chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-firehose
43 chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-alertpublisher
44 chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-eventserver
45 chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-server
46 chown -R cloudera-scm:cloudera-scm /opt/cloudera-manager
47 chown cloudera-scm:cloudera-scm /hbase/
48 
49 chown -R root:root /opt/cloudera/parcel-repo
50 
51 
52 
53 rm -rf /user/hive/warehouse
54 mkdir -p /user/hive/warehouse
55 chown cloudera-scm:cloudera-scm /user/hive/warehouse
56 
57 
58 rm -rf /var/lib/cloudera-host-monitor
59 mkdir -p /var/lib/cloudera-host-monitor
60 chown cloudera-scm:cloudera-scm /var/lib/cloudera-host-monitor
61 
62 rm -rf /var/lib/cloudera-service-monitor
63 mkdir -p /var/lib/cloudera-service-monitor
64 chown cloudera-scm:cloudera-scm /var/lib/cloudera-service-monitor
  •   在主和子节点中分别创建文件夹 ----> mkdir /opt/cloudera-manager/cm-5.15.1/run/cloudera-scm-agent  ------>创建完成!!
  •   在主节点创建服务  ---->   先授权  chown -R cloudera-scm:cloudera-scm /opt/cloudera-manager  ---->分别启动server 服务和 agent 服务  ----> /opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-server start 、/opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-agent start
  •   注:在子节点中只启动agent服务,停止服务用stop;为了操作方便,设置开启时自动启动

      开机启动service    cp /opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server      --------> chkconfig cloudera-scm-server on

      开机启动agents    cp /opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent         --------> chkconfig cloudera-scm-agent on 注:在各子节点设置开机启动agents,关闭用off

      查看服务状态的命令

        systemctl status cloudera-scm-server.service  systemctl是CentOS 7以后才有的命令)   等同于   service cloudera-scm-server status

        systemctl start cloudera-scm-server.service

        systemctl stop cloudera-scm-server.service

        systemctl restart cloudera-scm-server.service

8、打开http://192.168.201.128:7180/cmf/login注:Windows 自带的浏览器无法访问,可以用火狐浏览器,用户名和密码都是admin)

  •   不同版本的操作系统在安装过程中会遇到很多问题,例如
  •   异常1: 已启用“透明大页面”,可能会导致重大的性能问题。版本为”CentOS release 6.3 (Final)“ 且版本为 ”2.6.32-279.e16.x86_64“ 的Kernel 已将enabled 设置(每个节点)

    解决    echo never > /sys/kernel/mm/transparent_hugepage/defrag

       echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local

  •   异常2:cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。 当前设置为60, 使用sysctl 命令在运行时更改该设置并编辑/etc/sysctl.conf 在重启后保存该设置

    解决   echo 0 > /proc/sys/vm/swappiness

       sysctl vm/swappiness

       echo 'vm.swappiness=0' > /etc/sysctl.conf

        

  

  

最终安装成功,进入管理界面!!

注:若出现驱动问题,需要向三个文件夹中考入mysql连接驱动

/opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/hive/lib
/opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/oozie/lib
/var/lib/oozie

原文地址:https://www.cnblogs.com/ltolstar/p/9684688.html