CDH环境搭建及部署及常见错误解决方法

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”),基于Web的用户界面,支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop。

CDH环境搭建及部署

一、概述


Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”),基于Web的用户界面,支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop。

二、安装部署


2.1  集群架构

序号 IP地址 主机名 系统版本
1 10.211.55.100 zero Centos 7.7
2 10.211.55.101 Hadoop1 Centos 7.7
3 10.211.55.102 Hadoop2 Centos 7.7

2.2 基础环境配置

2.2.1 网络配置


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

BOOTPROTO=static

ONBOOT=yes

IPADDR=10.211.55.100

NETMASK=255.255.255.0

GATEWAY=10.211.55.1

systemctl restart network.service  #重启网络服务


2.2.2 禁用防火墙和SELINUX


systemctl stop firewalld

systemctl disable firewalld

vi /etc/sysconfig/selinux

SELINUX=disabled  #将SELINUX的值改为disabled

reboot  #重启设备使selinux的配置生效


2.2.3 更改主机名


hostnamectl set-hostname  zero


2.2.3 修改hosts


vi /etc/hosts

10.211.55.100 zero

10.211.55.101 hadoop1

10.211.55.102 hadoop2

reboot  #修改完后重启生效


2.2.4 同步时间


yum -y install ntp  #安装NPT服务

vi /etc/ntp.conf  #修改配置文件

#注释掉原有的server指向

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst

#zero节点指向

server 0.cn.pool.ntp.org

server 0.asia.pool.ntp.org

server 3.asia.pool.ntp.org

server 10.211.55.100 iburst  #Hadoop1/Hadoop2节点指向zero节点

ntpdate -u cn.pool.ntp.org  #同步网络时间


#重启ntp服务


systemctl start ntpd

systemctl enable ntpd

hwclock --localtime -w  #将系统时间写入本地硬件时钟时间


2.2.5 配置SSH免密登录


ssh-keygen -t rsa  #不输入密码,一路回车


ssh-copy-id hadoop1

ssh-copy-id hadoop2


#测试连通性

ssh 'zero'

ssh 'hadoop1'

ssh 'hadoop2'


2.2.6 安装JDK


mkdir /usr/Java/  #创建目录

tar -zxvf jdk1.8.0_211.tar.gz -C /usr/Java/  #解压JDK包到指定目录

vi /etc/profile  #配置环境变量


#JAVA

export JAVA_HOME=/usr/Java/jdk1.8.0_211

export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH

source /etc/profile  #使配置文件生效

java -version  #查看版本信息 检测安装是否成功


#安装成功后的返回信息

java version "1.8.0_211"

Java(TM) SE Runtime Environment (build 1.8.0_211-b12)

Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)



2.2.7 安装MySQL(主节点安装即可)


#查看系统中是否已安装MySQL服务 如果存在则删除MySQL及其依赖的包

rpm -qa | grep mysql

yum list installed | grep mysql

wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

rpm -ivh mysql57-community-release-el7-8.noarch.rpm

yum install mysql-server #安装MySQL 如出现提示 一路y到底

安装完毕后,运行MySQL,后在 /var/log/mysqld.log文件中会自动生成一个随机密码。

service mysqld start  #运行MySQL

grep "password" /var/log/mysqld.log  #取得随机密码 用于登录 MySQL 服务端


#返回信息如下 “6WjiI.UxuoaF”即为MySQL登陆密码

2021-01-05T11:04:28.684402Z 1 [Note] A temporary password is generated for root@localhost: 6WjiI.UxuoaF


登录到 MySQL 服务端并更改密码。


/*修改密码*/

SET PASSWORD = PASSWORD('new password');

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

flush privileges;


/*设置用户 root 可以在任意 IP 下被访问*/

grant all privileges on *.* to root@"%" identified by "new password";


/*设置用户 root 可以在本地被访问*/

grant all privileges on *.* to root@"localhost" identified by "new password";


/*刷新权限使其生效*/


flush privileges;


2.3 Cloudera Manager的安装及部署

2.3.1 安装Cloudera Manager


yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb  #安装第三方依赖包


mkdir -p /opt/cloudera-manager #创建目录


解压Cloudera Manager包到/opt/cloudera-manager目录下。


tar -zvxf cloudera-manager-centos7-cm5.14.0_x86_64.tar.gz  -C  /opt/cloudera-manager/


2.3.2 配置Cloudera Manager

修改agent配置文件。


vi /opt/cloudera-manager/cm-5.14.0/etc/cloudera-scm-agent/config.ini


#配置文件修改如下


# Hostname of the CM server.

server_host=zero


# Port that the CM server is listening on.

server_port=7182


为CM创建一个专用的普通用户 cloudera-scm。


useradd --system  #表示创建的是系统用户

--home=/opt/cloudera-manager/cm-5.14.0/run/cloudera-scm-server  #指定了用户的主目录

--no-create-home #表示不再创建用户的主目录

--shell=/bin/false  #不作为登陆用户

--comment "Cloudera SCM User"

cloudera-scm  #用户名


配置数据库访问权限,添加用户。


grant all privileges on  *.*  to 'temp'@'%' identified by 'password' with grant option;


flush privileges;


#在主节点上执行CM在MySQL中的初始化脚本。

mv mysql-connector-java.jar /usr/share/java/mysql-connector-java.jar


#进入初始化脚本目录下

cd /opt/cloudera-manager/cm-5.14.0/share/cmf/schema


#运行初始化脚步

./scm_prepare_database.sh mysql -h zero -utemp -ppassword --scm-host zero scm scm scm


配置CDH源(注意下载的时候需要版本对应,el5/6/7分别对应CentOS5/6/7。)


#创建目录

mkdir -p /opt/cloudera/parcel-repo  #主节点

mkdir -p /opt/cloudera/parcels  #所有节点


#将parcel文件移动到parcel-repo目录下

mv CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel  /opt/cloudera/parcel-repo/


#将json文件移动到parcel-repo目录下

mv manifest.json  /opt/cloudera/parcel-repo/


#重命名校验码文件并移动到parcel-repo目录下

mv CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha1  /opt/cloudera/parcel-repo/CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha


更改目录所有人

chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/  #主节点


chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcels/  #所有节点


2.3.3 启动CM进程服务

启动server(主节点)

/opt/cloudera-manager/cm-5.14.0/etc/init.d/cloudera-scm-server start

Starting cloudera-scm-server:                              [  确定  ]  #成功启动后的返回信息

启动agent(所有节点)

/opt/cloudera-manager/cm-5.14.0/etc/init.d/cloudera-scm-agent start

Starting cloudera-scm-agent:                               [  确定  ]  #成功启动后的返回信息

2.3.3 开始部署

打开http://10.211.55.100:7180/进入CM初始界面,账号密码为admin

Login.png

登陆进入勾选同意条款,点击继续,选择免费版本。

verision.png

继续下一步,勾选安装主机。

hosts.png

群集安装默认勾选即可,点击继续,等待安装完成。

install.png

点击继续,检查主机正确性,参照给出的信息进行修复。

debug.png

点击继续,选择需要的服务。

server.png

点击继续,进行角色分配。

conf.png

配置数据库,使其连接成功。

db.png

审核更改页面直接默认,点击继续。

set.png

等待部署完成。

finish.png

点击继续,安装完成。

截屏2021-01-07 上午11.12.55.png

三、错误&解决


#错误

Your password does not satisfy the current policy requirements


#解决方法

vi /etc/my.cnf  #修改配置文件my.cnf

validate_password=off  #关闭密码策略设置validate_password

service mysqld restart  #重启服务



#错误

为CDH群集安装指定主机无法勾选。


#解决方法

/opt/cloudera-manager/cm-5.14.0/etc/init.d/cloudera-scm-server stop  #停止server

/opt/cloudera-manager/cm-5.14.0/etc/init.d/cloudera-scm-agent stop  #停止agent


#删除/opt/cloudera-manager/cm-5.14.0/lib/cloudera-scm-server-db/data/目录下内容

rm -rf /opt/cloudera-manager/cm-5.14.0/lib/cloudera-scm-server-db/data/*

/*删除MySQL数据库中scm数据库下的hosts表中的数据*/

use scm;

delete from HOSTS;


#错误

MainThread agent ERROR Error, CM server guid updated, expected 7cda865f-a833-40d1-9fa6-761631c74326, received e2678b78-7c5e-4703-91b6-c52e2875988c


#解决方法

rm -rf /opt/cloudera-manager/cm-5.14.0/lib/cloudera-scm-agent/cm_guid


#错误

ERROR Table 'scm.CM_VERSION' doesn't exist


#解决方法

vi /etc/my.cnf  #修改配置文件my.cnf

lower_case_table_names = 1  #[mysqld]节点下添加

service mysqld restart  #重启服务


#错误

ERROR WebServerImpl:com.cloudera.server.web.cmf.search.components.SearchRepositoryManager: The server storage directory [/var/lib/cloudera-scm-server] doesn't exist.


#解决方法

mkdir /var/lib/cloudera-scm-server

chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server    #创建目录并加上权限


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4月前
|
消息中间件 Kubernetes 监控
实时计算 Flink版操作报错合集之在编译源码时遇到报错:无法访问,该如何处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
5月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之重新上传后只有SQL无法运行,而Python可以正常运行,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
6月前
|
运维 DataWorks 关系型数据库
DataWorks操作报错合集之出现报错导致测试环境可以正常连接,但生产环境无法连接,是什么情况
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
6月前
|
分布式计算 DataWorks 大数据
MaxCompute操作报错合集之在开发环境代码运行没问题,生产环境运行报错,是什么导致的
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
128 0
|
7月前
|
安全 Java Linux
蓝易云 - ES搭建详细指南+常见错误解决方法
以上是Elasticsearch的搭建步骤以及处理常见错误的方法。在实际使用过程中,可能会遇到更多的问题,这时候你需要根据错误信息进行相应的解决。
89 0
|
7月前
|
Kubernetes Java 分布式数据库
ChaosBlade权限问题之报错如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
|
7月前
|
SQL 存储 前端开发
Presto【部署 01】Presto服务安装配置启动验证及客户端web工具Yanagishima安装配置验证(详细配置说明+Yanagishima已编译文件分享)
Presto【部署 01】Presto服务安装配置启动验证及客户端web工具Yanagishima安装配置验证(详细配置说明+Yanagishima已编译文件分享)
334 0
|
存储 分布式计算 Apache
Windows环境下安装和配置Zookeeper环境及常见错误解决方案
ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。ZooKeeper 的架构通过冗余服务实现高可用性。 本文主要讲解: 1. 如何在Windows环境下搭建和配置Zookeeper 2. Zookeeper配置文件配置与解析 3. 常见错误及解决方案
4786 1
Windows环境下安装和配置Zookeeper环境及常见错误解决方案
|
存储 Oracle 关系型数据库
ETL详细安装教程(常见错误)(四)
ETL详细安装教程(常见错误)(四)
ETL详细安装教程(常见错误)(四)
|
数据安全/隐私保护
ETL详细安装教程(常见错误)(二)
ETL详细安装教程(常见错误)(二)
ETL详细安装教程(常见错误)(二)
下一篇
DataWorks