cdh集群离线部署(代码片段)

爱是与世界平行 爱是与世界平行     2022-12-06     347

关键词:

1 原生Hadoop的问题

  1. 版本管理过于混乱
  2. 部署过程较为繁琐,升级难度较大
  3. 兼容性差
  4. 安全性低

2 CDH和CM(Cloudera Manager)

  1. CDH(Cloudera’s Distribution Including Apache Hadoop),是Hadoop众多分中的一种,由Cloudera公司维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可以直接用于生产环境。就是Hadoop等大数据安装包的第三方版本的集合,提供了Hadoop等大数据服务的安装包。
  2. CM(Cloudera Manager)提供了一个管理和监控Hadoop等大数据服务的web界面,能让我们方便安装大数据生态圈的大部分服务。

3 Hadoop自动化部署和管理平台

主流的有Apache Ambari和Cloudera Manager,相对应的Hadoop的发行版为HDP和CDH。

这种自动化部署平台的功能一般如下:

  1. 提供Hadoop大数据集群
  2. 管理Hadoop大数据集群
  3. 监控Hadoop大数据集群

PS:HDP的公司(hortonworks)已经被CDH公司(Cloudera)收购了

4 Cloudera Manager架构

  1. Server:负责软件安装、配置,启动和停止服务,管理服务运行的群集。核心

  2. Agent:安装在每台主机上。负责**启动和停止进程,**配置,监控主机。

  3. Management Service:由一组执行各种监控,警报和报告功能角色的服务。图表的生成和管理

  4. Database:存储配置和监视信息。

  5. Cloudera Repository:软件由Cloudera 管理分布存储库。(有点类似Maven的中心仓库);在线安装(从中心仓库拉取)和离线安装(离线库)

  6. Clients:是用于与服务器进行交互的接口(API和Admin Console)

5 CDH下载

官方下载地址:https://archive.cloudera.com

5.1 CM下载

https://archive.cloudera.com/cm6/6.3.1/redhat7/yum/RPMS/x86_64/

5.2 CDH下载

https://archive.cloudera.com/cdh6/6.3.2/parcels/

注意:CDH的版本一定要和CM的版本对应

6 环境准备

使用VMware模拟多台主机,由于主机条件有限,只演示三台机器,配置如下:

主机名系统IP内存磁盘
cdh-1Centos7192.168.100.104G60G
cdh-2Centos7192.168.100.202G60G
cdh-3Centos7192.168.100.302G60G

6.1 修改主机名(所有节点)

hostnamectl set-hostname cdh-1
hostnamectl set-hostname cdh-2
hostnamectl set-hostname cdh-3

6.2 关闭防火墙(所有节点)

systemctl stop firewalld
systemctl disable firewalld

6.3 关闭SELinux(所有节点)

setenforce 0 #临时关闭
#永久关闭 将SELINUX= enforcing 修改为SELINUX=disabled
vi /etc/selinux/config
SELINUX=disabled 

PS: 可以使用

sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config

6.4 配置IP到主机的映射(所有节点)

vi /etc/hosts
192.168.100.10 cdh-1
192.168.100.20 cdh-2
192.168.100.30 cdh-3

6.5 配置免密码登录(cdh-1)

# 生成公钥和私钥 三次回车
ssh-keygen
# 复制公钥和私钥
ssh-copy-id cdh-1
ssh-copy-id cdh-2
ssh-copy-id cdh-3

6.6 设置用户最大可打开文件数,进程数,内存占用(所有节点)

vi /etc/security/limits.conf
soft    nofile   32728
hard    nofile   1024999
soft    nproc   65535
hard    noroc    unlimited
soft    memlock    unlimited
hard    memlock    unlimited
sysctl -p

6.7 设置swap空间(所有节点)

echo "vm.swappiness = 0" >> /etc/sysctl.conf

Cloudera建议将交换空间设置为0,过多的交换空间会引起GC耗时的激增。

6.8 关闭大页面压缩(所有节点)

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

7 安装

将下载好的CDH包和CM的包使用sftp上传到cdh-1

7.1 配置本地yum

CDH的安装包都是rpm包如果使用rpm安装方式安装起来是比较复杂的,会有很多依赖问题需要解决,就需要使用yum帮助我们解决依赖问题。

7.1.1 配置centos源(cdh-1)

#挂载centos7镜像
mount /dev/cdrom /mnt/
#删除系统自带的源
rm -rf /etc/yum.repos.d/*
#新建一个本地yum源
cat >> /etc/yum.repos.d/local.repo << EOF
[centos]
name=centos
baseurl=file:///mnt
gpgcheck=0
EOF
#验证
yum repolist

7.1.2 安装httpd服务(cdh-1)

# 安装
yum install -y httpd
# 启动
systemctl start httpd
#开机自启
systemctl enable httpd

http服务可以帮助我们传输文件,默认静态资源的目录为/var/www/html

7.1.2 centos源配置为http方式获取(cdh-1)

#在http服务的静态资源目录创建centos目录
mkdir /var/www/html/centos
#将centos的镜像文件复制到centos目录
cp -rvf /mnt/* /var/www/html/centos/
#可以通过http访问了
http://192.168.100.10/centos/
#修改cdh-1的本地centos源的配置
vi /etc/yum.repos.d/local.repo
baseurl=http://cdh-1/centos
#取消挂载
umount /dev/cdrom /mnt

其他节点配置(cdh-1,cdh-2)

cat >> /etc/yum.repos.d/local.repo << EOF
[centos]
name=centos
baseurl=http://cdh-1/centos
gpgcheck=0
EOF
#验证
yum repolist

7.1.3 配置CM源

  1. 移动文件安装包文件到http服务器静态文件目录(cdh-1)
#在/var/www/html创建存放cm包的文件夹和cdh安装包的文件夹
mkdir /var/www/html/cm,cdh
#将cdh的安装包和cm的包移动到创建的目录
#移动cm安装包
mv cloudera-manager-* /var/www/html/cm/
mv  enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm /var/www/html/cm
#移动cdh安装包和元数据文件
mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel manifest.json /var/www/html/cdh/
  1. 制作CM源生成repodata文件,需要用到createrepo这个包(cdh-1)
#安装
yum install -y createrepo
#进入到cm的rpm包存放目录
cd /var/www/html/cm
# 生成repodata文件夹
createrepo .
  1. 配置yum源(所有节点)
cat >> /etc/yum.repos.d/cm.repo << EOF
[CM]
name=cm
baseurl=http://cdh-1/cm/
gpgcheck=0
EOF

7.2 安装

7.2.1 安装依赖(所有节点)

yum install -y bind-utils libxslt cyrus-sasl-plain cyrus-sasl-gssapi portmap fuse-libs /lib/lsb/init-functions httpd mod_ssl openssl-devel python-psycopg2 Mysql-python fuse

7.2.2 安装Cloudera Manager和Cloudera Agent(cdh-1)

#安装JDK
yum install -y oracle-j2sdk1.8.x86_64
#安装cloudera-manager
yum install  -y cloudera-manager-agent cloudera-manager-daemons cloudera-manager-server cloudera-manager-server-db-2 postgresq-server

7.2.3 安装Mariadb

#安装
yum install -y mariadb-server
#启动和开机自启
systemctl start mariadb && systemctl enable mariadb
#配置Mariadb数据库
mysql_secure_installation

7.2.4 初始化管理节点(cdh-1)

  1. 复制mysql的jdbc驱动包到/usr/share/java目录

需要使用sftp上传jar包到cdh-1节点上

#创建/usr/share/java目录
mkdir -p /usr/share/java
#复制jar包到/usr/share/java下
cp mysql-connector-java-5.1.48.jar /usr/share/java/
#注意:需要改名为mysql-connector-java.jar
mv /usr/share/java/mysql-connector-java-5.1.48.jar /usr/share/java/mysql-connector-java.jar
  1. 初始化数据库
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h localhost -uroot -proot --scm-host localhost scm root root

7.2.5 安装agent节点

只需要在chd-2和cdh-3节点上安装

#安装jdk
yum install -y oracle-j2sdk1.8.x86_64
#安装agent
yum install cloudera-manager-daemons cloudera-manager-agent -y

7.2.6 修改配置文件(所有节点)

修改Cloudera Agent配置文件/etc/cloudera-scm-agent/config.ini,配置server_host为主节点cdh-1

#通过vi命令修改
vi /etc/cloudera-scm-agent/config.ini
server_host=cdh-1
#也可以通过sed命令修改
sed -i "s/server_host=localhost/server_host=cdh-1/g" /etc/cloudera-scm-agent/config.ini
注意:只用使用一种命令修改就行了,推荐使用sed

7.2.7 配置JAVA_HOME(所有节点)

vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera/
export PATH=$PATH:$JAVA_HOME/bin

7.3 启动

7.3.1 启动Cloudera Manager(cdh-1)

在主节点启动Cloudera Manager

#启动
systemctl start cloudera-scm-server
#设置开机自启
systemctl enable cloudera-scm-server

7.3.2 启动Cloudera Agent(所有节点)

#启动
systemctl start cloudera-scm-agent
#开机自启
systemctl enable cloudera-scm-agent

可以访问http://192.168.100.10:7180 用户名密码都是admin

8 使用

8.1 配置集群

  • 设置集群的名称

  • 选择集群主机

  • 配置CDH安装包

  • 配置CDH parcel的位置

  • 选择我们配置好的

  • 等待下载包

  • 检查主机性能

8.2 安装Zookeeper

  • 安装选项

  • 选择服务安装主机

  • 数据库配置

  • 需要创建数据库(cdh-1)
#建库
create database activity;
create database reports;
create database audit;
create database metadata;
#授权
grant all on activity.* to cdh@localhost identified by 'cdh';
grant all on activity.* to cdh@'%' identified by 'cdh';
grant all on reports.* to cdh@localhost identified by 'cdh';
grant all on reports.* to cdh@'%' identified by 'cdh';
grant all on audit.* to cdh@localhost identified by 'cdh';
grant all on audit.* to cdh@'%' identified by 'cdh';
grant all on metadata.* to cdh@localhost identified by 'cdh';
grant all on metadata.* to cdh@'%' identified by 'cdh';
  • 测试连接

  • 可以配置邮件报警

  • 安装

  • 安装完成

超详细版企业离线部署cdh6.10集群与配置使用(代码片段)

...胸有点墨;玩过demo,使用过负责过上千节点的大数据集群开发与使用;被人面虐过,也面跪过一些人。如今,趁着自己心中有火,眼里有光的年纪,把自己的一点心得与经验分享大数据行业 查看详情

超详细版企业离线部署cdh6.10集群与配置使用(代码片段)

...胸有点墨;玩过demo,使用过负责过上千节点的大数据集群开发与使用;被人面虐过,也面跪过一些人。如今,趁着自己心中有火,眼里有光的年纪,把自己的一点心得与经验分享大数据行业 查看详情

centos7clouderamanager6完全离线安装cdh6集群(代码片段)

本文是在CentOS7.4下进行CDH6集群的完全离线部署。CDH5集群与CDH6集群的部署区别比较大。说明:本文内容所有操作都是在root用户下进行的。文件下载首先一些安装CDH6集群的必须文件要先在外网环境先下载好。ClouderaManager6.3.0CM6RPM... 查看详情

cdh5部署三部曲之一:准备工作(代码片段)

...环节进行实战,内容如下:第一篇:《准备工作》,即CDH集群中每一台机器都要做的操作;第二篇:《部署和设置》,本章完成CDH集群部署和启动;第三篇:《问题总结》,列出实战中遇到的问题及解决办法;版本信息CentOS:7.6... 查看详情

clouderamanager6.3.1&cdh6.3.2集群部署(超详细,亲测可用)(代码片段)

...Manager环境部署1.1.CM简介1.1.1.CM简介ClouderaManager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具,使得安装集群从几天的时间缩短在几个小时内, 查看详情

cdh5部署三部曲之二:部署和设置(代码片段)

...的第二篇,上一篇《CDH5部署三部曲之一:准备工作》将集群所有机器做了必要的设置,今天一起来完成CDH的部署、启动、设置等操作;master机器上的设置SSH登录master机器,执行以下操作:安装mariadb:yuminstallmariadb-server启动mariadb... 查看详情

离线部署k8s-1.19.0集群(代码片段)

centos7.2离线部署k8s-1.19.00、节点说明:1、环境配置1.1关闭防火墙、selinux、swapsetenforce0sed-i\'s/=enforcing/=disabled/g\'/etc/selinux/configsystemctlstopfirewalldsystemctldisablefirewalld1.2做免密操作生成密钥(master):sed-i\'35cSt 查看详情

0110-如何给kerberos环境下的cdh集群添加gateway节点(代码片段)

...写目的Gateway节点又称为客户端节点,通常用作访问Hadoop集群的接口机。它主要会部署一些客户端的配置,脚本命令,比如HDFS的core-site.xml,hdfs-site.xml以及hadoop的操作命令。如果你使用的是ApacheHadoop,你只需要将hadoop相关服务的... 查看详情

spark集群安装部署(代码片段)

通过Ambari(HDP)或者ClouderaManagement(CDH)等集群管理服务安装和部署在此不多介绍,只需要在界面直接操作和配置即可,本文主要通过原生安装,熟悉安装配置流程。1.选取三台服务器(CentOS系统64位)  114.55.246.88 主节点  114... 查看详情

从零开始搭建cdh6.2操作手册(离线版)(代码片段)

前言:安装教程以三台服务器为例,主节点master,从节点worker1、worker2。一、预备阶段1、集群机器2、安装包jdk:oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpmmysql:mysql-5.7.28.zipmysql-connector-java-5.1.47.tar.gzcloudera- 查看详情

cdh离线安装部署

CDH相关介绍: 参考链接: https://blog.csdn.net/u013061459/article/details/73368929https://www.cnblogs.com/raphael5200/p/5293960.html为了构建一个以数据为驱动的业务场景,我们需要一个强大的管理工具去统一并安全地管理我们的业务数据,Clou... 查看详情

如何在cdh集群中部署kafkamanager

...动查看噢1.文档编写目的为了能够方便的查看及管理Kafka集群,yahoo提供了一个基于Web的管理工具(Kafka-Manager)。这个工具可以方便的查看集群中Kafka的 查看详情

cdh集群搭建部署

...建cmServer和NFS服务端,另外4台作为cloudera-manageragent部署CDH集群。ip主要服务/角色hostname(hosts配置与此一致)机器规格10.2.223.237cmServerNFSserverv-xstest-849-171208-cdh-1.hx4c8g200g10.2. 查看详情

cdh简易离线部署文档

  CDH离线简易部署文档   文档说明本文为开发部署文档,生产环境需做相应调整。以下操作尽量在root用户下操作,避免权限问题。 目录文档说明2文档修改历史记录2目录3系统环境4相关依赖4初始准备:5java... 查看详情

优化cdh集群性能-可在安装集群前操作002(代码片段)

优化cdh集群性能-可在安装集群前操作002//读完cdh官方文档后,可知的优化操作可在《03搭建cdh生产环境前的Linux优化(涉及到Linux内存参数优化)》https://blog.51cto.com/12445535/2365948这步同时操作讲解了:提供了一些性能问题的解决方... 查看详情

大数据之—cdh搭建(代码片段)

...,指向server节点node1主节点node1修改server配置主节点部署离线parcel源启动主节点所有节点启动web页面操作参考:https://zhuanlan.zhihu.com/p/444565129前言1、CDH概述  Cloudera版本(Cloudera’sDistributionIncludingApacheHadoop,简称“CDH”),基于... 查看详情

0027-如何在cdh集群启用kerberos(代码片段)

...单击图片放大查看。1.文档编写目的本文档讲述如何在CDH集群启用及配置Kerberos,您将学习到以下知识:1.如何安装及配置KDC服务2.如何通过CDH启用Kerberos3.如何登录Kerberos并访问Hadoop相关服务文档主要分为以下几步:1.安装及配置KD... 查看详情

0027-如何在cdh集群启用kerberos(代码片段)

...单击图片放大查看。1.文档编写目的本文档讲述如何在CDH集群启用及配置Kerberos,您将学习到以下知识:1.如何安装及配置KDC服务2.如何通过CDH启用Kerberos3.如何登录Kerberos并访问Hadoop相关服务文档主要分为以下几步:1.安装及配置KD... 查看详情