最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

Cloudera大数据平台环境搭建(CDH5.13.1)傻瓜式说明书

来源:动视网 责编:小OO 时间:2025-10-03 00:32:58
文档

Cloudera大数据平台环境搭建(CDH5.13.1)傻瓜式说明书

Cloudera大数据平台环境搭建(CDH5.13.1版)版本v1.0作者郭维忠发布日期2018-03-101.基础环境1.1.软件环境本文将介绍Centos7.4离线安装CDH和ClouderaManager过程,软件版本如下:NO.软件名称版本1.操作系统Centos7.4位2.JDKjdk-8u151-linux-x3.ClouderManager5.13.14.CDH5.13.15.数据库Mysql5.76.JDBCmysql-connector-java-.jar1.2.配置
推荐度:
导读Cloudera大数据平台环境搭建(CDH5.13.1版)版本v1.0作者郭维忠发布日期2018-03-101.基础环境1.1.软件环境本文将介绍Centos7.4离线安装CDH和ClouderaManager过程,软件版本如下:NO.软件名称版本1.操作系统Centos7.4位2.JDKjdk-8u151-linux-x3.ClouderManager5.13.14.CDH5.13.15.数据库Mysql5.76.JDBCmysql-connector-java-.jar1.2.配置
Cloudera大数据平台环境搭建

(CDH5.13.1版)

版本v1.0

作者郭维忠
发布日期2018-03-10

1.基础环境

1.1.软件环境

本文将介绍Centos7.4离线安装CDH和ClouderaManager过程,软件版本如下:

NO.

软件名称版本
1.

操作系统Centos7.4位

2.

JDKjdk-8u151-linux-x
3.

ClouderManager

5.13.1

4.

CDH

5.13.1

5.

数据库Mysql5.7
6.

JDBC

mysql-connector-java-.jar
1.2.配置规划

本次安装共5台服务器,服务器配置及用途如下:

NO.

机器名称内网IP配置用途
1.

node168

8C/32Gb/1TB主,CM,MysqlDB

2.

node169

98C/32Gb/1TB
3.

node170

708C/32Gb/1TB
4.

node171

718C/32Gb/1TB
5.

node172

728C/32Gb/1TB
1.3.所需要的软件资源

1)JDK环境:

JDK版本:51

jdk-8u151-linux-x.rpm

下载地址:

2)CM包:

CM版本:5.13.1

下载地址:

3)CDH包

CDH版本:5.13.1,

.sha1;

manifest.json

下载地址:

4)JDBC连接jar包:

jar包版本:5.1.43,

mysql-connector-java-5.1.43.jar

下载地址:

1.4.修改机器名(所有节点)

1)修改机器名称

#hostnamectlset-hostnamexxx//设置机器名

#hostname//查看本机名

这种方式,在Centos7中可以永久性改变主机名称。

2)每个节点机器,都要配置hosts

#vi/etc/hosts

内容都改为:

1localhost//建议保留此行

node168

node169

node170

node171

node172
1.5.设置防火墙(所有节点)

注:为了简便,可以先关闭防所有节点火墙,安装完成后,再按照下面步骤设置。

防火墙常用命令:

#firewall-cmd--state(查询防火墙状态)

#systemctlstopfirewalld.service(关闭防火墙)

#systemctlstartfirewalld.service(开启防火墙)

#systemctldisablefirewalld.service(禁止firewall开机启动)
设置防火墙策略,在所有节点执行下面脚本(执行前要启动防火墙):

//集群机器间可以相互访问

firewall-cmd--permanent--add-rich-rule="rulefamily='ipv4'sourceportprotocol='tcp'port='0-65535'accept"

firewall-cmd--permanent--add-rich-rule="rulefamily='ipv4'sourceportprotocol='tcp'port='0-65535'accept"

firewall-cmd--permanent--add-rich-rule="rulefamily='ipv4'sourceportprotocol='tcp'port='0-65535'accept"

firewall-cmd--permanent--add-rich-rule="rulefamily='ipv4'sourceportprotocol='tcp'port='0-65535'accept"

firewall-cmd--permanent--add-rich-rule="rulefamily='ipv4'sourceportprotocol='tcp'port='0-65535'accept"

//设置可以访问的端口

firewall-cmd--permanent--add-port=0-65535/tcp

firewall-cmd--reload
注意:需要在所有的节点上执行,因为涉及到的端口太多了,临时开放所有端口是为了安装起来方便,安装完毕后可以根据需要设置防火墙策略,保证集群安全。

1.6.配置免密码登录SSH

将子节点设置为从主节点ssh无密码登陆(主节点访问从节点需要无密码互通,否则后面会出现问题)

在主节点上执行:

#cd~//进入到根目录

#ssh-keygen-trsa

一路回车,生成无密码的密钥对。

把公钥拷贝至node169服务器上?:

#scp/root/.ssh/id_rsa.pubroot@node169:~//输入node169机器上root用户密码拷备成功

登录到node169服务器上:

然后在node169服务器上,把公钥的内容追加到authorized_keys文件末尾(这个文件也在隐藏文件夹.ssh下,如果没有可以新建):

#catid_rsa.pub>>~/.ssh/authorized_keys

如果提示下面信息,则需要创建./ssh目录:

-bash:/root/.ssh/authorized_keys:Nosuchfileordirectory

//创建/.ssh目录,再追加公钥内容

#mkdir~/.ssh

#catid_rsa.pub>>~/.ssh/authorized_keys
并设置authorized_keys的访问权限:

#chmod600~/.ssh/authorized_keys

测试:在node168点上执行sshnode169,正常情况下,不需要密码就能直接登陆进去了。

在node168节点出现下面表示成功登录node169节点:

以同样的方式将公钥拷贝至其他节点服务器上。

1.7.关闭SELINUX(所有节点)

关闭linuxSELINUX安全内核

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

#vi/etc/selinux/config

内容增加:

SELINUX=disabled

重启后生效:

#reboot

查看SELINUX是否关闭:

#sestatus

  (在Centos7中遇到SELINUX无法关闭的问题,重新启动机器恢复正常)

1.8.修改Linux内核参数(所有节点)

为避免安装过程中出现的异常问题,首先调整Linux内核参数。

1)设置swappiness,控制换出运行时内存的相对权重,Cloudera建议将swappiness设置为10:

//查看swappiness

#cat/proc/sys/vm/swappiness

//永久性修改,执行下面两条命令

#sysctl-wvm.swappiness=10

#echovm.swappiness=10>>/etc/sysctl.conf
2)关闭透明大页面:

自CentOS6版本开始引入了TransparentHugePages(THP),从CentOS7版本开始,该特性默认就会启用。尽管THP的本意是为提升内存的性能,不过某些数据库厂商还是建议直接关闭THP,否则可能会导致性能出现下降。

首先查看透明大页是否启用,[always]never表示已启用,always[never]表示已禁用:

#cat/sys/kernel/mm/transparent_hugepage/defrag

[always]madvisenever

#cat/sys/kernel/mm/transparent_hugepage/enabled

[always]madvisenever
以上状态就说明是启用的。

临时关闭(重启机器会变回默认开启状态):

#echonever>/sys/kernel/mm/transparent_hugepage/defrag

#echonever>/sys/kernel/mm/transparent_hugepage/enabled
永久关闭:

//编辑/etc/rc.d/rc.local

#vi/etc/rc.d/rc.local

//在文件后添加下面内容:

iftest-f/sys/kernel/mm/transparent_hugepage/enabled;then

echonever>/sys/kernel/mm/transparent_hugepage/enabled

fi

iftest-f/sys/kernel/mm/transparent_hugepage/defrag;then

echonever>/sys/kernel/mm/transparent_hugepage/defrag

fi
保存退出,然后赋予rc.local文件执行权限:

#chmod+x/etc/rc.d/rc.local

重启系统,以后再检查THP状态,显示状态被禁用了。

3)修改文件句柄数:

修改系统文件句柄数:

//查看文件句柄数,显示1024,显然太小

#ulimit-n

1024

//修改

#vi/etc/security/limits.conf

//在文件后加入下面内容:

*softnofile100000

*hardnofile100000
修改后需要重启机器。

1.9.其他安装与配置(所有节点)

为避免安装过程中出现异常问题,安装相关依赖包:

#yum-yinstallpsmiscMySQL-pythonatbcbind-libsbind-utilscups-clientcups-libscyrus-sasl-gssapicyrus-sasl-plainedfusefuse-libshttpdhttpd-toolskeyutils-libs-develkrb5-devellibcom_err-devellibselinux-devellibsepol-devellibverto-develmailcapnoarchmailxmod_sslopenssl-develpcre-develpostgresql-libspython-psycopg2redhat-lsb-coreredhat-lsb-submod-securityx86_spaxtimezlib-devel

#yuminstall-ypython-lxml

#yuminstallkrb5-develcyrus-sasl-gssapicyrus-sasl-develibxml2-devellibxslt-develmysqlmysql-developenldap-develpython-develpython-simplejsonsqlite-devel

#chmod+x/etc/rc.d/rc.local

#yum-yinstallrpcbind

#systemctlstartrpcbind

#echo"systemctlstartrpcbind">>/etc/rc.d/rc.local
1.10.配置NTP服务

集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。具体建设过程如下:

所有节点安装相关组件:

#yum?installntpntpdate-y

NTP服务端(主节点):

1)查找时间同步服务器:

打开网址,内容如下:

2)编辑/etc/ntp.conf:

#vi/etc/ntp.conf

//在文件中输入上面网页内容:

server

server

server

server
3)启动ntp服务:

#systemctlstart?ntpd

4)配置开机启动:

#systemctl?enablentpd.service?

注意:如果ntpd开机启动失效,有可能是因为安装了chronyd?并且是开机自启状态,所以导致ntpd开机自启失败。

#查看?chronyd设置状态

#systemctlstatuschronyd

显示如下:

以面表明,chronyd显示为开机启动状态。

将chronyd设为禁用状态:

#systemctldisablechronyd.service

此时,NTP的服务开机自启动完成!

5)检查是否设置成功:

#ntpq-p

//更新时间

#timedatectl?

NTP客户端(所有从节点):

6)远程客户端时间同步测试

#date

#ntpdate

 是NTP服务端IP,显示如下信息,测试成功:

7)客户端设置计划任务,每30分钟同步时间

#crontab-e

//加入内容:

0-59/30****/usr/sbin/ntpdate&&/sbin/hwclock-w
8)设置定时任务开机启动

//设置开机启动

#systemctlenablecrond.service

//查看状态

#systemctlstatuscrond

1.11.安装oracleJDK1.8(所有节点)

下载rpm安装包jdk-8u151-linux-x.rpm

CentOS系统一般自带OpenJdk,需要卸载掉自带的OpenJdk,使用

#rpm-qa|grepjava

查询java相关的包,使用

#rpm-e–nodeps+包名

强制卸载掉,下面安装oralceJDK

#rpm-ivhjdk-8u151-linux-x.rpm

配置JAVA_HOME环境变量:

修改/etc/profile文件配置环境变量,执行命令:

#vi/etc/profile

在profile文件最后,输入下面内容,保存并退出。

exportJAVA_HOME=/usr

exportPATH=$PATH:$JAVA_HOME/bin
执行下面命令,让配置生效

#source/etc/profile//使修改立即生效

#echo$PATH//查看PATH值

#echo$JAVA_HOME//查看JAVA_HOME值

 在Centos7中修改/etc/profile文件配置环境变量,机器启动后有时不生效,可以修改/etc/bashrc文件配置环境变量:

#vi/etc/bashrc

//在文件最后加入:

exportJAVA_HOME=/usr

exportPATH=$PATH:$JAVA_HOME/bin

//使修改立即生效

#source/etc/bashrc

//查看JAVA_HOME值

#echo$JAVA_HOME

1.12.Mysql安装(主节点)

到官网选择对应安装包:

1)下载安装包

#wget
2)解压安装包

#tar-xvf

//解压后文件列表:

3)按次序安装

按common–>libs–>client–>server的顺序安装:

#rpm-ivh

#rpm-ivh

#rpm-ivh

#rpm-ivh

#rpm-ivh

//安装下面包,否则Hue安装报连接错误

#rpm-ivh

4)启动数据库

#systemctlstartmysqld

查看状态:

#systemctlstatusmysqld

5)修改MySQL初始密码

1、先修改配置文件/etc/my.cnf令MySQL跳过登录时的权限检验,在[mysqld]下加入一行:

skip-grant-tables

2、重启MySQL

#servicemysqldrestart

3、免密码登录MySQL。

#mysql

4、mysql客户端执行如下命令,修改root密码

mysql>usemysql;

mysql>UPDATEuserSETauthentication_string=password('your-password')WHEREhost='localhost'ANDuser='root';

mysql>selecthost,user,authentication_string,password_expiredfromuser;

mysql>updateusersetpassword_expired='N'wherepassword_expired='Y'//密码不过期

mysql>updateusersethost='%'whereuser='root'andhost='localhost';//远程可访问

mysql>flushprivileges;//刷新

mysql>exit;//退出

5、修改配置文件/etc/my.cnf删除此前新增那一行skip-grant-tables,并重启MySQL(这一步非常重要,不执行可能导致严重的安全问题)

#servicemysqldrestart//重启Mysql

2.安装CM

2.1.传包,解包

在主节点上下载相关软件包,这里将软件包下载到/data/cdh/目录下。

#cd/data/cdh

下载MysqlJDBC包:

#wget

下载CM:

#wget

下载CDH:

#wget

#wget.sha1

#wget
将CM解压到/opt/目录:

#tar-zxvf-C/opt/

#ls/opt/

clouderacm-5.13.1

2.2.创建数据库

在主节点上:

#mysql-uroot-p//加参数-指定本机方式,否则可能不允许执行grant

Enterpassword:\\\\输入数据库密码

//在MariaDB[(none)]>命令状态输入下面脚本:

createdatabasehiveDEFAULTCHARSETutf8COLLATEutf8_general_ci;

createdatabaseamonDEFAULTCHARSETutf8COLLATEutf8_general_ci;

createdatabasehueDEFAULTCHARSETutf8COLLATEutf8_general_ci;

createdatabasemonitorDEFAULTCHARSETutf8COLLATEutf8_general_ci;

createdatabaseoozieDEFAULTCHARSETutf8COLLATEutf8_general_ci;

grantallprivilegeson*.*toroot@localhostidentifiedby'root'withgrantoption;

grantallon*.*toroot@"%"Identifiedby"root";

flushprivileges;

exit;

//复制MysqlJDBC包到/opt/cm-5.13.1/share/cmf/lib/目录

#cp/opt/cm-5.13.1/share/cmf/lib/

//初始化CM,执行下面脚本

#mysqlcm-hnode168-uroot-proot--scm-hostnode168scmscmscm

//如果出现下面错误:

:Accessdeniedforuser'root'@'localhost'(usingpassword:YES)

//解决办法:

在/etc/hosts文件中,加上

1localhost.node168

主节点/etc/hosts内容:

脚本/scm_prepare_database.sh执行成功界面:

2.3.创建用户

在所有节点上执行:

#useradd--system--home=/opt/cm-5.13.1/run/cloudera-scm-server--shell=/bin/false--comment"ClouderaSCMUser"cloudera-scm

2.4.制作本地YUM源

在主节点上:

//进入软件包目录

#cd/data/cdh

//拷贝三个文件到/opt/cloudera/parcel-repo/目录

#cpCDHmanifest.json/opt/cloudera/parcel-repo/

//进入/opt/cloudera/parcel-repo/目录

#cd/opt/cloudera/parcel-repo/

//修改文件名

#mv1.cdh

此时/opt/cloudera/parcel-repo/目录下文件:

2.5.拷贝jar包

在所有节点上:

//如果没有/usr/share/java/目录,则创建

#cp/usr/share/java/mysql-connector-java.jar

在主节点上:

//将mysqlJDBCjar包拷贝到/opt/cm-5.13.1/share/cmf/lib/目录

#cp/opt/cm-5.13.1/share/cmf/lib/

2.6.修改cloudera-scm-agent配置

在主节点上,修改/opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini文件:

//将config.iniserver_host=localhost内容改为server_host

#sed-i"s/server_host=localhost/server_host/opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini

在主节点上:

//将cm-5.13.1打包,并复制到其他节点

#cd/opt

#tarczfcm-5.13.1.tar.gzcm-5.13.1/

//复制到其他节点

#scpcm-5.13.1.tar.gznode169:/opt/

#scpcm-5.13.1.tar.gznode170:/opt/

#scpcm-5.13.1.tar.gznode171:/opt/

#scpcm-5.13.1.tar.gznode172:/opt/

在所有从节点上解压:

//将cm-5.13.1包解压

#cdopt

#tar-xzvfcm-5.13.1.tar.gz

//解压后删除

#rm-rfcm-5.13.1.tar.gz

2.7.启动CMServer和Agent

在主节点上,启动cloudera-scm-server:

#/opt/cm-5.13.1/etc/init.d/cloudera-scm-serverstart

启动过程较慢,可通过/opt/cm-5.13.1/log/cloudera-scm-server日志,查看启动过程。

在所有节点上,启动cloudera-scm-agent:

#/opt/cm-5.13.1/etc/init.d/cloudera-scm-agentstart

2.8.访问CM

地址:主节点IP:7180

用户名、密码:admin

3.安装CDH

3.1.登录后界面

接受协议:

3.2.选择CM版本

本文档选择ClouderaExpress免费版。

3.3.指定主机

在搜索主机名和IP地址框输入node[169-172],这里输入的内容支持正则表达式。输入后点【搜索】按钮,出现机器列表:

选择“当前管理的主机“选择项卡,点【继续】。

3.4.选择CDH版本

这里需要选择制作本地源时的版本,如果选择别的版本的就会去官网下载,那样安装速度会很慢。

  点【继续】按钮,进入安装界面。

3.4.1.出现“主机运行状态不良”错误

遇到节点“主机运行状态不良”的提示,解决办法是删除故障节点Agent服务cm_guid文件:

#rm-rfcloudera-scm-agent/cm_guid

重新启动故障节点Agent服务:

etc/init.d/cloudera-scm-agentrestart
重启故障节点Agent服务后,故障消失:

注:出现故障原因是,因为我之前在故障节点启动过cloudera-scm-agent服务。

3.5.检查主机正确性

确保全部验证通过。

3.6.选择安装的服务

本文选择的是安装所有服务。

3.7.角色分配

这里应该根据实际需求和服务器的硬件参数自己选择

3.8.数据库设置

指定的数据库名称,要与2.2节创建的数据库(hive,monitor,oozie,hue)保持一致,并输入对应的数据库用户名和密码,为了简便这里用的是root账号名和密码。

全部输入完,之后【测试连接】:

3.8.1.测试连接报错:

测试连接,Hue测试报错:Unabletoverifydatabaseconnection:

原因是缺少Mysqlmysql-community-libs-compat安装包,安装后,问题解决:

//进入安装包所在目标

#cd/data/mysql/

#rpm-ivh

测试成功后,点【继续】安装。

3.9.群集设置

可以根据自己的实际情况更改设置,本文采用默认配置。这些配置也可以在集群安装完成后再更改。

3.10.开始安装

安装过程没有任何错误,显示安装完成。

3.11.安装完成

第一次安装完成后,会出现一些配置的警告信息。这些可以根据提示信息更改。

3.11.1.警告信息:

发现节点有异常信息,显示所有主机,发现node71节点运行状态不良。

按照主机->所有主机->进入节点查看:

选择“配置“页签,拉到页面底部,修改”主机时钟偏差阈值“,设为”从不“,点【保存更改】,异常消失。

4.常见错误

4.1.初始化数据库错误:

在这个环节,出现的问题较多,但总的来说,是与数据库参数配置,和帐号权限配置有关。

如在执行scm_prepare_database.sh脚本时,出现的错误:

:Yourpassworddoesnotsatisfythecurrentpolicyrequirements
一般是由密码策略级别问题引发:

可以通过my.cnf配置文件关闭validate_password插件。

通过修改/etc/my.cnf目录下配置文件,修改设置密码策略的级别,只需要在[mysqld]下添加一行

validate_password=off

如图所示:

编辑完配置文件后,重启mysqld服务即可生效。

4.2.未能连接到HostMonitor

后台tail-fcloudera-scm-server/cloudera-scm-server.log日志报错信息:

com.cloudera.cmon.MgmtServiceLocatorException:CouldnotfindaHOST_MONITORINGnozzlefromSCM.

此问题原因:有些网上说是由文件句柄数引起,所以按照网上说明进行了修改:

在主节点上,修改/opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini文件:

//查看文件句柄数,显示1024,显然太小

#ulimit-n

1024

//修改

#vi/etc/security/limits.conf

//在文件后加入下面内容:

*softnofile100000

*hardnofile100000
此步骤需要重启机器生效,可以设置完后再重启。

注:按照上面过程操作,但问题依然存在,后来通过用3.4节中“主机运行状态不良”故障问题解决办法,问题得到解决。

文档

Cloudera大数据平台环境搭建(CDH5.13.1)傻瓜式说明书

Cloudera大数据平台环境搭建(CDH5.13.1版)版本v1.0作者郭维忠发布日期2018-03-101.基础环境1.1.软件环境本文将介绍Centos7.4离线安装CDH和ClouderaManager过程,软件版本如下:NO.软件名称版本1.操作系统Centos7.4位2.JDKjdk-8u151-linux-x3.ClouderManager5.13.14.CDH5.13.15.数据库Mysql5.76.JDBCmysql-connector-java-.jar1.2.配置
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top