CDH离线安装

时间:2024-03-20 10:13:10

cloudera manager和CDH安装(离线安装)

一:所需组件的下载

1:选择适合操作系统的cloudera manager和CDH连接:

首先需要查看自己linux的版本比如:

CDH离线安装

 

根据自己系统的版本选择适合自己系统的cloudera manager和parcel:下边连接为官网版本之间对照要求:

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

2:下载cloudera manager

下载cloudera manager连接:http://archive.cloudera.com/cm5/cm/5/

解释说明(举例): cloudera-manager-centos7-cm5.11.0_x86_64.tar.gz,

这个下载包里面的centos7所指为具体的操作系统的版本,centos7,centos6,centos5等,cm5.11.0指的是cloudera manager的版本,后面32,64为操作系统。

3:下载parcel

parcel连接:http://archive.cloudera.com/cdh5/parcels/5.11/,需要下载三个文件:

CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel,CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel.sha1

manifest.json

解释说明(举例):这里面的CDH-5.11.0-1对应前面的cloudera manager版本,后面的el7指的是centos7,同样也有centos7,centos6,centos5等,选择下载的时候注意版本的对应。(Cloudera Manager小版本必须始终等于或大于CDH次要版本 )即可。

4:下载JDK

jdk连接:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

选择对应的jdk版本jdk-8u131-linux-x64.tar.gz注意版本。

5:下载数据库的驱动jar

选择需要安装对应的数据库的驱动jar即可

mysql-connector-java-5.1.22-bin.jar。

二:配置基本环境

1:修改本机固定IP地址(每个节点都要配置)

(如果centos系统是最小化安装,会有ifconfig命令无效问题,解决办法:

yum provides ifconfig

yum install net-tools)

然后修改固定IP:

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

CDH离线安装

 

BOOTPROTO="static" #dhcp改为static

ONBOOT="yes" #开机启用本配置

IPADDR=192.168.122.203 #静态IP

GATEWAY=192.168.122.254 #默认网关

NETMASK=255.255.255.0 #子网掩码

DNS1=114.114.114.114 #DNS 配置

2:修改主机名和hosts(每个节点都要配置)

hostnamectl set-hostname n1

vi /etc/hosts

CDH离线安装

 

前边为ip地址,后边为对应的hostname

重启系统(所有节点)

3:配置jdk,根据下载的jdk进行配置(每个节点都要配置)

解压到/usr/local的下面

tar -zvxf jdk-8u131-linux-x64.tar.gz -C /usr/local

CDH离线安装

 

配置环境变量

vi /etc/profile

CDH离线安装

 

source /etc/profile生效环境变量

4:安装NTP服务(每个节点都要配置)(有的系统默认已经安装)

如果没有安装yum install -y ntp(centos命令)

vi /etc/ntp.conf

CDH离线安装

 

(主节点)注释前面的server,添加一个自己选择的时间同步服务

CDH离线安装

 

(节点)注释前面的server,添加server的ip地址指向主节点。

启动systemctl start ntpd(启动命令可能不一样,根据具体的系统);

5:SSH无密码登陆(每个节点都要配置)

ssh-****** -t rsa一直回车

进入查看cd ~/.ssh/ 然后ls查看生公钥私钥

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys(本地ssh,每个节点都要执行)

把主节点的公钥复制到其他节点

scp ~/.ssh/id_rsa.pub n1:/root/id_rsa.pub

scp ~/.ssh/id_rsa.pub n2:/root/id_rsa.pub......等等

把主节点传过来的公钥追加到~/.ssh/authorized_keys

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

在主节点进行测试ssh n1,ssh n2......等等

每个节点可以ssh localhost,主节点可以ssh节点,配置完成。

6:配置数据库(只需要在主节点安装即可)

本次使用的yum库安装(可以根据情况,选择适合的安装方式);

(1)下载yum库:

wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

(如果wget命令找不到,就先安装wget:yum -y install wget)

  1. 安装yum库:

yum localinstall -y mysql57-community-release-el7-7.noarch.rpm

(3)安装数据库:

yum install -y mysql-community-server

(4):vi /etc/my.cof末尾添加skip-grant-tables配置

   重启mysql服务:systemctl restart mysqld.service

(5)mysql直接进入mysql -uroot

update mysql.user set authentication_string=password("yourpassword") where user="root";设置自己的登陆密码;quit退出,vi /etc/my.cof,去掉配置skip-grant-tables配置重启mysql。

(6)mysql -uroot -p输入密码登陆mysql,如果提示设置密码,set password = password('yourpassword');即可。

(7):创建scm用户数据库:

(如果创建数据库不成功就执行:alter user 'root'@'localhost' identified by 'YEdongsheng123456..';)

create database scm default character set utf8;

grant all on scm.* to [email protected]'%' identified by 'ZHUhuanyu005..';

同样假如若是安装所有服务,则要创建hive,oozie,hue等源数据库,授权也可这样配置

grant all on *.* to [email protected]"%" Identified by 'yourpassword';

7:关闭防火墙和SELinux;(每个节点都要配置)

修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)setenforce 0 临时生效

关闭防火墙systemctl stop firewalld.service

如果需求具体配置防火墙端口:例如配置hadoop的端口:

#添加hdfs管理界面端口

  firewall-cmd --zone=public --add-port=50070/tcp --permanent

  #hdfs的文件系统端口

  firewall-cmd --zone=public --add-port=50075/tcp --permanent

  #添加yarn管理界面的端口

  firewall-cmd --zone=public --add-port=8088/tcp --permanent

  #重启防火墙

  firewall-cmd --reload

官网端口对照连接:

https://www.cloudera.com/documentation/cdh/5-1-x/CDH5-Installation-Guide/cdh5ig_ports_cdh5.html如果使用防火墙则需要配置主从节点所有所用服务的端口,否则将出现无法连接的异常。

三:安装cloudera manager和CDH

1:安装cloudera-manager(只需要在主节点安装即可)

解压到/opt/下面(必须解压到/opt/下)

tar -zxvf cloudera-manager-centos7-cm5.11.0_x86_64.tar.gz  -C /opt/

将下载好的

mysql-connector-java-5.1.22-bin.jar 放到/opt/cm-5.11.0/share/cmf/lib/

2:创建用户(主节点)

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

3:初始化本地数据scm(主节点)

/opt/cm-5.11.0/share/cmf/schema/scm_prepare_database.sh mysql scm scm yourpassword

4:配置节点(主节点复制到节点)

修改/opt/cm-5.11.0/etc/cloudera-scm-agent/config.ini中server_host改为主节点ip或名称

CDH离线安装

 

通过scp:scp -r /opt/cm-5.11.0 slave1:/opt/.....复制到每个节点

5:创建用户(其他节点)

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

6:准备Parcels,用以安装CDH(每个节点都要配置)

创建Parcle的存放目录/opt/cloudera/parcel-repo/,然后将前面下载的三个文件:

CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel

CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel.sha1(修改名称为

CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel.sha)

Manifest.json

CDH离线安装

 

(CDH-5.11.0-1.cdh5.11.0.p0.34-el7.parcel.torrent为后期自动生成的)

7:启动服务

检查ntp(所有节点),防火墙(所有节点),SELinux(所有节点),mysql数据库(主节点)状态。

主节点执行/opt/cm-5.11.0/etc/init.d/cloudera-scm-server start(访问webip为本机ip)

所有节点/opt/cm-5.11.0/etc/init.d/cloudera-scm-agent start

 

8: CDH安装

安装前操作:

(1)设置vm.swqppiness大小为10

    临时改变:

     echo 10 > /proc/sys/vm/swappiness    

    永久改变:

     vim /etc/sysctl.conf

     vm.swappiness=10

(2)解决其中一个警告“透明大页面”,如果还有警告,可忽略。

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

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

(3)如果centos是最小化安装,那么安装过程中hue是连不上的,缺个东西:

       yum install -y python-lxml

(4)日志中可能会显示没装perl,那就装一下(所有节点)

       yum install -y perl

(5)日志中显示JAVA_HOME找到的,解决办法:

     find / -type f -name "*.sh" | xargs grep "as ALT_NAME"  找到deploy-cc.sh

     比如我的是定位到/opt/cm/lib64/cmf/service/client/deploy-cc.sh

     然后直接在上面加上

     JAVA_HOME=/opt/java

     export JAVA_HOME=/opt/java

     建议放在echo "using $JAVA_HOME as JAVA_HOME"语句上面

     最后scp到每个节点

    scp /opt/cm/lib64/cmf/service/client/deploy-cc.sh n1:/opt/cm/lib64/cmf/service/client/ ...

    然后执行命令:cat /etc/environment (每个节点)

    安装页面点“重试”应该就好了

(6)如果要安装hive,就把mysql的JDBC放到如下目录里(如果不放,hive启动时会出错)

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

(7)如果要安装oozie,就把mysql的JDBC放到如下目录里(如果不放,oozie启动时会出错)

    cp mysql-connector-java-5.1.40-bin.jar /var/lib/oozie/

安装前所有步骤做完之后,就可以访问页面(ip:7180)开始安装CDH服务。首次进入时用户名和密码都是admin。

9:安装CDH过程中出现异常如何重装?

1:对于启动Agent服务的节点,会在/opt/cm-5.11.0/lib/cloudera-scm-agent/产生uuid,需要将该目录下的文件全部删除:rm -rf /opt/cm-5.11.0/lib/cloudera-scm-agent/*。

如果该节点为新增节点,节点内容为从其他节点拷贝过来的,则需要在首次启动节点的时候也将该目录下uuid等内容删除。

CDH离线安装

2:清空Mysql中SCM对应的数据库。

进入mysql,drop database scm;新建数据库

新建数据库:create database scm default character set utf8;

给权限:grant all on scm.* to [email protected]'%' identified by 'ZHUhuanyu005..';

格式化:scm:/opt/cm-5.11.0 /share/cmf/schema/scm_prepare_database.sh mysql scm scm yourpassword

3:重新启动服务