cdh 的安装

一、准备:

1、修改主机名,设置集群host

修改主机名,并使之生效 修改:vim etc/sysconfig/network

统一设置集群host(修改集群中每个节点的hosts文件):vim /etc/hosts  

2、利用ntp设置时间同步

less /etc/localtime检查时区看最后一行是否是CST-8如果不是,执行以下命令修改。

cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

因为hdp中有服务需要集群的时间同步,所以集群中的每一个机器需要安装启动ntp服务保证集群时间的一致,安装启动如下所示:

for host in node{1,2,3};do ssh root@$host yum install ntp -y; ssh root@$host; done

 

配置NTP同步:

服务端:

node1作为ntp server,其他节点与其同步

 

ntpdate -u 202.112.10.36 //可不执行,目的是与网络同步  

修改时间:date  -s "2018-3-1 15:58:00" //当前时间

写入硬件:clock -w

配置服务端:

vi /etc/ntp.conf

restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap

在# Please consider joining the pool (http://www.pool.ntp.org/join.html)后添加两行:

server 127.127.1.0

fudge 127.127.1.0 stratum 10 #后面的数字在0-15之间都可以,这样就将该机器作为ntp服务器提供给客户端

service ntpd start   或者  /etc/init.d/ntpd start

chkconfig ntpd on  #设置为自启动

检查端口是否开启:如果正常可以看见123端口

netstat -unlp

客户端:

vi /etc/ntp.conf

在# Please consider joining the pool (http://www.pool.ntp.org/join.html)  后面添加:

server node1

保存

ntpdate node1   #client端ntp服务未启动时执行

service ntpd start    或者  /etc/init.d/ntpd start

chkconfig ntpd on   #设置为自启动

3、防火墙配置

因为集群中的线程之间需要互相通信,所以需要合理配置防火墙,最简单的方式是直接关闭防火墙。操作如下所示:

for host in node{1,2,3};do ssh root@$host /etc/init.d/iptables stop; ssh root@$host chkconfig iptables off; done

或者:

service iptables stop

service ip6tables stop

设置成始终保持关闭:

chkconfig iptables off

chkconfig ip6tables off

4、设置集群免密登录

因为在ambarihdp部署过程中,ambarihdp部署的节点都有可能互相访问,所以建议四个节点中的每个节点之间都可以ssh无密码登录,包括它们自己登录到自己。

在Node1机器上执行如下操作,首先查看该用户根目录下的.ssh文件夹中是否有id_rsa文件,如果没有执行ssh-keygen命令,一路回车,然后查看生成的文件,为了避免之后的麻烦,建议将该目录下所有文件的权限修改成600,本文档部署在ambari机器上的操作如下所示,其他机器类似:

ssh-keygen

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

当所有节点都执行完以上命令后,在node1机器上执行如下将命令

for host in node{2,3};do echo $host; ssh-copy-id -i /root/.ssh/id_rsa root@$host;done

在node2机器上执行如下将命令

for host in node{1,3};do echo $host; ssh-copy-id -i /root/.ssh/id_rsa root@$host;done

在node3机器上执行如下将命令

for host in node{1,2};do echo $host; ssh-copy-id -i /root/.ssh/id_rsa root@$host;done

5、安装jdk

1)查看并卸载openjdk

查看有哪些jdk包:

rpm -qa|grep java

卸载自带的openJDK

rpm -e --nodeps tzdata-java-2017b-1.el6.noarch

rpm -e --nodeps java-1.8.0-openjdk-1.8.0.144-0.b01.el6_9.x86_64

rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.144-0.b01.el6_9.x86_64

rpm -e --nodeps java-1.8.0-openjdk-devel-1.8.0.144-0.b01.el6_9.x86_64

2)下载OracleJDK

下载OracleJDK并上传至/usr/java目录下

tar -zxvf  jdk-----.tar.gz

配置环境变量

vi  /etc/profile

JAVA_HOME=/usr/java/jdk1.8.0_60

PATH=$JAVA_HOME/bin:$PATH

source /etc/profile

java -version

6,安装cm支持包并配置环境

rpm  -qa|grep perl

yum install perl

1)交换分区设置

[root@cdh opt]#  cat /proc/sys/vm/swappiness

60

在/etc/sysctl.conf 文件里添加如下参数:

vm.swappiness=10

或者:[root@cdh opt]# echo 'vm.swappiness=10'>> /etc/sysctl.conf

2)关闭透明大页面压缩

[root@cdh opt]# cat /sys/kernel/mm/redhat_transparent_hugepage/defrag

[always] madvise never

修改/etc/rc.local文件并添加以下两行

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

二、安装cm

1、准备安装包安装包

1)地址:

https://www.cloudera.com/documentation/enterprise/release-notes/topics/cm_vd.html#CM5.14.0

2)解压并移动到安装目录

解压tar包:tar -zxvf cloudera-manager-el6-cm5.13.1_x86_64.tar.gz

解压后有cloudera和cm-5.13.1两个目录


移动这两个目录到安装目录下,如/opt: mv cloudera cm-5.13.1 /opt/

 

3)下载cdh安装包

地址:http://archive.cloudera.com/cdh5/parcels/latest/

 

把安装包放到/opt/cloudera/parcel-repo/目录下:`mv CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha manifest.json /opt/cloudera/parcel-repo/`

并修改CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha1名称为CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha,否则识别不到,选择CDH版本的时候看不到:`mv CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha1 CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha`

4)准备mysql connector

官网:https://dev.mysql.com/downloads/connector

下载:`wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.45.tar.gz`

解压:`tar -zxvf mysql-connector-java-5.1.45.tar.gz`

放到/usr/share/java目录下(先查看目录是存在,不存在先创建目录):`cp mysql-connector-java-5.1.45-bin.jar /usr/share/java/mysql-connector-java.jar`

或者放到目录/opt/cm-5.13.1/share/cmf/lib/下。

前者安装hive的时候可以直接使用,后者会找不到,需要再执行一次命令:`cp /opt/cm-5.13.1/share/cmf/lib/mysql-connector-java-5.1.45-bin.jar /opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/lib/hive/lib/`

 

2、配置安装

1)配置节点文件:

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

server_host为cm server的主机名或ip

server_port为server的通讯端口,默认为7182

 

 

2)复制agent到其他节点

scp -r /opt/cm-5.13.1 IP:/opt

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

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

4) 设置数据库信息

8.1 在mysql上新建数据库:cmf(cloudera manage数据库)、hive(hive数据库)、amon(cloudera Acrivity Monitor使用)、rman(cloudera Reports Manager使用)

mysql> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

mysql> create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

mysql> create database cmf DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

mysql> create database rman  DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

mysql> create database hive_monitor  DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

 

8.2 设置cmf连接信息:`/opt/cm-5.13.1/share/cmf/schema/scm_prepare_database.sh mysql -hhost29  --scm-host host28  cmf usrname password`

 

    命令说明:/opt/cm-5.13.1/share/cmf/schema/scm_prepare_database.sh 数据库类型 -h数据库主机 --scm-host cm主机  数据库名称  用户名  密码

    

    具体参数可参看官网[https://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_installing_configuring_dbs.html#concept_i2r_m3m_hn__section_qjj_pyp_bm][3]

 

8.3 查看配置文件,发现信息已写入:`vim /opt/cm-5.13.1/etc/cloudera-scm-server/db.properties`

 

5)启动

启动server: /opt/cm-5.13.1/etc/init.d/cloudera-scm-server start (只启动主节点上的一个server)

启动agent: /opt/cm-5.13.1/etc/init.d/cloudera-scm-agent start

 

 

三、安装群集

1、 登录cm

在浏览器输入http://IP:7180登录cm(ip替换为cm server主机ip,端口为server的http服务端口,默认为7180),用户名密码均为admin

2、 选择要安装的cm版本

选择免费或者试用版都可以,如果没有用到高级功能 ,试用版到期也没什么影响,可继续使用。

3、 群集安装

各个节点正常启动后,可以在当前管理的主机列表中看到对应的节点。选择你要使用节点就可以了,基本上全选。

选择CDH版本这里会显示你放在/opt/cloudera/parcel-repo/下的parcel包,若未显示,则检查CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha1是否名称未改为CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha,修改之后重启server服务和agent服务。

这里第一个和第二个警告,按页面提示的设置方法设置即可,第三个警告是jdk版本不对,不能使用openjdk,需要oracle jdk。

每个节点上都设置一下:

执行:`echo 10 > /proc/sys/vm/swappiness`

并编辑文件sysctl.conf:`vim /etc/sysctl.conf`,添加或修改vm.swappiness = 0

执行:

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

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

并编辑文件rc.local :`vim /etc/rc.local`

若安装过程中中断,再次继续安装时,可能出现主机受管情况:

此时停止所有cm服务,删除cmf数据库,重新初始化cmf数据库即可。
删除数据库:进入mysql,执行drop database cmf;

create database cmf  DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
卸载挂载点:umount cm-5.13.1/run/cloudera-scm-agent/process
清除所欲节点的agent uuid信息:rm -rf cm-5.13.1/lib/cloudera-scm-agent/*

注意:一定要先卸载挂载点,否则会提示无法删除:rm: 无法删除"cm-5.13.1/run/cloudera-scm-agent/process": 设备或资源忙

选择要安装的服务,可直接选择组安装,或自定义安装

填写事先建好的数据库信息

继续操作,保持默认选项即可。

注意: 若修改了hdfs的存储文件夹,一定要确定文件夹已经存在,并确保访问权限。否侧hdfs会无法启动,并且报错文件夹不存在。

、安装或使用过程中遇到的问题

1、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.

在安装 NFS Gateway那个节点上安装rpcbind:

    安装:`yum install rpcbind`

    启动:`service rpcbind start`

2、

在安装Hive Metastore Server服务的那台机器上操作:

    cp /opt/cm-5.13.1/share/cmf/lib/mysql-connector-java-5.1.45-bin.jar /opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/lib/hive/lib/

3,设置数据库时报错 

Logon denied for user/password. Able to find the database server and database, but logon request wa

方法一:失败

设置root授权访问以上所有的数据库

mysql>grant all privileges on *.* to 'root'@'主机名' identified by 'msql密码' with grant option;
mysql>flush privileges;

方法二:成功

SELECT `User`, `Host`, Length(`Password`) FROM mysql.user;

41:新密码,0:没有密码,16:旧密码

将为0的设置一下密码,连接即可

mysql>SET PASSWORD FOR 'root'@'127.0.0.1'=PASSWORD('123456');

mysql>flush privileges;

 

4,设置数据库时报错 (hue)

报错: Unexpected error. Unable to verify database connection.

查看server日志:/opt/cm-5.13.2/log/cloudera-scm-server/cloudera-scm-server.log

 

解决办法:

安装 :yum install libxslt.so.1 -y  失败

安装:成功

yum install krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel python-simplejson sqlite-devel

 

猜你喜欢

转载自blog.csdn.net/a53878617/article/details/84594509