CDH6.3.2之安装与使用(一) cdh 安装
connygpt 2024-10-04 15:45 9 浏览
CM简介
Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具,使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。
本篇就介绍如何安装CDH,选择的版本为6.3.2
环境准备
准备三台测试机,分别为hadoop101,hadoop102,hadoop103。我这里的测试机器的配置为16g内存,4CPU。
需将以下端口开放
服务 | 端口 |
Cloudera Manager Server(WebUI) | 7180 |
HDFS NameNode(WebUI) | 9870 |
Yarn ResourceManager(WebUI) | 8088 |
JobHistory Server(WebUI) | 19888 |
HBase Master(WebUI) | 16010 |
HiveServer2 (WebUI) | 10002 |
HUE Server(WebUI) | 8888/8889 |
Oozie Server | 11000 |
Spark Master/Worker/History Server | 18080/18081/18088 |
MySQL | 3306 |
(1)开机后进行相应配置,配置主机名
sudo hostnamectl set-hostname foo-1.example.com
(2)修改/etc/hosts文件如下图所示
1.1.1.1 foo-1.example.com foo-1
2.2.2.2 foo-2.example.com foo-2
3.3.3.3 foo-3.example.com foo-3
4.4.4.4 foo-4.example.com foo-4
(3)关闭防火墙
sudo systemctl disable firewalld
sudo systemctl stop firewalld
(4)修改SELinux配置文件/etc/selinux/config,设置SELINUX=disabled。修改完毕后进行重启。
(5)时间同步
在兼容RHEL 7的操作系统的系统上,已经开始默认使用chronyd服务,而不是ntpd服务了。Cloudera优先使用chronyd验证时间是否同步,如需使用ntpd,须将chronyd服务卸载,本文使用chronyd。
如果集群中的所有主机均可联网,则可配置每台服务器向网络中的时钟服务器(NTP Server)进行同步,如果集群中的主机不能联网,则可以将集群中的一台服务器作为时钟服务器(NTP Server),供其他主机进行时间同步。
1.可联网
修改/etc/chrony.conf文件,server为chronyd使用的时钟服务器,可改为国内常用的时钟服务器地址。
# Use Alibaba NTP server
# Public NTP
# Alicloud NTP
server ntp1.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp1.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp10.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp11.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp12.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp2.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp2.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp3.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp3.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp4.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp4.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp5.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp5.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp6.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp6.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp7.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp8.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp9.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
2.不可联网
选择一台主机(例如192.168.1.102)作为时钟服务器,修改/etc/chrony.conf文件
#1.注释掉所有server
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#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
#2.设置允许同步的客户端网段
# Allow NTP client access from local network.
allow 192.168.0.0/16
#3.不能联网的情况下,以本地时钟作为时间源供客户端同步
# Serve time even if not synchronized to a time source.
local stratum 5
其他主机,修改/etc/chrony.conf文件
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 192.168.1.102 iburst
重启各主机的chronyd服务,并设为开机自启
systemctl restart chronyd
systemctl enable chronyd
(6)配置ssh免密登录
CDH部署并不需要配置免密登录,此处是为了方便分发文件等操作
1.生成公钥和私钥:
[root@hadoop102 .ssh]# ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
2.将公钥拷贝到要免密登录的目标机器上
[root@hadoop102 .ssh]# ssh-copy-id hadoop102.example.com
[root@hadoop102 .ssh]# ssh-copy-id hadoop103.example.com
[root@hadoop102 .ssh]# ssh-copy-id hadoop104.example.com
3.在/bin目录下创建xsync文件,并赋予执行权限,文件内容如下
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in hadoop102.example.com hadoop103.example.com hadoop104.example.com
do
echo ==================== $host ====================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4 判断文件是否存在
if [ -e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
安装JDK
(1)以下为测试并推荐使用Oracle JDK版本,其他版本可能会导致CDH出现某些不可预知的错误,请谨慎使用。
Oracle JDK Version | Notes |
1.8u181 | Recommended / Latest version tested |
1.8u162 | Recommended |
1.8u141 | Recommended |
1.8u131 | Recommended |
1.8u121 | Recommended |
1.8u111 | Recommended |
1.8u102 | Recommended |
1.8u91 | Recommended |
1.8u74 | Recommended |
1.8u31 | Minimum required |
(2)以下为测试并推荐使用Open JDK版本,其他版本可能会导致CDH出现某些不可预知的错误,请谨慎使用。
OpenJDK Version | Notes |
1.8u212 | Recommended / Latest version tested |
1.8u181 | Minimum required |
(3)安装JDK,将JDK压缩包上传到集群进行解压。注意JDK一定要部署在/usr/java目录下
[root@hadoop102 ~]# mkdir /usr/java
[root@hadoop102 ~]# tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/java/
(4)配置JAVA_HOME环境变量
root@hadoop102 ~]# sudo vim /etc/profile.d/my_env.sh
#JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_181
export PATH=$PATH:$JAVA_HOME/bin
(5)让环境变量生效
[atguigu@hadoop102 software]$ source /etc/profile.d/my_env.sh
安装MySql
1.卸载系统自带的mysql或者mariadb
rpm -qa | grep -i -E mariadb\|mysql | xargs rpm -e --nodeps
2.安装libaio依赖
yum -y install libaio
3.按顺序安装以下组件
rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm
4.启动msyql服务
systemctl start mysqld
5.查看root用户初始密码
cat /var/log/mysqld.log | grep password
2020-10-14T06:51:15.036035Z 1 [Note] A temporary password is generated for root@localhost: #h*u7f5Lhf(8
6.使用初始密码登录
mysql -uroot -p '#h*u7f5Lhf(8'
7.修改密码,并赋予root用户远程登录权限
mysql> set password=password('Atguigu.123456');
mysql> grant all privileges on *.* to 'root' @'%' identified by 'Atguigu.123456';
mysql> flush privileges;
8.配置mysql驱动,将驱动包上传到集群放置到对应目录。
集群中所有主机须在相同位置部署相同驱动,或使用分发脚本分发
mkdir -p /usr/share/java/
tar -zxvf mysql-connector-java-5.1.49.tar.gz
cd mysql-connector-java-5.1.49
cp mysql-connector-java-5.1.49-bin.jar /usr/share/java/mysql-connector-java.jar
安装CM
1.下载CM的压缩包并上传到集群中的某台主机(hadoop102.example.com),并解压
tar -zxvf cm6.3.1-redhat7.tar.gz
2.进入解压之后的路径,执行以下命令,以发布该yum仓库
cd cm6.3.1
python -m SimpleHTTPServer 8900
可用浏览器访问 hadoop102.example.com:8900 地址,如响应如下页面,则表示yum仓库发布成功
3.在所有主机上创建yum仓库repo文件
vim /etc/yum.repos.d/cloudera-manager.repo
文件内容如下所示
[cloudera-manager]
name=Cloudera Manager 6.3.1
baseurl=http://hadoop102.example.com:8900/
gpgkey=http://hadoop102.example.com:8900/RPM-GPG-KEY-cloudera
gpgcheck=1
enabled=1
autorefresh=0
type=rpm-md
4.选择一台主机作为主节点(hadoop102.example.com),执行以下命令
sudo yum -y install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
5.其余主机执行以下命令
sudo yum -y install cloudera-manager-daemons cloudera-manager-agent
6.安装完毕后,关闭SimpleHTTPServer,
并删除所有主机上的/etc/yum.repos.d/cloudera-manager.repo文件
7.修改Cloudera Manager Agent配置文件
/etc/cloudera-scm-agent/config.ini,每台主机都要做相同修改
修改内容如下,将server_host参数改为Cloudera Manager Server所在节点的主机名
为CM配置数据库
1.创建各服务所需数据库
进入MySQL客户端,执行以下语句
mysql> CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
2.执行CM数据库配置脚本
/opt/cloudera/cm/schema/scm_prepare_database.sh --host hadoop102.example.com --scm-host hadoop102.example.com mysql scm root Atguigu.123456
说明:--host 数据库主机名
--scm-host Cloudera Manager Server主机名
mysq 数据库类型
scm 数据库名称
root 用户名
Atguigu.123456 密码
若Cloudera Manager Server 和 MySQL部署在同一台主机,则可省略--host 和 --scm-host
启动CM
1.在主节点(hadoop102.example.com)执行以下命令,启动Server 和 Agent
systemctl start cloudera-scm-server cloudera-scm-agent
2.在其余节点执行以下命令,启动Agent
systemctl start cloudera-scm-agent
3.访问Cloudera Manager Server 的Web页面,默认端口号为7180,界面如下
部署CDH
Cloudera Manager d节点的/opt/cloudera/p
1.上传CDH parcel到Cloudera Manager Server
节点的/opt/cloudera/parcel-repo路径下,上传CDH所需parcel
2.为parcel文件生成SHA1校验文件
sha1sum CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel | awk '{ print $1 }' > CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
3.更改parcel文件所有者
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*
4.重启Cloudera Manager,令其识别到本地库
sudo systemctl restart cloudera-scm-serve
5.登录Cloudera Manager,初始用户名和密码均为admin。
6.查看用户许可协议并接受,点击继续
7.根据需要选择所需版本,点击继续
8.进入集群部署欢迎界面,点击继续
9.集群命名
10.查找集群主机,点击当前管理的主机,并勾选所有主机,点击继续
11.确认本地parcel库路径
12.选择本地parcel库中的CDH版本
13.等待在集群中分配、解压、激活CDH parcel,完成后点击继续
14.检查网络和主机
15.选择安装的服务
16.分配集群角色
17.测试数据库连接
18.审核各服务参数的默认配置,如没问题点击继续。
19.等待安装,完成后点继续
20.确认安装完毕
相关推荐
- 3分钟让你的项目支持AI问答模块,完全开源!
-
hello,大家好,我是徐小夕。之前和大家分享了很多可视化,零代码和前端工程化的最佳实践,今天继续分享一下最近开源的Next-Admin的最新更新。最近对这个项目做了一些优化,并集成了大家比较关注...
- 干货|程序员的副业挂,12个平台分享
-
1、D2adminD2Admin是一个完全开源免费的企业中后台产品前端集成方案,使用最新的前端技术栈,小于60kb的本地首屏js加载,已经做好大部分项目前期准备工作,并且带有大量示例代码,助...
- Github标星超200K,这10个可视化面板你知道几个
-
在Github上有很多开源免费的后台控制面板可以选择,但是哪些才是最好、最受欢迎的可视化控制面板呢?今天就和大家推荐Github上10个好看又流行的可视化面板:1.AdminLTEAdminLTE是...
- 开箱即用的炫酷中后台前端开源框架第二篇
-
#头条创作挑战赛#1、SoybeanAdmin(1)介绍:SoybeanAdmin是一个基于Vue3、Vite3、TypeScript、NaiveUI、Pinia和UnoCSS的清新优...
- 搭建React+AntDeign的开发环境和框架
-
搭建React+AntDeign的开发环境和框架随着前端技术的不断发展,React和AntDesign已经成为越来越多Web应用程序的首选开发框架。React是一个用于构建用户界面的JavaScrip...
- 基于.NET 5实现的开源通用权限管理平台
-
??大家好,我是为广大程序员兄弟操碎了心的小编,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效率,实现不加班不熬夜不掉头发,是我的目标!??今天小编推荐一款基于.NE...
- StreamPark - 大数据流计算引擎
-
使用Docker完成StreamPark的部署??1.基于h2和docker-compose进行StreamPark部署wgethttps://raw.githubusercontent.com/a...
- 教你使用UmiJS框架开发React
-
1、什么是Umi.js?umi,中文可发音为乌米,是一个可插拔的企业级react应用框架。你可以将它简单地理解为一个专注性能的类next.js前端框架,并通过约定、自动生成和解析代码等方式来辅助...
- 简单在线流程图工具在用例设计中的运用
-
敏捷模式下,测试团队的用例逐渐简化以适应快速的发版节奏,大家很早就开始运用思维导图工具比如xmind来编写测试方法、测试点。如今不少已经不少利用开源的思维导图组件(如百度脑图...)来构建测试测试...
- 【开源分享】神奇的大数据实时平台框架,让Flink&Spark开发更简单
-
这是一个神奇的框架,让Flink|Spark开发更简单,一站式大数据实时平台!他就是StreamX!什么是StreamX大数据技术如今发展的如火如荼,已经呈现百花齐放欣欣向荣的景象,实时处理流域...
- 聊聊规则引擎的调研及实现全过程
-
摘要本期主要以规则引擎业务实现为例,陈述在陌生业务前如何进行业务深入、调研、技术选型、设计及实现全过程分析,如果你对规则引擎不感冒、也可以从中了解一些抽象实现过程。诉求从硬件采集到的数据提供的形式多种...
- 【开源推荐】Diboot 2.0.5 发布,自动化开发助理
-
一、前言Diboot2.0.5版本已于近日发布,在此次发布中,我们新增了file-starter组件,完善了iam-starter组件,对core核心进行了相关优化,让devtools也支持对IAM...
- 微软推出Copilot Actions,使用人工智能自动执行重复性任务
-
IT之家11月19日消息,微软在今天举办的Ignite大会上宣布了一系列新功能,旨在进一步提升Microsoft365Copilot的智能化水平。其中最引人注目的是Copilot...
- Electron 使用Selenium和WebDriver
-
本节我们来学习如何在Electron下使用Selenium和WebDriver。SeleniumSelenium是ThoughtWorks提供的一个强大的基于浏览器的开源自动化测试工具...
- Quick 'n Easy Web Builder 11.1.0设计和构建功能齐全的网页的工具
-
一个实用而有效的应用程序,能够让您轻松构建、创建和设计个人的HTML网站。Quick'nEasyWebBuilder是一款全面且轻巧的软件,为用户提供了一种简单的方式来创建、编辑...
- 一周热门
- 最近发表
- 标签列表
-
- kubectlsetimage (56)
- mysqlinsertoverwrite (53)
- addcolumn (54)
- helmpackage (54)
- varchar最长多少 (61)
- 类型断言 (53)
- protoc安装 (56)
- jdk20安装教程 (60)
- rpm2cpio (52)
- 控制台打印 (63)
- 401unauthorized (51)
- vuexstore (68)
- druiddatasource (60)
- 企业微信开发文档 (51)
- rendertexture (51)
- speedphp (52)
- gitcommit-am (68)
- bashecho (64)
- str_to_date函数 (58)
- yum下载包及依赖到本地 (72)
- jstree中文api文档 (59)
- mvnw文件 (58)
- rancher安装 (63)
- nginx开机自启 (53)
- .netcore教程 (53)