Cloudera Manager 5和CDH5离线安装

Cloudera Manager 5和CDH5离线安装

 

前期准备:13台centos6.7(虚拟机部署)=12台(CDH集群)+1台(LAMP展示机器)

HostName

IP

master01

10.255.184.32

master02

10.255.184.33

slave01

10.255.184.34

slave02

10.255.184.35

slave03

10.255.184.36

slave04

10.255.184.37

slave05

10.255.184.38

slave06

10.255.184.39

slave07

10.255.184.40

slave08

10.255.184.41

slave09

10.255.184.42

slave10

10.255.184.43

展示机器

10.255.241.20

 

相关包的下载地址: (本地文件在E:\客流展示二期\hadoop部署文档\离线安装包\pre)
1:Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/

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

2:CDH安装包地址:http://archive.cloudera.com/cdh5/parcels/latest/
由于我们的操作系统为CentOS6.7,需要下载以下文件(根据系统版本自行挑选。)
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
3:JDBC:http://download.softagency.net/MySQL/Downloads/Connector-J/

mysql-connector-java-5.1.40.tar.gz

 

一:部署前机器情况准备

 

1:网络配置(所有节点)以主节点为例:

         vim/etc/sysconfig/network

         修改:HOSTNAME=master

         vim/etc/hosts

         追加以下内容

         10.255.184.32master01

10.255.184.33master02

10.255.184.34slave01

10.255.184.35slave02

10.255.184.36slave03

10.255.184.37slave04

10.255.184.38slave05

10.255.184.39slave06

10.255.184.40slave07

10.255.184.41slave08

10.255.184.42 slave09

10.255.184.43 slave10

 
CDH环境需要修改的系统配置
cdh会检查主机运行环境,会报如下错误
 
  

解决方法(所有节点都要执行):
             vim /etc/sysctl.conf在最末行添加以下内容
               vm.swappiness=10
               :wq保存退出

vim /etc/rc.local添加以下内容

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

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

:wq保存退出

Cloudera Manager 5和CDH5离线安装_第1张图片

2:配置SSH, 建立SSH无密码连接

2.1查看是否安装ssh,并且修改配置文件。

#rpm -qa | grepopenssh

    #rpm -qa | grep rsync

    若未安装SSH协议则通过以下指令安装(已安装则不需要执行下面两个命令)

    yum install ssh                  安装SSH协议

yum install rsync                rsync是远程数据同步工具,可通过

LAN/WAN快速同步多台主机间的文件

修改SSH配置文件

        #vim /etc/ssh/sshd_config

       RSAAuthentication yes             启用 RSA 认证

PubkeyAuthentication yes         启用公钥私钥配对认证方式

AuthorizedKeysFile .ssh/authorized_keys  公钥文件路径

        找到以上三行,去掉行首的注释即可。

 

    service sshdrestart   重启SSH服务,使设置生效

 

2.2配置Master无密码登录所有Slave

①root用户在所有群集机器上执行以下命令:

 

        # ssh-keygen -t rsa 直接回车执行   

 

该命令是生成无密码密钥对,对询问采用直接回车执行。生成的私钥为id_rsa,生成的公钥为id_rsa.pub。其默认存储在/home/hadoop/.ssh目录下。

 

②ssh-copy-id -i /root/.ssh/id_rsa.pub  hostname

        往所有主机发送统一指令。

      ssh hostname     登录测试是否成功

3:在所有节点上安装JDK
    J:\办公室主机\hadoop部署\旧版\CDH
    jdk-8u111-linux-x64.rpm
    
    卸载掉java
    #rpm -qa | grep java
    #rpm -e -nodeps 输入上面-qa搜索到的版本   
 
    # rpm -ivh jdk-8u111-linux-x64.rpm
    
    使用java -version 检查是否安装成功
 
4:安装配置mysql(主节点)
    yum install -y mysql-server
    提示安装完成后
    #service mysqld start           启动mysql
    #chkconfig mysqld on            mysql设置为开机自启
    #mysql_secure_installation       初始化设置mysql(设置root账号)
    
    #mysql -uroot -pmysqlpw          进入mysql命令行模式
 
TIPS:    
         Cloudera-Manager除了保存CDH集群的配置元数据的scm数据库外,还为Activity Monitor(活动监控)、Service Monitor(服务监控)、Report Manager(报告管理)、Host Monitor(主机监控)、Cloudera NavigatorCloudera导航)等信息分别创建数据amonsmonrmonhmonnav相应的数据。
 
建库命令如下:
 
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
 
授权root用户在主节点拥有所有数据库的访问权限
#grant all privileges on *.* to 'master'@'localhost' identified by 'a11112222' with grant option;flush privileges;
 
#grant all privileges on hive.* to 'server'@'localhost' identified by 'wifiBJ' with grant option;flush privileges;
 
# grant all privileges on cm.* to 'server'@'localhost' identified by 'wifiBJ' with grant option;flush privileges;
 
 
  
  5:每台机器关闭防火墙和selinux
关闭防火墙
service iptables stop
关闭selinux
setenforce 0 (临时生效)  
修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)
 
  6:配置网络时间服务同步
       因为集群网络不可以访问外网,所以时间同步方案如下:
       展示机器和无限城市的时间同步服务器做好时间同步,并将其设为server,集群内部的机器作为client,通过配置文件,实现与server的内网同步。
 
    此次部署的配置文件路径:E:\客流展示二期\hadoop部署文档\组件配置\ntpd的两个文件夹中。
    每台机器执行下面两个操作,开启ntp服务,并且设置为开机自启
    #service ntpd start 
    #chkconfig ntpd on
    server端配置修改完成后,执行netstat -tlunp | grep ntp 
    查看udp123端口是否被监听。
    #ntpdate -u ntp.wifibeijing.com
    #ntpdate -u 103.250.224.18         手动强制执行同步
    需要等待5-10分钟同步。执行ntpstat查看同步状态。
    #ntpstat
               
    client和server实现内网同步
    需要开放server端的udp 123端口(注意UDP)
    # -A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
    client端配置修改完成后,
    #ntpdate -u 10.255.176.32          手动同步内网时间
    
    
    
 

二:正式配置CDH

1:安装Cloudera Manager Server 和Agent

cloudera manager的目录默认位置在/opt下,
解压:
tar xzvf cloudera-manager*.tar.gz
将解压后的cm-5.9.0和cloudera目录放到/opt目录下。 

为Cloudera Manager 5建立数据库
找到mysql-connector-java-5.1.40-bin.jar,放到/opt/cm-5.9.0/share/cmf/lib/中。
 
#cp /opt/mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /opt/cm-5.9.0/share/cmf/lib/
 

#cp/opt/mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar/opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/lib/hive/lib/

 

 

在主节点初始化CM5的数据库

# /opt/cm-5.9.0/share/cmf/schema/scm_prepare_database.shmysql cm -hlocalhost -umaster -pa11112222 --scm-host localhost scm scm scm

 

Agent配置

修改/opt/cm-5.9.0/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。

vim  /opt/cm-5.9.0/etc/cloudera-scm-agent/config.ini

修改

server_host=slave01

 

 

将cm-5.9.0文件夹打包(因为需要将该文件传输到slave端)

tar -zcvf/opt/cm-5.9.0.tar.gz /optcm-5.9.0

scp  /opt/cm-5.9.0.tar.gz root@master01:/opt/

scp  /opt/cm-5.9.0.tar.gz root@master02:/opt/

集群内所有机器都需要传输,这里不赘述。

 

 

在所有节点创建cloudera-scm用户

useradd --system--home=/opt/cm-5.9.0/run/cloudera-scm-server/ --no-create-home--shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

 

准备Parcels,用以安装CDH5
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo需要手动创建)。
相关的文件如下:

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

 

最后将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,这点必须注意,否则,系统会重新下载CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1文件。

Master开启

/opt/cm-5.9.0/etc/init.d/cloudera-scm-serverstart

/opt/cm-5.9.0/etc/init.d/cloudera-scm-agentstart

 

 

所有机器开启

/opt/cm-5.9.0/etc/init.d/cloudera-scm-agentstart

 

浏览器登录CDH5页面查看服务是否启动

 

http://10.255.184.34:7180

 

接下来参看CDH部署计划图,分配角色。

 

接收数据需要配置flume和rsyslog

具体配置在E:\客流展示二期\hadoop部署文档\组件配置\Flume文件夹里。

rsyslog需要开放flume监听的端口,具体配置参见配置文件。

 

 

Drill部署参照E:\客流展示二期\drill部署文档文件夹里的部署文档。

Drill启动后,浏览器访问http://10.255.184.41:8047

点击storage,进行插件的配置,点击Enable启动dfs插件,点击Update进入dfs的配置页面,进行设置。配置参照E:\客流展示二期\drill部署文档\dfs.txt文档的配置即可。

 

至此,系统的部署已经完成。代码的说明在另外一个文档中说明。

 

Q&A

部署遇到的问题

http://192.168.2.74:7180/

grant all privileges on *.* to'root'@'192.168.2.74' identified by 'a11112222' with grant option;flushprivileges;

 

执行数据库初始化脚本

/opt/cm-5.9.0/share/cmf/schema/scm_prepare_database.shmysql cm -hmaster -uroot -pa11112222 --scm-host 192.168.2.74 scm scm scm

 

执行添加用户及用户组

useradd --system--home=/opt/cm-5.9.0/run/cloudera-scm-server/ --no-create-home--shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

 

 

问题1:

hive数据库报错解决、

Cloudera Manager 5和CDH5离线安装_第2张图片

cp/opt/mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar/opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/lib/hive/lib/

 

 

问题2:

slave1: IOException thrown while collectingdata from host: No route to host

解决:关闭防火墙

 

问题3:

slave[1-4]: Inspector did not runsuccessfully.

解决:查看jdk是否安装

 

问题4:主机环境检查页面报错

Cloudera Manager 5和CDH5离线安装_第3张图片

sysctl vm.swappiness=10

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

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

 

 

问题5:

master意外重启后查看cloudera-scm-server状态

报错 cloudera-scm-server dead butpid file exists

     cloudera-scm-agent dead but pid fileexists

解决方法:rm -rf /opt/cm-5.9.0/run/cloudera-scm-server.pid

rm -rf /opt/cm-5.9.0/run/cloudera-scm-agent/cloudera-scm-agent.pid

 

问题6:

如果HDFS首次启动报错,failed  to format namenode

在配置HDFS页面修改NameNode和DataNode的存储目录。

问题7:

若/opt/cm-5.9.0/etc/init.d/cloudera-scm-server start执行完成后,很快会出现cloudera-scm-server dead but pid file exists的报错信息,可以查看mysql的运行状况。mysql挂掉的导致这个原因的可能性较大。或者内存溢出,可以查看该日志文件cm-5.9.0/log/cloudera-scm-server/cloudera-scm-server.log

问题8:

agent在parcels安装页面显示主机运行状态不良

         查看agent日志报错Error, CM server guid updated,

Cloudera Manager 5和CDH5离线安装_第4张图片

解决方法:删除各个agent节点的cm_guid文件即可

                  rm-rf  /opt/cm-5.9.2/lib/cloudera-scm-agent/cm_guid

 





你可能感兴趣的:(集群部署,Hadoop)