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

相关文章

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优