本文小编为大家详细介绍“CDH环境怎么搭建及部署”,内容详细,步骤清晰,细节处理妥当,希望这篇“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-eth0BOOTPROTO=static ONBOOT=yesIPADDR=10.211.55.100NETMASK=255.255.255.0 GATEWAY=10.211.55.1
systemctl restart network.service #重启网络服务
2.2.2 禁用防火墙和SELINUX
systemctl stop firewalldsystemctl disable firewalld
vi /etc/sysconfig/selinuxSELINUX=disabled #将SELINUX的值改为disabledreboot #重启设备使selinux的配置生效
2.2.3 更改主机名
hostnamectl set-hostname zero
2.2.3 修改hosts
vi /etc/hosts10.211.55.100 zero10.211.55.101 hadoop110.211.55.102 hadoop2reboot #修改完后重启生效
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.orgserver 0.asia.pool.ntp.orgserver 3.asia.pool.ntp.orgserver 10.211.55.100 iburst #Hadoop1/Hadoop2节点指向zero节点
ntpdate -u cn.pool.ntp.org #同步网络时间#重启ntp服务systemctl start ntpdsystemctl enable ntpdhwclock --localtime -w #将系统时间写入本地硬件时钟时间
2.2.5 配置SSH免密登录
ssh-keygen -t rsa #不输入密码,一路回车ssh-copy-id hadoop1ssh-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 #配置环境变量#JAVAexport JAVA_HOME=/usr/Java/jdk1.8.0_211export 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 mysqlyum list installed | grep mysql
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpmrpm -ivh mysql57-community-release-el7-8.noarch.rpmyum install mysql-server #安装MySQL 如出现提示 一路y到底
安装完毕后,运行MySQL,后在 /var/log/mysqld.log
文件中会自动生成一个随机密码。
service mysqld start #运行MySQLgrep "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;grant all privileges on *.* to root@"%" identified by "new password";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.cdh6.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.cdh6.14.0.p0.24-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.14.0-1.cdh6.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 startStarting cloudera-scm-server: [ 确定 ] #成功启动后的返回信息
启动agent(所有节点)
/opt/cloudera-manager/cm-5.14.0/etc/init.d/cloudera-scm-agent startStarting cloudera-scm-agent: [ 确定 ] #成功启动后的返回信息
2.3.3 开始部署
打开http://10.211.55.100:7180/
进入CM初始界面,账号密码为admin
。
登陆进入勾选同意条款,点击继续,选择免费版本。
继续下一步,勾选安装主机。
群集安装默认勾选即可,点击继续,等待安装完成。
点击继续,检查主机正确性,参照给出的信息进行修复。
点击继续,选择需要的服务。
点击继续,进行角色分配。
配置数据库,使其连接成功。
审核更改页面直接默认,点击继续。
等待部署完成。
点击继续,安装完成。
三、错误&解决
#错误Your password does not satisfy the current policy requirements#解决方法vi /etc/my.cnf #修改配置文件my.cnfvalidate_password=off #关闭密码策略设置validate_passwordservice 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/datause 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.cnflower_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-serverchown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server #创建目录并加上权限
读到这里,这篇“CDH环境怎么搭建及部署”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。