科普扫盲---centos7 集群环境的搭建指南

简介: 科普扫盲---centos7 集群环境的搭建指南

一般集群所需要的到底是什么环境?,需要明白的一件事,集群是由一个个单例服务通过各个单例服务之间的socket通信,从而规避一些性能瓶颈,达到1+1大于2的效果。

常见的集群有:weblogic集群,redis集群,MySQL集群,Oracle数据库集群,tomcat集群,大数据Hadoop集群,mongdb集群,elk集群,efk集群perconapercona-xtradb-cluster ,citus,k8s集群等等。

集群的环境搭建方法是和集群的自身特点相适应的,总结起来,一般的集群环境需要如下:

(1)集群搭建前的硬件条件自检

在搭建集群前,请先考虑清楚,你现有的服务器磁盘剩余使用空间,内存,CPU这些是否符合集群能够运行的条件,是否能够流畅运行这些集群软件。

比如,你想安装一个Hadoop集群,那么,剩余的磁盘空间是否可以支撑你的部署呢?如果你的var目录是比较小的,那么,安装部署的时候如何将集群部署到磁盘空间剩余较多的分区内呢?

总结起来就是说,根据自己的硬件条件选择安装哪些组件,然后在安装部署的时候调整安装路径,避开比如上面说的比较小的var分区,集群安装前需要有一个大致的部署计划。

(2) 时间服务器

得不一致将会导致数据的不一致问题。比如,k8s集群对时间得一致性就要求非常高(题外话,k8s里的etcd组件是有时间一致性的高需求)。时间服务器对于集群来说是非常重要的环境,因为集群的各个节点都是需要节点间通信的,而时间

时间服务器的搭建指南请参见本人的另一个博客:

Linux ntp时间服务器的搭建和配置_zsk_john的博客-CSDN博客_linux配置ntp时间服务器

(3)防火墙的关闭

关闭命令为:

systemctl disable firewalld && systemctl stop firewalld

集群本身就比较复杂,有的集群会使用非常多的组件,比如,大数据hadoop集群,此时,如果防火墙开启,不管是部署阶段还是部署完成后的运维阶段都可能会是一个灾难性的工作量(非常多的防火墙规则需要书写,这很明显是大大增加工作量,而且,不一定能都正确),对于集群的稳定运行是一个非常大的挑战,因此,不管是在测试服务器还是在生产服务器,防火墙一般都是要求关闭的。

(4)selinux 安全系统的关闭

selinux系统关闭的原因和防火墙关闭的原因是一样的,在此就不赘述了。关闭命令为:

临时关闭selinux:setenforce 0

永久关闭selinux:编辑 /etc/selinux/config 这个文件,此文件内有说明,照抄,修改SELINUX的值为disable即可。当然,有sed命令可以修改,但不建议这样修改此链接文件,会有其它的问题产生。

#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled

(5)组成集群的机器之间的ssh免密配置

ssh免密配置有两个作用,第一,是方便集群部署的时候传递文件,第二,集群内部有时候需要通过ssh免密登录切换节点,转换角色。

(6)组成集群的机器主机名和域名统一配置并写入每个机器的hosts文件内。

当然,如果有自己搭建dns服务器,这一步可以省略,只需要在dns服务器上写好主机名和对应的域名就可以了。

那么,主机名和域名统一是由于集群内通信一般是不使用ip地址的,而是通过主机名和域名来区分集群的角色。比如,大数据集群的hosts通常写成这样:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.16 master hdp1.com
192.168.0.17 slave1 hdp2.com
192.168.0.18 slave2 hdp3.com

(7)开发语言环境

比如,大数据集群是需要java环境也就是jdk的,Python环境是自带的,这个就不说了。

(8)gcc和gcc-c++  以及一些其它的开发组件

gcc环境其实也就是c语言环境,但由于这个比jdk还要普遍就放这里了,当然还有一些开发组件,比如 openssl-devel ,pcre-devel ,zip-devel,curl-devel 等等各种各样的开发组件,不过,每种集群所需并不同,但必定是有gcc环境和openssl-devel,pcre-devel,zlib-devle 这几个非常常用的开发组件。

集群搭建前的环境准备基本也就是以上这几点,当然,还有swap的关闭,这些小问题就不在这赘述了。

目录
相关文章
|
6月前
|
Linux 编译器 开发工具
在CentOS环境下升级GCC编译器的指南
总结:本文提供了一种方法来升级CentOS的GCC编译器,通过使用CentOS的软件集合和开发者工具集工具,可以比较平滑地进行升级。在整个过程中无需从源代码编译,这样既省去了复杂的编译过程,也避免了可能出现的与系统库不兼容的风险。请注意,使用第三方仓库可能会带来系统稳定性和安全性上的潜在影响。所有操作都应谨慎进行,并确保有相应的数据备份。
810 19
|
8月前
|
分布式计算 Hadoop Java
CentOS中构建高可用Hadoop 3集群
这个过程像是在一个未知的森林中探索。但当你抵达终点,看到那个熟悉的Hadoop管理界面时,所有的艰辛都会化为乌有。仔细观察,尽全力,这就是构建高可用Hadoop 3集群的挑战之旅。
317 21
|
9月前
|
Java Linux
CentOS环境搭建Elasticsearch集群
至此,您已成功在CentOS环境下搭建了Elasticsearch集群。通过以上介绍和步骤,相信您对部署Elasticsearch集群有了充分的了解。最后祝您在使用Elasticsearch集群的过程中顺利开展工作!
502 22
|
12月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
2390 5
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
分布式计算 Hadoop Java
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
本文是一份详细的Hadoop集群搭建指南,基于Hadoop 3.3.4版本和CentOS 8操作系统。文章内容包括虚拟机创建、网络配置、Java与Hadoop环境搭建、克隆虚拟机、SSH免密登录设置、格式化NameNode、启动Hadoop集群以及通过UI界面查看Hadoop运行状态。同时,还提供了常见问题的解决方案。
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
2327 4
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
Kubernetes Ubuntu Linux
Centos7 搭建 kubernetes集群
本文介绍了如何搭建一个三节点的Kubernetes集群,包括一个主节点和两个工作节点。各节点运行CentOS 7系统,最低配置为2核CPU、2GB内存和15GB硬盘。详细步骤包括环境配置、安装Docker、关闭防火墙和SELinux、禁用交换分区、安装kubeadm、kubelet、kubectl,以及初始化Kubernetes集群和安装网络插件Calico或Flannel。
1101 4
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
451 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
Kubernetes Linux Docker
在centos7上搭建k8s环境
在centos7上搭建k8s环境