centos7安装cdh全过程

centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程

  1. centos7配置静态ip
    Vi /etc/sysconfig/network-scripts/ ifcfg-ens33
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=0eb33eb0-6c34-4da2-96a1-b4d755fee8ff
    DEVICE=ens33
    ONBOOT=yes
    IPADDR=192.168.211.130
    GATEWAY=192.168.211.2
    NETMASK=255.255.255.0
    DNS1=8.8.8.8

重启配置生效 service network restart
ping www.baidu.com
centos7关闭防火墙
查看防火墙是否开启:firewall-cmd --state
停止防火墙:systemctl stop firewalld.service
禁止防火墙开机自启动:systemctl disable firewalld.service
centos7关闭selinux
vi /etc/selinux/config
修改 SELINUX=enforcing 改为 SELINUX=disabled
centos7更改主机名:
hostnamectl set-hostname cdh01
三台机器做主机名与IP地址的映射
vi /etc/hosts
centos7安装cdh全过程
重启 reboot
三台机器机器免密码登录
在三台机器执行以下命令,生成公钥与私钥
ssh-****** -t rsa
执行该命令之后,按下三个回车即可
centos7安装cdh全过程
第二步:拷贝公钥到同一台机器
三台机器将拷贝公钥到第一台机器
三台机器执行命令:
ssh-copy-id cdh01
centos7安装cdh全过程
第三步:复制第一台机器的认证到其他机器
将第一台机器的公钥拷贝到其他机器上
在第一台机器上面指向以下命令
scp /root/.ssh/authorized_keys cdh02:/root/.ssh/
scp /root/.ssh/authorized_keys cdh03:/root/.ssh/
centos7安装cdh全过程
三台机器时间同步
第一步:确定是否安装了ntpd的服务
rpm -qa | grep ntpd
centos7安装cdh全过程
删除已安装ntp
yum –y remove ntpdate-4.2.6p5-29.el7.centos.x86_64
如果没有安装,可以进行在线安装(三台机器都需要安装)
yum -y install ntp
启动ntpd的服务
systemctl start ntpd.service
使用ntpstat查看是否启动
centos7安装cdh全过程
设置ntpd的服务开机启动
systemctl enable ntpd
配置ntp服务
1) 修改所有节点的vim /etc/ntp.conf

主节点IP地址

restrict 192.168.211.130 nomodify notrap nopeer noquery
#集群所在网段的网关(GATEWAY),子网掩码(GENMASK)
restrict 192.168.211.2 mask 255.255.255.0 nomodify notrap
在server部分添加一下部分,并注释掉server 0 ~ n
server 127.127.1.0
Fudge 127.127.1.0 stratum 10
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
按照我上面的步骤下面的,可以不用执行下面这个本地时间同步
Linux时间与本地时间同步:
yum -y install ntpdate 下载过ntp就省略这步
ntpdate -u ntp.api.bz
date
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cp: overwrite ‘/etc/localtime’? y
ntpdate pool.ntp.org
date
安装mysql
yum install mysql mysql-server mysql-devel
yum安装mysql-server没有可用包问题解决方法:
step 1: wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
step 2: rpm -ivh mysql-community-release-el7-5.noarch.rpm
经过以上两个步骤后再次执行:yum install mysql-server 命令就可以成功安装了。
启动mysql服务
systemctl start mysqld
/usr/bin/mysql_secure_installation
grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant option;
flush privileges;
centos7安装cdh全过程

Cdh安装
[[email protected] ~]# mkdir bin
[[email protected] ~]# cd bin/
[[email protected] bin]# vim xsync
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2获取文件名称
p1=$1
fname=basename $p1
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=cd -P $(dirname $p1); pwd
echo pdir=KaTeX parse error: Expected 'EOF', got '#' at position 6: pdir #̲4 获取当前用户名称 user…host --------------
rsync -av pdir/pdir/fname user@cdh0[email protected]host:$pdir
done
[[email protected] bin]# chmod 777 xsync
[[email protected] bin]# cd /opt/
[[email protected] opt]# mkdir module
[[email protected] opt]# mkdir software
[[email protected] opt]# cd software/
使用上传工具把jdk1.8上传到/opt/ software/下
[[email protected] software]# ll
total 190524
-rw-r–r-- 1 root root 195094741 Sep 12 11:08 jdk-8u221-linux-x64.tar.gz
解压:
[[email protected] software]# tar -zvxf jdk-8u221-linux-x64.tar.gz -C …/module/
修改文件的所有者和所有者组为root
[[email protected] module]# chown root:root jdk1.8.0_221/ -R
配置JDK环境变量
[[email protected] module]# vim /etc/profile
centos7安装cdh全过程
让修改后的文件生效
[[email protected] module]# source /etc/profile

测试配置是否生效
[[email protected] module]# java -version
java version “1.8.0_221”
Java™ SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot™ 64-Bit Server VM (build 25.221-b11, mixed mode)

将cdh01中的JDK和环境变量分发到cdh02、cdh03两台主机
[[email protected] module]# xsync /opt/module/
[[email protected] module]# xsync /etc/profile

分别在cdh02、cdh03上source一下
[[email protected] ~]# source /etc/profile
[[email protected] ~]# source /etc/profile
centos7安装cdh全过程
集群整体操作脚本
1)在/root/bin目录下创建脚本xcall.sh
[[email protected] module]# cd /root/bin/
[[email protected] bin]# vim xcall.sh
2)在脚本中编写如下内容
#! /bin/bash
for i in cdh01 cdh02 cdh03
do
echo --------- $i ----------
ssh i"i "*"
done
3)修改脚本执行权限
[[email protected] bin]# chmod 777 xcall.sh
4)将/etc/profile文件追加到~/.bashrc后面
[[email protected] module]# cat /etc/profile >> ~/.bashrc
[[email protected] module]# cat /etc/profile >> ~/.bashrc
[[email protected] module]# cat /etc/profile >> ~/.bashrc
5)测试
[[email protected] bin]# xcall.sh jps
创建CM用的数据库
在MySQL中依次创建监控数据库、Hive数据库、Oozie数据库、Hue数据库
1)启动数据库
[[email protected] bin]# mysql -uroot -p123456
2)集群监控数据库
mysql> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
3)Hive数据库
mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
4)Oozie数据库
mysql> create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
5)Hue数据库
mysql> create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
6)关闭数据库
mysql> quit;
下载第三方依赖
依次在三台节点(所有Agent的节点)上执行下载第三方依赖(注意:需要联网)
[[email protected] ~]# yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

[[email protected] ~]# yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

[[email protected] ~]# yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
CM安装部署
CM下载地址
1)CM下载地址:http://archive.cloudera.com/cm5/cm/5/
2)离线库下载地址:http://archive.cloudera.com/cdh5/parcels/5.15.2/
CM安装
注:以下所有操作均使用root用户
1)创建/opt/module/cm目录
[[email protected] ~]# mkdir –p /opt/module/cm
2)上传cloudera-manager-centos7-cm5.15.2_x86_64.tar.gz到cdh01的/opt/software目录,并解压到/opt/module/cm目录
[[email protected] software]#tar -zxvf cloudera-manager-centos7-cm5.15.2_x86_64.tar.gz -C /opt/module/cm
3)分别在cdh01 ,cdh02 ,cdh03创建用户cloudera-scm
[[email protected] cdh01 module]#
useradd
–system
–home=/opt/module/cm/cm-5.15.2/run/cloudera-scm-server
–no-create-home
–shell=/bin/false
–comment “Cloudera SCM User” cloudera-scm

[[email protected] cdh02 module]#
useradd
–system
–home=/opt/module/cm/cm-5.15.2/run/cloudera-scm-server
–no-create-home
–shell=/bin/false
–comment “Cloudera SCM User” cloudera-scm

[[email protected] cdh03 module]#
useradd
–system
–home=/opt/module/cm/cm-5.15.2/run/cloudera-scm-server
–no-create-home
–shell=/bin/false
–comment “Cloudera SCM User” cloudera-scm
参数说明:
–system 创建一个系统账户
–home 指定用户登入时的主目录,替换系统默认值/home/<用户名>
–no-create-home 不要创建用户的主目录
–shell 用户的登录 shell 名
–comment 用户的描述信息
注意:Cloudera Manager默认去找用户cloudera-scm,创建完该用户后,将自动使用此用户。
4)修改CM Agent配置
修改文件/opt/module/cm/cm-5.15.2/etc/cloudera-scm-agent/ config.ini的主机名称
[[email protected] cloudera-scm-agent]# vim /opt/module/cm/cm-5.15.2/etc/cloudera-scm-agent/config.ini
修改主机名称
server_host=cdh01
5)配置CM的数据库
拷贝mysql-connector-java-5.1.27-bin.jar文件到目录 /usr/share/java/
[[email protected] cm]# mkdir –p /usr/share/java/
[[email protected] module]# cd /usr/share/java/
[[email protected] java]#mv mysql-connector-java-5.1.46-bin.jar mysql-connector-java.jar
注意:jar包名称要修改为mysql-connector-java.jar
6)使用CM自带的脚本,在MySQL中创建CM库
[[email protected] cm-5.15.2]#
/opt/module/cm/cm-5.15.2/share/cmf/schema/scm_prepare_database.sh mysql cm -hcdh01 -uroot -p123456 --scm-host cdh01 scm scm scm
参数说明
-h:Database host
-u:Database username
-p:Database Password
–scm-host:SCM server’s hostname
7)分发cm
[[email protected] module]# xsync /opt/module/cm
8)创建Parcel-repo
[[email protected] module]# mkdir -p /opt/cloudera/parcel-repo
[[email protected] module]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
9)拷贝下载文件manifest.json 、CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel.sha1 、CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel到hadoop102的/opt/cloudera/parcel-repo/目录下
[[email protected] parcel-repo]# ls
CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel.sha1
manifest.json
10)将CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel.sha1:需改名为
CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha
[[email protected] parcel-repo]# mv CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel.sha1 CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel.sha
11)在cdh01上创建目录/opt/cloudera/parcels,并修改该目录的所属用户及用户组为cloudera-scm
[[email protected] module]# mkdir -p /opt/cloudera/parcels
[[email protected] module]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
12)分发/opt/cloudera/
[[email protected] opt]# xsync /opt/cloudera/
启动CM服务
1)启动服务节点:cdh01
[[email protected] cm]# /opt/module/cm/cm-5.15.2/etc/init.d/cloudera-scm-server start
Starting cloudera-scm-server: [确定]
2)启动工作节点:hadoop102、hadoop103、hadoop104
[[email protected] cm]# /opt/module/cm/cm-5.15.2/etc/init.d/cloudera-scm-agent start

[[email protected] cm]# /opt/module/cm/cm-5.15.2/etc/init.d/cloudera-scm-agent start

[[email protected] cm]# /opt/module/cm/cm-5.15.2/etc/init.d/cloudera-scm-agent start
注意:启动过程非常慢,Manager启动成功需要等待5分钟左右,过程中会在数据库中创建对应的表需要耗费一些时间。
3)查看被占用则表示安装成功了!!!
[[email protected] cm]# netstat -anp | grep 7180
tcp 0 0 0.0.0.0:7180 0.0.0.0:* LISTEN 5498/java
4)访问http://192.168.211.130:7180,(用户名、密码:admin)
centos7安装cdh全过程
1.3.4 关闭CM服务
1)关闭工作节点:cdh01、cdh02、cdh03
[[email protected] cm]# /opt/module/cm/cm-5.15.2/etc/init.d/cloudera-scm-agent stop
Stopping cloudera-scm-agent: [确定]
[[email protected] cm]# /opt/module/cm/cm-5.15.2/etc/init.d/cloudera-scm-agent stop
Stopping cloudera-scm-agent: [确定]
[[email protected] cm]# /opt/module/cm/cm-5.15.2/etc/init.d/cloudera-scm-agent stop
Stopping cloudera-scm-agent: [确定]
2)关闭服务节点:cdh01
[[email protected] cm]# /opt/module/cm/cm-5.15.2/etc/init.d/cloudera-scm-server stop
停止 cloudera-scm-server: [确定]
CM的集群部署
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
等待下载安装
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
配置Hue支持Impala
centos7安装cdh全过程
Spark2.1安装
在先前装的CDH5.15集群中,默认安装的spark是1.6.0版本。我们现在可以现有的集群中再装spark2.x版本,能和spark1.6版本并存。

当前CDH支持的Spark2.X最新版本是Spark2.3.0,目前Apache Spark最近版本是2.3.1,即CDH的版本更新是慢半拍的,但基本上不影响使用。
下面是在CDH中安装Spark2.3的步骤:
这是官方给出安装和升级方法说明:
https://www.cloudera.com/documentation/spark2/latest/topics/spark2_installing.html

一. 安装准备

  1. 下载所需的安装包
    http://archive.cloudera.com/spark2/csd/

SPARK2_ON_YARN-2.3.0.cloudera3.jar

http://archive.cloudera.com/spark2/parcels/2.3.0.cloudera3/

SPARK2-2.3.0.cloudera3-1.cdh5.13.3.p0.458809-el6.parcel
SPARK2-2.3.0.cloudera3-1.cdh5.13.3.p0.458809-el6.parcel.sha1
manifest.json

说明:要选择相对应的系统、CDH版本

我的系统是CentOS7.x所以选择了el7,都选择cloudera3相应的parcel包
离线包上传

  1. 上传CSD包到CM节点的/opt/cloudera/csd目录

chown cloudera-scm:cloudera-scm SPARK2_ON_YARN-2.3.0.cloudera3.jar

  1. 上传parcel的3个包到CM的/opt/cloudera/parcel-repo目录下
    [[email protected] parcel-repo]# ls
    SPARK2-2.3.0.cloudera3-1.cdh5.13.3.p0.458809-el7.parcel
    SPARK2-2.3.0.cloudera3-1.cdh5.13.3.p0.458809-el7.parcel.sha1
    manifest.json
    如之前有manifest.json文件,先把之前的更名后再上传
    3)将SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha1重命名为SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha
    centos7安装cdh全过程
    重启CM和集群

systemctl restart cloudera-scm-agent

通过CM安装Spark2
CM页面-> 主机 -> Parcel页面可以看到新的spark2的parcel包
2.3.0.cloudera3-1.cdh5.13.3.p0.458809
然后点击 下载-进行分配-**
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
centos7安装cdh全过程
注意:这里我报了一个错:客户端配置 (id=12) 已使用 1 退出,而预期值为 0
1)问题原因:最后找到原因是因为CM安装Spark不会去环境变量去找Java,需要将Java路径添加到CM配置文件
解决方法:(无需重启cdh):
查看/opt/module/cm/cm-5.12.1/lib64/cmf/service/common/cloudera-config.sh
找到java8的home目录
centos7安装cdh全过程
cdh不会使用系统默认的JAVA_HOME环境变量,而是依照bigtop进行管理,因此我们需要在指定的/usr/java/jdk1.8目录下安装jdk。当然我们已经在/opt/module/jdk1.8.0_144下安装了jdk,因此创建一个连接过去即可
[[email protected] java]# ln -s /opt/module/jdk1.8.0_221/ /usr/java/jdk1.8
[[email protected] java]# ln -s /opt/module/jdk1.8.0_221/ /usr/java/jdk1.8
[[email protected] java]# ln -s /opt/module/jdk1.8.0_221/ /usr/java/jdk1.8
centos7安装cdh全过程