CDH6.3.2实战1:安装与配置

2023-10-29

问题导读

1.CDH6.3.2需要什么安装环境?
2.怎样安装CDH6.3.2?
3.怎样部署CDH6.3.2?





PART 01  CM简介
Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具,使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。


本篇就介绍如何安装CDH,选择的版本为6.3.2


PART 02  环境准备

准备三台测试机,分别为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

PART 03  安装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

PART 04  安装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

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

PART 05  安装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-serve

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所在节点的主机名



PART 06  为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 h

说明:--host 数据库主机名

        --scm-host Cloudera Manager Server主机名

        mysq 数据库类型

        scm 数据库名称

        root 用户名

        Atguigu.123456 密码

若Cloudera Manager Server 和 MySQL部署在同一台主机,则可省略--host 和 --scm-host

PART 07  启动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,界面如下



PART 08  部署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.确认安装完毕

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CDH6.3.2实战1:安装与配置 的相关文章

随机推荐

  • 矩阵相乘的几何意义

    参考 矩阵乘法的本质是什么 whitefang的回答 知乎 https www zhihu com question 21351965 answer 727385709 1 上边链接是我看的对矩阵相乘的几何意义最清楚的解释了 2 重点 A
  • 张钜楷:《黄金下周消息》国际黄金涨跌策略分析,期货白银操作建议

    黄金下周行情分析 黄金消息面解析 北京时间周五 1月7日 21 30 美国公布12月非农就业报告出炉 表现大幅不及预期 但失业率须创2020年2月来新低 截至发稿 现货黄金冲高7美元后回落近12美元至1784 78美元 盎司 具体数据显示
  • 教你如何打造出一个前端可视化监控系统

    还记得在我上一家公司中 某一大佬做了一个监控系统 牛逼哄哄 挺想研究他到底是怎么搞出来的 当然我们也不是拍拍脑袋干活的人 总不能人家咋干我们就咋干 下面先就介绍下 这样的平台到底有啥好处 背景 首先我们为什么要做前端系统呢 先看下面这张表
  • 华为OD机试真题-查找单入口空闲区域【2023Q1】【JAVA、Python、C++】

    题目描述 给定一个 m x n 的矩阵 由若干字符 X 和 O 构成 X 表示该处已被占据 O 表示该处空闲 请找到最大的单入口空闲区域 解释 空闲区域是由连通的 O 组成的区域 位于边界的 O 可以构成入口 单入口空闲区域即有且只有一个位
  • MySql基础--灵活运用sql语句

    数据库脚本 请勿随意修改本人数据 内藏玄机 可随意增加数据 补充 DISTINCT 去重 1 创建学生表 CREATE TABLE t student sid INT NOT NULL AUTO INCREMENT COMMENT 学号 s
  • HTML5中div section article的区别

    刚刚开始接触 HTML5 时 对它的标签很不适应 甚至一度有点反感 尤其是对 div section article 这几个标签 实在弄不清楚应该使用在什么场合下 div 这个标签是我们见得最多 用得最多的一个标签 本身没有任何语义 用作布
  • Google App Engine 的简易教程(转载)

    源地址 http peopleyun com p 868 本文将通过一个简单的例子 来介绍大家如何创建一个简单App Engine程序 首先 给大家介绍一下Google App Engine Google App Engine的介绍 Goo
  • 骰子布局

    一 骰子的布局 骰子的一面 最多可以放置9个点 下面 就来看看Flex如何实现 从1个点到9个点的布局 你可以到codepen查看Demo 如果不加说明 本节的HTML模板一律如下 div class box span class item
  • redis(9)、redis集群之redis Cluster使用

    redis技术目录 前提 redis集群分片 目前redis有两类方案 哈希槽 hash slot 代表方案 redis cluster 一致性哈希 代表方案 twemproxy codis 本篇是针对redis cluster配置实现 原
  • UE4_VR传送

    传送抛物线的计算 制作步骤 在BPC TraceInterfaction新建一个函数 ParabolicTrace 新建一个材质 M Teleport 把BlendMode 设置为透明的 Translucent TexCoord 相当于UV
  • 【论文阅读】Learning Convolutional Neural Networks for Graphs

    出版 ICML 2016 原文 http 211 81 63 130 cache 2 03 proceedings mlr press cb5795e96aa42362f86e2ba3a13c32af niepert16 pdf 卷积神经网
  • 卷积过程的一个动态图很形象

    卷积神经网络的卷积过程
  • Mysql中的读写锁,表锁和行锁,间隙锁

    Mysql数据库锁 锁是计算机协调多个进程或线程并发访问某一资源的机制 在数据库中 除传统的计算资源 如CPU RAM I O等 的争用以外 数据也是一种供许多用户共享的资源 如何保证数据并发访问的一致性 有效性是所有数据库必须解决的一个问
  • 数据库drop、delete、truncate的区别是什么?

    在Java中 数据库操作中的DROP DELETE和TRUNCATE是三种不同的操作 用于对数据库中的表或数据进行删除 它们的区别如下 1 DROP DROP用于完全删除数据库中的表 包括表的结构和数据 执行DROP操作后 表将不再存在于数
  • Eclipse的switch workspace 选项中删除多余的workspace

    打开Eclipse后 选择功能菜单里的Windows gt Preferences gt 弹出对话框后 选择General gt Startup and Shutdown gt workspace gt 右视图可以看见workspace中出
  • 算法-经典趣题-马踏棋盘(又称骑士周游)

    本文为joshua317原创文章 转载请注明 转载自joshua317博客 算法 经典趣题 马踏棋盘 又称骑士周游 joshua317的博客 一 问题 马踏棋盘问题 又称骑士漫步 它是一个非常有趣的智力问题 马踏棋盘问题的大意如下 国际象棋
  • x5650服务器装系统,笔记本处理器天梯图,小猪教您最新笔记本显卡天梯图

    我们都晓得CPU的功能主要是解释计算机指令以及处理计算机软件中的数据 在我们选购电脑时 CPU是我们首要考虑的电脑部件 而笔记本CPU天梯图也就是移动处理器天梯图 是用户鉴定笔记本电脑CPU性能高低的一种方式 下面 小编就给大伙分享最新笔记
  • 魔兽世界怀旧服务器无限刷怪点,魔兽世界怀旧服50级刷怪地点汇总

    魔兽世界怀旧服50级刷怪在哪刷 55级可以去东部大陆的东瘟疫之地 除去一些必做的银色黎明和佛丁任务 盗贼等职业完全可以钻进考林路口 那么小编就为大家带来魔兽世界怀旧服50级刷怪地点汇总 快来看看吧 魔兽世界怀旧服50级刷怪在哪刷 卡利姆多和
  • 往GitHub上传大文件

    1 下载Git Git Downloads 2 下载GitLFS https git lfs github com 3 复制URL 4 在本地创建文件夹 右键Git Bash Here 5 粘贴URL进行下载 下载到本地 git clone
  • CDH6.3.2实战1:安装与配置

    问题导读1 CDH6 3 2需要什么安装环境 2 怎样安装CDH6 3 2 3 怎样部署CDH6 3 2 PART 01 CM简介Cloudera Manager是一个拥有集群自动化安装 中心化管理 集群监控 报警功能的一个工具 使得安装集