centos6.8安装CDH5.16

一、cloudera背景介绍

Cloude Manager概述:

CDH是Cloudera公司对整体hadoop集群环境进行监控与管理的企业级大数据管理平台。

Cloudera Manager分为:

Cloudera Manager Server:对整个集群提供监控与管理操作。Cloudera Manager Server通过部署在不同设备上的Cloudera Manager Agent进行管理整体集群。Cloudera Manager Server需要部署在一台设备上。

Cloudera Manager Agent:部署在每个需要监控与管理的设备上。负责采集运行数据与执行下发的管理命令。

DataBase:关系型数据库是Cloudera Manager执行管理操作时,存储整体集群情况数据。

二、cloudera环境搭建——基础部分(3台机器都要做)
1、无关基础配置(忽略)

【注:基础命令设置均须切换到root模式,许多设置完成之后重启有效】

    Ctrl+Alt+F2       #从kdump界面进入系统
    startx            #从命令行界面切换到图形界面
     
    #设置开机联网
    cd /etc/sysconfig/network-scripts/
    vi ifcfg-ens160     #编辑文件将其中ONBOOT=no 改为ONBOOT=yes

2、相关软件下载

操作系统为Centos7.5 x64

cloudera manager的CDH版本要求:

https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#concept_jpd_hpz_jdb

 

1、CDH软件包官方最新稳定版下载地址:http://archive.cloudera.com/cdh5/parcels/latest/

在该地址需要下载以下三个文件:

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

【注:其中,CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha(可在下载时改后缀为.sha文件或在后面用的时候改后缀,都可以的)和manifest.json的hash值注意要匹配】

 

2、Cloudera Manager 官方下载地址:http://archive.cloudera.com/cm5/cm/5/

下载与Linux系统对应版本的Cloudera Manager,比如centos6下载el6,centos7下载el7版本。

下载:cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz

3、Java官方下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

下载:jdk-8u181-linux-x64.tar.gz

4、mysql-connector-java官方下载地址:https://dev.mysql.com/downloads/connector/j/

选择platform independent,下载上面后缀为.tar.gz的文件:mysql-connector-java-8.0.12.tar.gz
 

3、主机名、路由配置文件修改

1)主机名

【注:主机名最好由纯英文小写字母组成,以避免后面安装中出现无法识别主机的问题。】

    hostnamectl set-hostname ns1    #ns1为主机名
    cat /etc/hostname               #查看更改是否成功

2)路由配置文件

vi /etc/hosts

在文件后面添加:

10.66.241.9     ns1

10.66.241.10    ns2

10.66.241.11    ns3
 

 

2、关闭防火墙

    systemctl status firewalld.service  # 检查防火墙状态
    systemctl stop firewalld            # 关闭防火墙
    systemctl disable firewalld.service # 永久关闭防火墙

centos 6.8

查看防火墙状态:service iptables status

关闭防火墙:service iptables stop

打开防火墙:service iptables start

需要改为开机不启动,使用chkconfig命令

永久开启防火墙: chkconfig iptables on

查看状态:chkconfig --list iptables

永久关闭防火墙:

 chkconfig iptables off

3、关闭SElinux

【注:SELinux(Security-Enhanced Linux) 是对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。这是一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。】

    /usr/sbin/sestatus –v             # 查看SElinux的状态
    vim /etc/selinux/config           #更改SELINUX=disabled
    setenforce 0        # 在内存中关闭SElinux
    getenforce          # 检查内存中状态,如果日志显示结果为disabled或者permissive,说明操作成功。

 

4、禁用设置、基础服务设置
1)禁用IPv6

【注:CDH 要求使用 IPv4,不支持IPv6,如不禁用,通信可能产生问题,进而各个进程可能挂掉,以及出现超时等问题】

    echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf
    echo "alias ipv6 off" >> /etc/modprobe.d/dist.conf

2)禁用“透明大页面”

【注:安装完CDH后,CDH Manager一般会提示用户需要做一些Linux系统层面的优化,主要包括两类:禁止透明大页面及交换分区设置。若启用“透明大页面”,可能会导致重大的性能问题。】

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

3)交换分区设置

注:Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0,修改swap空间的swappiness,降低对硬盘的缓存。】

    sysctl vm.swappiness=0       #修改swappiness值为0
    cat /proc/sys/vm/swappiness  #验证
     
    vi /etc/sysctl.conf          #为保证重启有效,在文件中添加下面一行
    vm.swappiness=0

4)安装相关依赖组件,设置http、ntp服务

yum -y install chkconfig bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb httpd httpd-tools unzip ntp

启动httpd服务

    systemctl start httpd.service
    systemctl enable httpd.service #设置为开机启动

启动NTP服务,设置三台机器时间同步

    systemctl restart ntpd
    systemctl enable ntpd.service  #设置为开机启动

【注:http服务开机自启动有效,但ntp服务开机自启动无效,所以重新开机可能需要手动开启ntp服务。出现这个问题的原因可能是服务chronyd未被禁用,导致ntp即使配置了也无法实现开机启动,但笔者尝试了这种方法,还是没有生效,这个问题待解决。】

①主服务器

在主机ns1上修改本地硬件时钟时间:

    hwclock --localtime       #查看本地硬件时钟时间
    hwclock --localtime -w    #将系统时间写入本地硬件时钟时间

vi /etc/ntp.conf

在文件中找到这一行,放开restrict的注释,并且修改ip地址:

    # Hosts on local network are less restricted.
    restrict 10.66.241.1 mask 255.255.255.0 nomodify notrap

找到这一行,注释下面的server:

    # Please consider joining the pool (http://www.pool.ntp.org/join.html).
    #server 0.centos.pool.ntp.org iburst
    #server 1.centos.pool.ntp.org iburst
    #server 2.centos.pool.ntp.org iburst
    #server 3.centos.pool.ntp.org iburst

添加下面两行:

    server  127.127.1.0     # local clock
    fudge   127.127.1.0 stratum 10

②其他服务器

vi /etc/ntp.conf

 找到这一行,放开restrict的注释,并且修改ip地址:

    # Hosts on local network are less restricted.
    restrict 10.66.241.1 mask nomodify notrap noquery

找到这一行,注释下面的server:

 

找到这一行,注释下面的server:

    # Use public servers from the pool.ntp.org project.
    # Please consider joining the pool (http://www.pool.ntp.org/join.html).
    #server 0.centos.pool.ntp.org iburst
    #server 1.centos.pool.ntp.org iburst
    #server 2.centos.pool.ntp.org iburst
    #server 3.centos.pool.ntp.org iburst

指定时间服务

server 10.66.241.9

改好文件后所有机器重启ntp服务:

service ntpd restart

5-10分钟后验证时间是否同步:

ntpstat

synchronised to NTP server (10.66.241.9) at stratum 12

time correct to within 18 ms

polling server every 64 s

(显示上面内容说明同步成功)

利用date命令再次验证:

date

5、SSH免密登录

    ssh-keygen
    ssh-copy-id ns1     #ns1为主机名
    ssh-copy-id ns2
    ssh-copy-id ns3
---------------------  

验证:

 
  1. ssh ns2

  2. exit

  3. ssh ns3

  4. exit

centos6.8安装CDH5.16_第1张图片

6、安装Java1.8

1)卸载系统自带的JDK

    rpm -qa|grep java     #查询目前已装的JDK
    rpm -e --nodeps       #后面跟上一条命令查找出来的所有包,用空格隔开   #卸载相应的JDK

2)安装

在usr目录下建立java安装目录(必须要装在这个目录,否则后面会有找不到java_home的报错)

mkdir /usr/java

将jdk-8u181-linux-x64.tar.gz发送到java目录下,解压jdk到当前目录,得到文件夹 jdk1.8.0_151

tar -zxvf jdk-8u181-linux-x64.tar.gz

3)编辑配置文件,配置环境变量:

    vi /etc/profile
    #添加如下内容:
    JAVA_HOME=/usr/java/jdk1.8.0_181
    CLASSPATH=$JAVA_HOME/lib/
    PATH=$PATH:$JAVA_HOME/bin
    export PATH JAVA_HOME CLASSPATH
     
    source /etc/profile     #使文件生效

4)查看安装情况

 java -version

7、安装MySQL(MySQL只需要在主服务器上安装)

【注:关于mysql版本问题,笔者安装的mysql5.6,安装过程中以及后面cloudera连接数据库,创建数据库时均未出现问题。】
1)在主服务器检查并卸载系统自动安装的Mysql版本

在主服务器检查并卸载系统自动安装的Mysql版本

    rpm -qa | grep mysql
    rpm -qa | grep  mariadb
    rpm -e --nodeps       #后面跟上面2条命令查询到的所有包,包之间用空格键隔开

2)采用yum源方式安装Mysql5.6

    wget http://repo.mysql.com/mysql57-community-release-el6-8.noarch.rpm #下载yum源文件
    rpm -Uvh mysql57-community-release-el6-8.noarch.rpm
     
    #修改yum源文件:
    vim /etc/yum.repos.d/mysql-community.repo
          [mysql56-community]
          enabled=1
          gpgcheck=1
     
          [mysql57-community]
          enabled=0
          gpgcheck=1
     
    vim /etc/yum.repos.d/mysql-community-source.repo
          [mysql56-community-source]
          enabled=1  
          gpgcheck=1
     
          [mysql-tools-preview-source]
          name=MySQL Tools Preview - Source
          baseurl=http://repo.mysql.com/yum/mysql-tools-preview/el/6/SRPMS
          enabled=1  
          gpgcheck=1

yum repolist all | grep mysql       #用yum repolist mysql这个命令查看一下是否已经有mysql可安装文件

yum -y install mysql-community-server    #yum安装mysql, 一直yes下去

3)安装成功后,启动并初始化

    service mysqld start
    service mysqld status

mysql刚安装完,mysql的root用户的密码默认是空的,需要给root用户设置密码密码,执行下列命令进行安全设置

mysql_secure_installation    #输入当前用户:回车,输入root密码:######

初始化相关数据库以及用户,在MYSQL命令行下执行如下SQL:

    mysql -uroot -p    #进入MySQL数据库
     
    create database amon DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    create database rman DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    create database metastore DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    create database sentry DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    create database nav DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    create database navms DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    grant all on *.* to 'root'@'%' identified by '*****' with grant option;

MySQL常用命令:

    systemctl start mysqld      #启动mysqld
    systemctl stop mysqld       #停止mysqld
    systemctl restart mysqld    #重启mysqld
    systemctl enable mysqld     #设置开机启动
    systemctl status mysqld     #查看 MySQL Server 状态

三、Cloudera Manager Server安装

server的安装就只在server主机上执行:
1、上传安装包

Cloudera Manager 安装包:cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz

MySQL驱动包:mysql-connector-java-8.0.12.tar.gz

大数据离线安装库:

CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel

CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha

manifest.json
2、创建相关安装目录并解压安装介质
创建/opt/cloudera-manager安装目录并解压安装介质

    mkdir /opt/cloudera-manager
    tar xzf cloudera-manager*.tar.gz -C /opt/cloudera-manager

安装数据库驱动并初始化数据库

安装数据库驱动

    #解压数据库驱动包,得到一个mysql-connector-java-8.0.12文件夹,里面有一个mysql-connector-java-8.0.12.jar文件
    tar xzf mysql-connector-java-8.0.12.tar.gz
     
    mkdir -p /usr/share/java
    cp mysql-connector-java-8.0.12.jar /usr/share/java/mysql-connector-java.jar

初始化数据库
创建系统用户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

验证用户是否创建成功:

cat /etc/passwd | grep cloudera-scm

    #设置CM数据库的权限
    mysql -uroot -p    #进入mysql数据库
    mysql> grant all privileges on *.*  to 'temp'@'%' identified by 'temp' with grant option;
    mysql> grant all privileges on *.* to 'temp'@'ns1' identified by 'temp' with grant option;
    mysql> flush privileges;
    mysql> use  mysql;
    mysql> select host ,user from user;    
     
    #进入ns1服务器以下文件夹,执行脚本命令,事先确认已经将mysql-connector-java.jar放入/usr/share/java文件夹中
    cd /opt/cloudera-manager/cm-5.15.1/share/cmf/schema
    ./scm_prepare_database.sh mysql -h ns1 -utemp -ptemp --scm-host ns1 scm scm scm    

创建server存储目录

    mkdir /var/lib/cloudera-scm-server
    chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server

创建hadoop离线安装包存储目录

    mkdir -p /opt/cloudera/parcels
    chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

配置agent的server指向

vi /opt/cloudera-manager/cm-5.15.1/etc/cloudera-scm-agent/config.ini

将server_host修改为cloudera manager server的主机名,对于本示例而言,也就是server主机ns1。
部署CDH离线安装包

    mkdir -p /opt/cloudera/parcel-repo
    chown cloudera-scm:cloudera-scm /opt/cloudera/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.sha manifest.json /opt/cloudera/parcel-repo/
     

启动Cloudera Manager Server

/opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-server start

启动Cloudera Manager Agent

/opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-agent start

四、Cloudera Manager Agent安装

在除了server服务器外的其他的服务器上面执行以下步骤进行对agent的部署:
1、上传安装包

对于agent的安装我们只需要以下的两个安装介质:

Cloudera Manager 安装包:cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz

MySQL驱动包:mysql-connector-java-8.0.12.tar.gz
2、创建相关安装目录并解压安装介质
安装数据库驱动

    mkdir -p /usr/share/java
    cp mysql-connector-java-8.0.12.jar /usr/share/java/mysql-connector-java.jar

创建安装目录并解压安装介质

    mkdir /opt/cloudera-manager
    tar xzf cloudera-manager*.tar.gz -C /opt/cloudera-manager

建系统用户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

验证用户是否创建成功:

cat /etc/passwd | grep cloudera-scm

创建hadoop离线安装包存储目录

    mkdir -p /opt/cloudera/parcels
    chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

配置agent的server指向

vi /opt/cloudera-manager/cm-5.15.1/etc/cloudera-scm-agent/config.ini

将server_host修改为cloudera manager server的主机名,对于本示例而言,也就是server主机ns1。
启动Cloudera Manager Agent

/opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-agent start

服务均显示启动成功后,才进行下一步操作。若服务没有启动成功,则需要查看相关日志文件,解决了问题之后方可进行下一步。
五、Cloudera ManagerMent Service集群的安装

我们部署成功CDH的server和agent之后,我们的其他一切操作都在网页上进行操作。在浏览器中输入http://10.66.241.9:7180进入web页面:

用户名、密码均为admin。

接下来选择需要安装的组件进行安装,安装成功之后显示管理界面:

 
centos6.8安装CDH5.16_第2张图片

 

用户名、密码均为admin。

你可能感兴趣的:(centos6.8安装CDH5.16)