CentOS 7.9 CDH6.3.2集群生产环境实战部署指南

2024-06-21 12:20

本文主要是介绍CentOS 7.9 CDH6.3.2集群生产环境实战部署指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、环境准备

1、系统环境:

# cat /etc/os-release

2、准备工作:

部署资源分配

节点centos 7.9(生产)节点规划Postgresql部署组件备注
pgsql32c、128G、2TB国产数据库Postgresql(翰高)可根据实际情况调整如mysql、mongoDB
cdh0116c、128G、1TBmaster
agent
jdk1.8
cdh0216c、128G、1TBagentjdk1.8
cdh0316c、128G、1TBagentjdk1.8
cdh0416c、128G、1TBagentjdk1.8
cdh0516c、128G、1TBagentjdk1.8

安装包准备:

CM6.3.1

cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm

cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm

cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm

cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm

enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm

CDH6.3.2 Parcel

CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel

CDH-6.3.2-1.cdh6.3.2.p0.1605554-el6.parcel.sha256

manifest.json

JDK

jdk-8u201-linux-x64.tar.gz

Postgresql JDBC jar

postgresql-42.2.5.jar

下载完成后要重命名去掉版本号:

mv postgresql-42.2.5.jar postgresql-connector-java.jar

3、安装基础依赖:

$ sudo yum -y install gcc gcc-c++ net-tools make autoconf sysstat bash-completion wget openssl-dev lsof vim telnet lrzsz dos2unix nohup unzip psmisc

二、环境初始化

1、关闭防火墙

    # 关闭防火墙echo "关闭防火墙..."# 查看防火墙状态firewall-cmd --state || echo "firewalld 未运行"# 临时关闭防火墙systemctl stop firewalld# 永久关闭防火墙systemctl disable firewalld# 清空防火墙规则iptables -F# 临时关闭selinuxsetenforce 0# 永久关闭selinuxsed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config# 查看selinux状态getenforce

2、修改主机名

所有节点都要执行,修改后需执行bash生效

#节点1
hostnamectl set-hostname cdh01
bash#节点2
hostnamectl set-hostname cdh02
bash#节点3
hostnamectl set-hostname cdh03
bash#节点4
hostnamectl set-hostname cdh04
bash#节点5
hostnamectl set-hostname cdh05
bash

3、配置hosts文件

cat /etc/hosts

所有节点都要配置

cat >> /etc/hosts << EOF
192.168.2.161 cdh01
192.168.2.162 cdh02
192.168.2.163 cdh03
192.168.2.164 cdh04
192.168.2.165 cdh05
EOF

4、设置时间同步

#设置时区为Asia/Shanghai
timedatectl set-timezone Asia/Shanghai#查看是否安装了ntpd的服务
rpm -qa | grep ntpd#如果没有安装,可以进行在线安装
yum -y install ntp#启动ntpd的服务
service ntpd start#设置ntpd的服务开机启动
systemctl enable ntpd.service#查看ntpd的服务是否启动
service ntpd status#设置定时任务
#与阿里云服务器进行时钟同步
crontab -e
#设置的内容如下
*/1 * * * * /usr/sbin/ntpdate -u ntp4.aliyun.com;
设置成功后会一直出现You have new mail in /var/spool/mail/root的邮件提示,可使用下面命令关闭邮件提示
echo "unset MAILCHECK" >> /etc/profile
source /etc/profile

5、 禁用透明大页(所有节点)

#查看:查看透明大页的设置和启动状态cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled#操作:临时关闭
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled#永久关闭:将临时关闭命令添加到/etc/rc.d/rc.local文件中,并赋予执行权限echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.d/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local#验证:
cat /etc/rc.d/rc.local

6、部署PG(使用瀚高)

待更新

7、创建本地YUM仓库

安装Apache Httpd服务(master节点,本例中cdh01)

#安装
yum install httpd -y#启动
systemctl start httpd#设置开机自启
systemctl enable httpd#配置Cloudera Manager安装包yum源(master节点,本例中cdh01)
#创建目录
mkdir -p /var/www/html/cloudera-repos/cm6
#!!!将下载好的cloudera的rmp安装包上传到/var/www/html/cloudera-repos/cm6
#创建仓库
yum install -y createrepo
cd  /var/www/html/cloudera-repos/cm6
#cloudera的rmp安装包所在的cm6目录下执行
createrepo .

创建repo文件

sudo cat >> /etc/yum.repos.d/cloudera-manager.repo <<EOF
[cloudera-manager]
name=Cloudera Manager 6.3.1
baseurl=http://192.168.2.161:80/cloudera-repos/cm6
gpgcheck=0
enabled=1
autorefresh=0
type=rpm-md
EOF
#清理并缓存
yum clean all
yum makecache

8、检查依赖是否安装

yum install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb portmap mod_ssl openssl-devel python-psycopg2 MySQL-python python-devel telnet pcre-devel gcc gcc-c++

9、所有服务器安装JDK

第一步: 安装JDK

mkdir -p /usr/java/
#进入jdk所在的目录,执行命令 注意:修改相应自己的jdk版本tar -zxvf  jdk-8u201-linux-x64.tar.gz -C /usr/java/ && cd /usr/java/  && mv jdk1.8.0_201 default#编辑配置文件
vim /etc/profile#将以下内容添加到文件中:
export JAVA_HOME=/usr/java/default  #java的实际路径
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
#使之生效
source /etc/profile

第二步: 添加postgresql驱动包

mkdir -p /usr/share/java/
cd /usr/share/java/
#重命名不不能带版本号
mv postgresql-42.2.5.jar postgresql-connector-java.jar
#分发到其他节点 拷贝过去
scp postgresql-connector-java.jar cdh02:/usr/share/java/
scp postgresql-connector-java.jar cdh03:/usr/share/java/
……

注:所有服务器都要配置

、Cloudera Manager部署

1、安装 Cloudera Manager(master节点,本例中cdh01)

#安装master
sudo yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server#安装完CM后/opt/ 下会出现cloudera目录
cd /opt/cloudera/parcel-repo/上传CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel到/opt/cloudera/parcel-repo目录
校验文件是否下载完全
ll#total 2033432
#-rw-r--r-- 1 root root 2082186246 Apr 4 14:31 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
#-rw-r--r-- 1 root root 40 Apr 4 14:31 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
#-rw-r--r-- 1 root root 33887 Apr 4 14:31 manifest.json#将parcel包移动到指定位置,别忘了manitest.json文件
#赋权限
sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/#执行脚本scm_prepare_database.sh
#PG数据库
cd /opt/cloudera/cm/schema/
./scm_prepare_database.sh -h 192.168.2.161 -P 5866 postgresql scm scm 密码#替换CDH-server服务器的host
sudo sed -i "s/server_host=localhost/server_host=cdh01/g" /etc/cloudera-scm-agent/config.ini#查看数据库的配置
vim /etc/cloudera-scm-server/db.properties

2、安装所有节点agent修改配置

#部署agent
sudo yum install -y cloudera-manager-daemons cloudera-manager-agent
#修改文件中server_host的属性值
#所有节点修改agent的配置,指向server的节点node161【manager端地址】sudo sed -i "s/server_host=localhost/server_host=cdh01/g" /etc/cloudera-scm-agent/config.ini#启动 CM服务,先启动master当确认master正常运行的情况下再启动agent:
systemctl start cloudera-scm-server && systemctl enable cloudera-scm-server && systemctl status cloudera-scm-server#检查master服务运行状态tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log | grep "INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server"#出现INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server则启动成功#所有节点启动CM agent
sudo systemctl start cloudera-scm-agent && sudo systemctl enable cloudera-scm-agent查看agent日志
tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.log#启动如果有问题查看log。/var/log/cloudera-scm-server,启动server 和agent 尽量一起启动否则报错:

浏览器登陆CM 管理界面验证:初始用户密码 admin/admin

web页面:http://IP:7180/

默认登录账号: admin

默认登录密码: admin

## 建议选择免费

设置集群名称:

当你先启动master后启动agent时,否则与以下界面会有所不同

选择CDH parcel 版本

安装时报错 “Parcel 不可用于操作系统分配 RHEL7” 请看:

安装CDH时报错:Parcel 不可用于操作系统分配 RHEL7,原因与解决办法~-CSDN博客

这篇关于CentOS 7.9 CDH6.3.2集群生产环境实战部署指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081212

相关文章

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

macOS彻底卸载Python的超完整指南(推荐!)

《macOS彻底卸载Python的超完整指南(推荐!)》随着python解释器的不断更新升级和项目开发需要,有时候会需要升级或者降级系统中的python的版本,系统中留存的Pytho版本如果没有卸载干... 目录MACOS 彻底卸载 python 的完整指南重要警告卸载前检查卸载方法(按安装方式)1. 卸载

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别