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

news2024/11/24 19:41:40

一、环境准备

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

安装包下载:

夸克网盘分享夸克网盘是夸克推出的一款云服务产品,功能包括云存储、高清看剧、文件在线解压、PDF一键转换等。通过夸克网盘可随时随地管理和使用照片、文档、手机资料,目前支持Android、iOS、PC、iPad。icon-default.png?t=N7T8https://pan.quark.cn/s/cd01f3cfca27

安装包准备:

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
    
    # 临时关闭selinux
    setenforce 0
    
    # 永久关闭selinux
    sed -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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1872560.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通达信趋势动能资金加速异动幅图指标公式源码

通达信趋势动能资金加速异动幅图指标公式源码&#xff1a; B:SUM(AMOUNT*CLOSE,1)/SUM(AMOUNT,1); B1:EMA(B,5); TDX5:(B-B1)*100/B,NODRAW,COLORRED; TDX6:TDX5!DRAWNULL; TDX7:(CLOSE-LLV(LOW,13))/(HHV(HIGH,13)-LLV(LOW,13))*100; TDX8:SMA(TDX7,4,1); TDX9:SMA(TDX8,3,1)…

Git Flow 工作流学习要点

Git Flow 工作流学习要点 Git Flow — 流程图Git Flow — 操作指令优点&#xff1a;缺点&#xff1a;Git Flow 分支类型Git Flow 工作流程简述关于 feature 分支关于 Release 分支关于 hotfix 分支 总结 Git Flow — 流程图 图片来源&#xff1a;https://nvie.com/posts/a-succ…

电子名片小程序源码系统 前后端分离 带完整的安装代码包以及搭建教程

系统概述 电子名片小程序源码系统是一款基于前后端分离架构的综合性平台&#xff0c;旨在为用户提供一个集销售名片和企业商城于一体的解决方案。该系统采用先进的技术手段&#xff0c;实现了个性化名片设计、便捷的销售功能、企业商城模块等一系列实用功能。同时&#xff0c;…

惠普笔记本双指触摸不滚屏

查看笔记本型号 一般在笔记本背面很小的字那里 进入惠普官网 笔记本、台式机、打印机、墨盒与硒鼓 | 中国惠普 (hp.com) 选择“支持”>“解决问题”>“软件与驱动程序” 选择笔记本 输入型号&#xff0c;选择操作系统 下载驱动进行完整 重启之后进行测试

HBase与Hive数据交互

一、hbase数据导入hive hive通过建立外部表和普通表加载hbase表数据到hive表中。 两种方式加载hbase中的表到hive中&#xff0c;一是hive创建外部表关联hbase表数据&#xff0c;是hive创建普通表将hbase的数据加载到本地。 1.创建外部表 hbase中创建test表&#xff0c;且插入…

stylelint 配置

1.vscode 安装插件Stylelint 2.项目安装插件 pnpm i stylelint stylelint-config-standard stylelint-config-recommended-scss stylelint-config-recommended-vue postcss postcss-html postcss-scss stylelint-config-recess-order stylelint-config-html -D 依赖 说明 备…

python笔记----少儿编程课程

第1课&#xff1a; 认识新朋友-python 知识点&#xff1a; 1、在英文状态下编写Python语句。 2、内置函数print()将结果输出到标准的控制台上&#xff0c;它的基本语法格式如下&#xff1a; print("即将输出的内容") #输出的内容要用引号引起来&#xff0c;可…

一加Ace3 刷机救砖简化说明

注意&#xff1a;工具使用英文目录&#xff0c;支持救砖和降级。PJE110国行版&#xff0c;CPH2609国际版。目前国行版不能完美转换国际版&#xff0c;每次升级都需要刷oplusstanvbk&#xff0c;不建议使用。跨国转换或ROOT一定先解锁Bootloader&#xff0c;可以使用“一加全能工…

重温react-10(函数组件和类组件的ref获取方式)

App.js的代码 06是函数组件 07是类组件 import React, { useEffect, useRef } from react; import LearnFunction06 from ./LearnFunction06; // 函数组件和类组件的ref使用方式 import LearnFunction07 from ./LearnFunction07; // 函数组件和类组件的ref使用方式 export de…

Vite: 插件开发

概述 说到自定义的能力&#xff0c;肯定很容易想到 插件机制 &#xff0c;利用一个个插件来扩展构建工具自身的能力虽然 Vite 的插件机制是基于 Rollup 来设计的&#xff0c;但实际上 Vite 的插件机制也包含了自己独有的一部分&#xff0c;与Rollup 的各个插件 Hook 并非完全兼…

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第50课-姿式识别控制机器人

【WEB前端2024】3D智体编程&#xff1a;乔布斯3D纪念馆-第50课-姿式识别控制机器人 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界…

白话EAGLE2:解锁大模型的“打草稿”技术

实时了解业内动态&#xff0c;论文是最好的桥梁&#xff0c;专栏精选论文重点解读热点论文&#xff0c;围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;…

七天速通javaSE:第五天 数组基础

文章目录 前言一、认识数组二、数组的声明和创建1. 声明数组变量2. 创建数组3. 变量的初始化&#xff08;赋值&#xff09;3.1 静态初始化3.2 动态初始化 3. 示例 三、数组的使用1. 循环1.1 普通for循环1.2 For-Each 循环 2. 数组作为函数的参数和返回值 前言 本文将为大家介绍…

vue+fineReport 使用前端搜索+报表显示数据

--fineReprot 将需要搜索的参数添加到模版参数 sql&#xff1a; --前端传递参数 注&#xff1a;因为每次点击搜索的结果需要不一样&#xff0c;还要传递一个时间戳的参数&#xff1a; let timesamp new Date().getTime()

【模板】项目建设方案(Word原件)

1 引言 1.1 编写目的 1.2 项目概述 1.3 名词解释 2 项目背景 3 业务分析 3.1 业务需求 3.2 业务需求分析与解决思路 3.3 数据需求分析【可选】 4 项目建设总体规划【可选】 4.1 系统定位【可选】 4.2 系统建设规划 5 建设目标 5.1 总体目标 5.2 分阶段目标【可选】 5.2.1 业务目…

ICMAN触摸芯片之滑轮滑条演示

ICMAN触摸芯片之滑轮滑条演示 ICMAN触摸芯片实现的滑轮滑条方案—— 按键处理逻辑快速&#xff0c;物理结构定位&#xff0c;定位精准&#xff0c;实现简单&#xff0c; 属于按键滑轮滑条&#xff0c;由硬件实现的专用触摸芯片通过滑轮滑条结构设计来实现。 常见的硬件应用&a…

不使用canvs也能创建出点状背景

div{ height: 100%; touch-action: none; background: radial-gradient(circle, #e6e6e6 1px, transparent 1px); /* 创建一个点状背景 */ background-size: 15px 15px; /* 控制点的大小和间距 */ padding: 20px; /* 添加内边距使内容不靠边 */ position: relative; /* 让内部内…

DigiRL:让 AI 自己学会控制手机

类似于苹果此前发布的Ferret-UI 的安卓开源平替。主要用于在 Android 设备上识别 UI 和执行指令&#xff0c;不同的是它利用了离线到在线强化学习&#xff08;Offline-to-Online RL&#xff09;&#xff0c;能够快速适应应用更新或 UI 变化。