1)CDH集群离线搭建

资源地址:

    获取CM包(tar.gz)

        http://archive-primary.cloudera.com/cm5/cm/5/

            cloudera-manager-el6-cm5.9.2_x86_64.tar.gz

    获取CDH包

        http://archive.cloudera.com/cdh5/parcels/5.6/

            CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel

            CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1

            manifest.json

一、环境准备

1.关闭交换分区

    1)查看配置
        cat /proc/sys/vm/swappiness

        (显示为60,系统默认为60)

    2)添加配置

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

    3)配置生效

        sysctl -p

2.关闭透明大页

    1)查看配置

        cat /sys/kernel/mm/transparent_hugepage/defrag

        cat /sys/kernel/mm/transparent_hugepage/enabled

        (显示为[always] madvise never;则当前为always需要关闭)

    2)关闭透明大页
        echo never > /sys/kernel/mm/transparent_hugepage/defrag

        echo never > /sys/kernel/mm/transparent_hugepage/enabled

    3)再次查看

        cat /sys/kernel/mm/transparent_hugepage/defrag

        cat /sys/kernel/mm/transparent_hugepage/enabled

        (显示为always madvise [never];则已经被关闭)

    4)设为开机生效

         vi /etc/rc.local    添加如下命令

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

        echo never > /sys/kernel/mm/transparent_hugepage/enabled

3.调整句柄限制

    1)修改参数

        vi /etc/security/limits.conf  (nofile - 打开文件的最大数目,noproc - 进程的最大数目)

* soft nofile 327680
* hard nofile 327680
* soft nproc 131072
* hard nproc 131072

    2) 配置生效

        cat /etc/pam.d/login  (查看文件中有无下列配置,没有则添加)

session required /lib64/security/pam_limits.so

    3)更新配置

         sysctl -p

4.关闭防火墙

    service iptables stop

    chkconfig iptables off

5.关闭selinux

    vi /etc/selinux/config

SELINUX=disabled
6.安装依赖

    yum install rpcbind mod_ssl

7.安装JDK

    1)建目录

        mkdir /usr/java

    2)解压(/usr/java)

        tar zxvf jdk-7u55-linux-x64.tar.gz

    3)配置/etc/profile

        vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_55
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
CLASSPATH=.:/usr/java/jdk1.7.0_55/lib:/usr/java/jdk1.7.0_55/jre/lib:$CLASSPATH
export CLASSPATH

    4)刷新环境变量:source /etc/profile

    5)检查java环境:java-version

8.网络配置

    1)配置/etc/hosts    

192.168.252.137  cdh1
192.168.252.138  cdh2
192.168.252.139  cdh3

    2)配置/etc/sysconfig/network(debian修改/etc/hostname)  

        修改机器名为cdh1\cdh2\cdh3

    3)配置/etc/sysconfig/network-scripts/ifcfg-eth0(debian修改 /etc/network/interfaces)

        根据ifconfig查看网卡HWaddr并修改进ifcfg-eth0

        vi /etc/sysconfig/network-scripts/ifcfg-eth0

    4)重启网络

        service network restart

9.配置ssh互信

    1)所有节点生成公钥:

        ssh-keygen -t rsa

    2)cdh1生成文件authorized_keys:

        cp id_rsa.pub authorized_keys

    3)cdh1汇集各节点公钥到authorized_keys

        汇集所有节点的id_rsa.pub到cdh1的authorized_keys文件中

    4)将cdh1的authorized_keys分发到cdh2\cdh3上

scp authorized_keys cdh2:~/.ssh/
scp authorized_keys cdh2:~/.ssh/

    5)测试:ssh cdh2

10.时间同步

    1)设置时区(每个节点)

        date -R 查看是否时区为+0800,不是或时间不准需设置

#时区设置
  tzselect    (依次选择Asia->China->Beijing)
  cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime    (覆盖原有文件)
#时间设置
  ntpdate cn.pool.ntp.org
  sudo hwclock --systohc
  或
  date -s '2017-8-18 09:19:00'
  hwclock -w --localtime

    2)安装NTP(每个节点)

yum install ntp
chkconfig ntpd on

    3)配置NTP

        主节点:

#修改主节点ntp配置(添加)
vi /etc/ntp.conf
  server 127.127.1.0
  Fudge 127.127.1.0 stratum 10

#启动ntp服务
service ntpd start
#开机自启动
chkconfig ntpd on

        从节点:

#修改从节点ntp配置(添加)
vi /etc/ntp.conf
  server 192.168.252.137 prefer

#启动ntp服务
service ntpd start
#开机自启动
chkconfig ntpd on

二、安装mysql

1.安装服务

        主节点安装mysql的服务

yum install -y mysql-server
yum install -y mysql-devel
yum install -y mysql-libs
yum install -y mysql
chkconfig mysqld on
2.启动服务
service mysqld start
3.设置密码
mysqladmin -u root password 'mysql'

        可不设置密码,设置密码有可能导致之后连接问题

4.登陆并建库

        mysql -uroot -pmysql

--建立各个服务对应库,Activity Monitor、Reports Manager、hive、hue、oozie、sentry
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database rman DEFAULT CHARSET 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 oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database sentry DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
5.授权
--授予root从其他节点访问的权限
grant all privileges on *.* to 'root'@'%' identified by 'mysql' with grant option;

--授予root从本机访问的权限
use mysql;
update user set password=password('mysql') where user='root' and host='cdh1';

--授予各服务用户访问权限
grant all privileges on amon.* to 'amon'@'%' identified by 'amon'; 
grant all privileges on amon.* to 'amon'@'cdh1' identified by 'amon'; 
grant all privileges on rman.* to 'rman'@'%' identified by 'rman'; 
grant all privileges on rman.* to 'rman'@'cdh1' identified by 'rman'; 
grant all privileges on hive.* to 'hive'@'%' identified by 'hive'; 
grant all privileges on hive.* to 'hive'@'cdh1' identified by 'hive'; 
grant all privileges on hue.* to 'hue'@'%' identified by 'hue'; 
grant all privileges on hue.* to 'hue'@'cdh1' identified by 'hue'; 
grant all privileges on oozie.* to 'oozie'@'%' identified by 'oozie'; 
grant all privileges on oozie.* to 'oozie'@'cdh1' identified by 'oozie'; 
grant all privileges on sentry.* to 'sentry'@'%' identified by 'sentry'; 
grant all privileges on sentry.* to 'sentry'@'cdh1' identified by 'sentry'; 

--刷新权限
flush privileges;

三、安装CM

1.解压tar包(主节点,/opt)
tar zxvf cloudera-manager-el6-cm5.9.2_x86_64.tar.gz
2.创建用户(各个节点)
useradd --system --home=/opt/cm-5.9.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
3.修改sudoers (主节点,避免配置无法下发到agent端)

        vim /etc/sudoers

--在root    ALL=(ALL)    ALL后面增加
cloudera-scm ALL=(ALL) NOPASSWD: ALL
4.部署mysql jar包

    1)为cm部署jar包(主节点)

cp /opt/mysql-connector-java-5.1.39-bin.jar /opt/cm-5.9.2/share/cmf/lib/

    2)为hive、sentry和oozie部署jar包

        CDH集群完成安装后才会出现相关目录

cp /opt/mysql-connector-java-5.1.39-bin.jar /opt/cloudera/parcels/CDH/lib/hive/lib/  
cp /opt/mysql-connector-java-5.1.39-bin.jar /opt/cloudera/parcels/CDH/lib/sentry/lib/  
cp /opt/mysql-connector-java-5.1.39-bin.jar /opt/cloudera/parcels/CDH/lib/oozie/lib/  
cp /opt/mysql-connector-java-5.1.39-bin.jar /var/lib/oozie/
5.修改agent配置(主节点)

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

        将server_host配置项由localhost改成cdh1

6.分发cm-5.9到其他节点(主节点)
scp –r cm-5.9.2 cdh2:/opt/
scp –r cm-5.9.2 cdh3:/opt/
7.初始化cm的mysql库(主节点)

/opt/cm-5.9.2/share/cmf/schema/scm_prepare_database.sh mysql -hlocalhost -u root -pmysql --scm-host localhost scm scm scm

8.部署cdh的本地源(主节点)

    以下包放到 /opt/cloudera/parcel-repo

        CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel

        CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1

        manifest.json

    重命名(避免识别不到重新下载)

mv CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1 CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha

四、启动CM

1.主节点启动
/opt/cm-5.9.2/etc/init.d/cloudera-scm-server start

    查看日志

tail -f /opt/cm-5.9.2/log/cloudera-scm-server/cloudera-scm-server.log
2.子节点启动
/opt/cm-5.9.2/etc/init.d/cloudera-scm-agent start
3.查看端口

    netstat -apn|grep 7180

    CM服务启动后需稍等片刻才能检测到7180端口开启

五、安装CDH

1.登陆CM

    web页面登陆cdh1:7180,初始用户名密码admin,版本选择免费版

092603_8ilL_2812496.png

092621_7bYO_2812496.png

092637_ClfR_2812496.png

2.集群安装

    开始安装过程

092655_NYdI_2812496.png

    在各个节点正常启动cloudera manager agent之后,节点会正常显示在当前管理的主机页面,选择全部作为集群节点。(有节点未识别到请正常启动他的cloudera manager agent)

092708_Poi8_2812496.png

    当CDH的包正常放置在 /opt/cloudera/parcel-repo下,此时会正常识别到目录下的CDH版本,选择此版本。(若识别不正常请重启cloudera manager server)

092821_YMC2_2812496.png

    CDH包识别正常这里的下载会在一瞬间完成,耐心等待分发解压和安装

092836_qepN_2812496.png

3.集群设置

    选择需要的服务,这里选择核心组件

092920_UfXd_2812496.png

    角色分配中CM会根据集群情况自动分配一部分,我们可以根据需要做调整

092945_Fn39_2812496.png

    配置服务所需数据库配置,填入先前建好的库用户名密码(尽量不适用root)

    在此之前务必为这几个服务添加mysql连接jar包:mysql-connector-java-5.1.39-bin.jar

093003_RWiy_2812496.png

    审核更改中HDFS块大小根据需要调整,其他直接默认即可

093019_cOau_2812496.png

    等待首次启动集群各种服务

093031_vgov_2812496.png

    (此时CDH集群已安装成功,若有告警和报错请一一解决)

六、常见问题

1. HDFS NFSgateway启动失败

    No portmap or rpcbind service is running on this host. Please start portmap or rpcbind service before attempting to start the NFS Gateway role on this host

解决:yum install rpcbind

          service rpcbind start

2. HUE load balancer启动失败

    httpd: Syntax error on line 82 of /opt/cm-5.12.0/run/cloudera-scm-agent/process/52-hue-HUE_LOAD_BALANCER/httpd.conf: Cannot load /usr/lib64/httpd/modules/mod_ssl.so into server: /usr/lib64/httpd/modules/mod_ssl.so: cannot open shared object file: No such file or directory

解决:yum install mod_ssl

3. HUE连接mysql测试失败

    Unexpected error. Unable to verify database connection

解决:ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

4. hive任务卡在ACCEPTED

    任务不起map也不报错,长期卡在ACCEPTED无法进入RUNNING状态

解决:yarn.nodemanager.resource.memory-mb 参数调大(建议2G以上)

4. 其他

binlog_format = MIXED

hive.metastore.schema.verification

转载于:https://my.oschina.net/puwenchao/blog/906852

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值