在CentOS7中安装CDH

  • 2018年9月7日 截至到今天,CDH已经更新到6.0.0了。

本文介绍的CDH的安装是在本机上搭建的三个虚拟机中的,我的物理机配置如下:


在CentOS7中安装CDH_第1张图片
物理机配置.png

通常说的CDH主要分为两个部分:CDH 和 CDH Manager。CDH主要就是包含了Hadoop等的一些大数据组件的安装包,而CDH Manager就是管理和监控这些的一个系统。

2 基础环境配置

JDK的安装

虚拟机安装成功后,
配置JDK环境,CDH对JDK有严格的要求,在CentOS中,必须放在/usr/java/ 目录下面;

防火墙关闭

使用systemctl stop firewalld.service指令检查防火墙状态;
使用systemctl disable firewalld.service指令关闭防火墙开机启动;

在CentOS7中安装CDH_第2张图片
防火墙操作.png

NTP 服务的安装

具体的思路为:主节点安装了NTP服务,然后作为NTP服务器,对所有的从节点提供时间同步服务。具体的安装流程如下:
在所有的节点上安装NTP服务:

sudo yum install ntp –y;

配置开机启动:

sudo systemctl enable ntpd.service;
# 或者 
sudo chkconfig ntpd on;  
#(现在新的开机启动走的是第一条指令了。)

最好重启机器,检查是否生效:

sudo reboot;
systemctl status ntpd.service

也可以通过指令检查是否设置成功:

chkconfig –list ntpd ;
#如果2-5都是on,则成功配置了。

从节点配置,如果从节点也能联网的话,把所有的节点的时区设置为同一个即可,具体设置指令为:
查看当前的时区信息:

[bigdata@mini00 ~]$ timedatectl status
      Local time: Sun 2017-07-23 14:45:23 CST
  Universal time: Sun 2017-07-23 06:45:23 UTC
        RTC time: Sun 2017-07-23 06:45:23
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: no
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

设置亚洲上海时区:

sudo timedatectl set-timezone Asia/Shanghai

安装包的下载

此次安装是基于CDH5.10.0版本。
CDH Manager的下载地址如下:
http://archive.cloudera.com/cm5/cm/5/

在CentOS7中安装CDH_第3张图片
CDH Manager下载页面.png

CDH 的下载地址如下:
http://archive.cloudera.com/cdh5/parcels/5.10.0/

具体如下图所示:


在CentOS7中安装CDH_第4张图片
CDH5.10.0的下载.png

以上的配置和CDH没有关系的,是CentOS7的基本环境的配置

CDH 安装环境配置

复制虚拟机

重新打开虚拟机的时候,都选择我已经复制该虚拟机,这样的话,VMare会为该虚拟机重新生成一个网卡,不然的话,会依然使用以前的网卡,造成IP冲突。


在CentOS7中安装CDH_第5张图片
复制虚拟机.png

修改域名

#查看域名
hostnamectl
#修改域名
hostnamectl set-hostname cdh01

注销当前用户之后,新域名即可生效。

设置IP


[bigdata234@cdh03 ~]$ sudo vi /etc/hosts
[sudo] password for bigdata234:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.225.131 cdh01
192.168.225.132 cdh02
192.168.225.133 cdh03

免密登陆

确定cdh01为主节点,在主节点生成密钥后,拷贝到从节点上。从节点不需要生成密钥拷贝到主节点,此处注意陷入了死循环中。

Mysql的安装

此时的mysql的安装只安装在主节点上。
参考另外一篇文章

上传已经下载的文件,然后拷贝到各个节点上

文件解压

每个节点上都解压CM,解压的路径是/opt/ 下;

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

解压的结果如下:

[root@cdh01 opt]# tree -L 2
.
├── cloudera
│   ├── csd
│   └── parcel-repo
└── cm-5.11.0
    ├── etc
    ├── lib
    ├── lib64
    ├── log
    ├── run
    ├── sbin
    └── share

11 directories, 0 files

在所有节点上配置主机的名称

vi cm-5.11.0/etc/cloudera-scm-agent/config.ini

如下:

server_host=cdh01

创建用户

至于为什么要创建用户,不能使用当前的root或者别的用户,CDH的官网有说明。
三个节点上面都创建用户:cloudera-scm 。

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

用户创建后,修改目录的用户权限:

chown -R cloudera-scm:cloudera-scm /opt/cloudera/
chown -R cloudera-scm:cloudera-scm /opt/cm-5.11.0/

建立数据库

首先,在每个节点,都将驱动拷贝到CM的目录下面:

cp mysql-connector-java-5.1.43-bin.jar /opt/cm-5.11.0/share/cmf/lib/

其次,在主节点执行脚本,创建数据库,该脚本是CM自带的,

/opt/cm-5.11.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p密码 --scm-host localhost scm scm cm库的密码

安装CDH

文件拷贝

只在 主节点 拷贝,从节点在安装的时候会自动完成复制的。
(1)、将CDH的parcel文件、sha1文件和JSON文件拷贝到/opt/cloudera/parcel-repo/目录下面;
(2)、将sha1文件修改为sha文件;
(3)、

创建HIVE数据库、集群监控数据库、HUE、OOZIE数据库

/**hive数据库**/
DROP DATABASE IF EXISTS hive;
CREATE DATABASE hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
GRANT ALL ON hive.* TO 'hive'@"%" IDENTIFIED BY "hivepassword";

/**集群监控数据库**/
DROP DATABASE IF EXISTS amon;
CREATE DATABASE amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO 'amon'@"%" IDENTIFIED BY "amonpassword";

/**hue数据库**/
DROP DATABASE IF EXISTS hue;
CREATE DATABASE hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO 'hue'@"%" IDENTIFIED BY "huepassword";

/**oozie数据库**/
DROP DATABASE IF EXISTS oozie;
CREATE DATABASE oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'ooziepassword';

GRANT ALL ON cmf.* TO 'cmf'@'%' IDENTIFIED BY 'cmfpassword';

启动

主节点:

sudo /opt/cm-5.11.0/etc/init.d/cloudera-scm-server start
sudo /opt/cm-5.11.0/etc/init.d/cloudera-scm-agent start

从节点:

sudo /opt/cm-5.11.0/etc/init.d/cloudera-scm-agent start

相应的重启,暂停,分别为restart,stop。
错误日志的位置:
/opt/cm-5.11.0/log/cloudera-scm-agent

CM启动日志在文件/opt/cm-5.11.0/log/cloudera-scm-server/cloudera-scm-server.log中;

....
2018-09-08 15:05:18,543 INFO WebServerImpl:org.mortbay.log: jetty-6.1.26.cloudera.4
2018-09-08 15:05:18,647 INFO WebServerImpl:org.mortbay.log: Started [email protected]:7180
2018-09-08 15:05:18,648 INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.
.....

7180端口已经启动

相关网址

欢迎界面


在CentOS7中安装CDH_第6张图片
image.png
在CentOS7中安装CDH_第7张图片
image.png
在CentOS7中安装CDH_第8张图片
image.png

http://192.168.225.131:7180/cmf/express-wizard/wizard

在CentOS7中安装CDH_第9张图片
image.png

出现主机运行不良的原因是没有删除主机以前生成的cm_guid导致的,可以参考文章:https://blog.csdn.net/u011031430/article/details/74057601

在CentOS7中安装CDH_第10张图片
image.png

删除重新安装

如果安装错误了,删除重新安装,按照以下步骤:
1 删除全部的从节点上的文件包括,cloudrea和cm-xxx,重新解压;2‘
2 为新的文件夹修改用户组;1’
3 修改config文件,使其的服务节点都是cdh01;2‘
4 删除CM数据库;drop database cm; 2’
5 创建CM数据库;2' 
6 从节点上,拷贝数据库驱动到cmf/lib下;
7 主节点,清空cloudera下的文件,只保留csd和paracel-repo文件夹;
8 主节点,删除rm -f /opt/cloudera-manager/cm-5.11.1/lib/cloudera-scm-agent/cm_guid,重启主节点的agent(restart)
9 重启,首先启动主节点的管理;再启动从节点的agent;

安装的过程中出现错误:
/opt/cm-5.11.0/lib64/cmf/service/client/deploy-cc.sh: line 115: perl: command not found
是因为perl没有安装:
yum install -y perl,安装完后,重试即可;

Command aborted because of exception: Command timed-out after 90 seconds
一般是内存太少了导致的,对于主节点要求至少5GB,从节点要求至少2GB
可以多试几次,说不定就通过了。

你可能感兴趣的:(在CentOS7中安装CDH)