Linux学习笔记——集群化环境前置准备

news2024/11/16 2:32:26

5.7、集群化环境前置准备

5.7.1、介绍

在前面,我们所学习安装的软件,都是以单机模式运行的。

后续,我们将要学习大数据相关的软件部署,所以后续我们所安装的软件服务,大多数都是以集群化(多台服务器共同工作)模式运行的。

所以,在当前小结,我们需要完成集群化环境的前置准备,包括创建多台虚拟机、配置主机名映射、SSH免密登录等等。

5.7.2、部署

5.7.2.1、部署多台Linux虚拟机

安装集群化软件,首要条件就是有多台Linux服务器可用。

我们可以使用VMware提供的克隆功能,将我们的虚拟机额外克隆出3台来使用。

1、首先,关闭当前CentOS系统虚拟机(可以使用root执行init 0来快速关机)

2、新建文件夹,文件夹起名为:虚拟机集群

在这里插入图片描述

3、克隆

在这里插入图片描述

4、同样的操作克隆出:node2和node3

在这里插入图片描述

5、开启node1,修改主机名为node1,并修改固定IP为:192.169.88.131

# 修改主机名
hostnamectl set-hostname node1

# 修改IP地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR="192.168.88.131"

IPADDR="192.168.88.132"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"

# 重启网卡
systemctl stop network
systemctl start network
# 或者直接
systemctl restart network

6、同样的操作启动node2和node3,

修改node2主机名为node2,设置ip为192.168.88.132

修改node2主机名为node3,设置ip为192.168.88.133

7、配置FinalShell,配置连接到node1、node2、node3的连接

在这里插入图片描述

为了简单起见,建议配置root用户登录

5.7.2.2、准备主机名映射

1、在Windows系统中修改hosts文件,填入如下内容:

如果同学们使用MacOS系统,请:

  1. sudo su -,切换到root
  2. 修改/etc/hosts文件
192.168.88.131 node1
192.168.88.132 node2
192.168.88.133 node3

在这里插入图片描述

2、在三台Linux的/etc/hosts文件中,填入如下内容(3台都有添加

# 编辑/etc/hosts
vim /etc/hosts

# 填入如下内容
192.168.88.131 node1
192.168.88.132 node2
192.168.88.133 node3

5.7.2.3、配置SSH免密登录

5.7.2.3.1、简介

SSH服务是一种用于远程登录的安全认证协议。

我们通过FinalShell远程连接到Linux,就是使用的SSH服务。

SSH服务支持:

  • 通过账户+密码的认证方式来做用户认证
  • 通过账户+秘钥文件的方式做用户认证

SSH可以让我们通过SSH命令,远程的登录到其他主机上,比如:

在node1执行:ssh root@node2,将以root用户登录node2服务器,输入密码即可成功登录。

ssh node2,将以当前用户直接登录到node2服务器。

5.7.2.3.2、SSH免密配置

后续安装的集群化软件,多数需要远程登录以及远程执行命令,我们可以简单起见,配置三台Linux服务器之间的免密码互相SSH登录。

1、在每一台机器都执行:ssh-keygen -t rsa -b 4096,一路回车到底即可。

2、在每一台机器执行:

ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

需要输入root的密码

在这里插入图片描述

3、执行完毕后,node1、node2、node3之间将完成root用户之间的免密互通。

5.7.2.4、配置JDK环境

后续的大数据集群软件,多数是需要Java运行环境的,所以我们为每一台机器都配置JDK环境。

1、下载JDK软件

https://www.oracle.com/java/technologies/downloads

在页面下方找到:

在这里插入图片描述

在弹出的页面中输入Oracle的账户密码即可下载(如无账户,请自行注册,注册是免费的)

2、登录Linux系统,切换到root用户

在这里插入图片描述

3、通过FinalShell,上传下载好的JDK安装包

在这里插入图片描述

4、创建文件夹,用来部署JDK,将JDK和Tomcat都安装部署到:/export/server内

mkdir -p /export/server

5、解压缩JDK安装文件

tar -zxvf jdk-8u351-linux-x64.tar.gz -C /export/server

6、配置JDK的软链接

ln -s /export/server/jdk1.8.0_351 /export/server/jdk

7、配置JAVA_HOME环境变量,以及将$JAVA_HOME/bin文件夹加入PATH环境变量中

# 编辑/etc/profile文件
export JAVA_HOME=/export/server/jdk
export PATH=$PATH:$JAVA_HOME/bin

8、生效环境变量

source /etc/profile

9、配置java执行程序的软链接

# 删除系统自带的java程序
rm -f /usr/bin/java

# 配置java执行程序的软链接
ln -s /export/server/jdk/bin/java /usr/bin/java

5.7.2.5、关闭防火墙和SELinux

1、集群化软件直接需要通过端口互相通讯,为了避免出现网络不通的问题,我们可以简单的在集群内部关闭防火墙。

  • 在每一台机器都执行
systemctl stop firewalld
systemctl disable firewalld

2、Linux有一个安全模块:SELinux,用以限制用户和程序的相关权限,来确保系统的安全稳定。

SELinux的配置同防火墙一样,非常复杂,课程中很多不涉及。

在当前,我们只需要关闭SELinux功能,避免后面的软件运行出现问题即可。

  • 在每一台机器都执行
vim /etc/sysconfig/selinux

# 将第7行,SELINUX=enforcing改为
SELINUX=disabled
# 保存退出后,重启虚拟机即可,千万要注意disabled单词不要写错,不然无法启动系统。

5.7.2.6、添加快照

为了避免后续出现问题,在完成上述配置后,为每一台虚拟机都制作快照,留待使用。

在这里插入图片描述

5.7.3、补充命令-scp

后续的安装部署操作,我们将会频繁的在多台服务器之间相互传输数据。

为了更方便的互相传输,我们补充一个命令:scp

1、scp命令时cp命令的升级版,即ssh scp,通过SSH协议完成文件的复制。

其主要的功能就是:在不同的Linux服务器之间,通过SSH协议互相传输文件。

只要知晓服务器的账户和密码(或密钥),即可通过scp互传文件。

2、语法:

scp [-r] 参数1 参数2
- -r选项用于复制文件夹使用,如果复制文件夹,必须使用-r
- 参数1:本机路径 或 远程目标路径
- 参数2:远程目标路径 或 本机路径

如:
scp -r /export/server/jdk root@node2:/export/server/
将本机上的jdk文件夹, 以root的身份复制到node2的/export/server/内
同SSH登陆一样,账户名可以省略(使用本机当前的同名账户登陆)

如:
scp -r node2:/export/server/jdk /export/server/
将远程node2的jdk文件夹,复制到本机的/export/server/内


# scp命令的高级用法
cd /export/server
scp -r jdk node2:`pwd`/    # 将本机当前路径的jdk文件夹,复制到node2服务器的同名路径下
scp -r jdk node2:$PWD      # 将本机当前路径的jdk文件夹,复制到node2服务器的同名路径下

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

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

相关文章

使用OpenCV读取视频、图片并做简单处理

1.OpenCV的安装与卸载 在conda中安装opencv,打开Anaconda Prompt 使用国内镜像源安装opencv,命令如下: pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple 也可以安装opencv的另一个扩展包opencv-contrib-python&am…

Centos下使用yum安装Mysql8(Mysql5.7)以及常见的配置和使用

记录一下在centos7.x下面使用yum方式安装mysql8(Mysql5.7)关系型数据库安装之前一般需要先确定centos7.x服务器里是否已经安装,未安装或者刚初始化的centos7.x服务器最好安装,原来已经有的要升级的话一定要对系统原有mysql 或mariadb卸载干净&#xff0c…

系统测试的具体测试类型

系统测试:是为判断系统是否符合要求而对集成的软、硬件系统进行的测试活动、它是将已经集成好的软件系统,作为基于整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、人员、数据等其他系统元素结合在一起,在实际运行环…

Charles - 夜神模拟器证书安装App抓包

Charles - 夜神模拟器证书安装App抓包 文章目录Charles - 夜神模拟器证书安装App抓包前言一、软件安装1.Openssl安装1.1下载安装1.2配置环境变量1.3查看openssl版本,输入命令:openssl version2.夜神模拟器安装1.1 下载安装1.2工具准备,MT管理…

【Lilishop商城】No4-6.业务逻辑的代码开发,涉及到:接口入参、出参开发逻辑,及POJO的各种总结

仅涉及后端,全部目录看顶部专栏,代码、文档、接口路径在: 【Lilishop商城】记录一下B2B2C商城系统学习笔记~_清晨敲代码的博客-CSDN博客 全篇会结合业务介绍重点设计逻辑,其中重点包括接口类、业务类,具体的结合源代…

完整iOS APP发布App Store上架流程指南

本文章的目的在于教会你如何创建ios的打包证书和如何上架假如你没有任何的打包或上架经验,参考本文有很大的收益。通常创建ios证书和上架,是需要MAC电脑的,本文重点介绍如何在没有mac电脑的情况下,创建mac证书和上架。假如你还没有…

STM32CUBEIDE-简单案例生成

STM32CUBEIDE-简单案例生成 京东链接:https://i-item.jd.com/66584659856.html 生成工程 使用STM32CUBEMX生成例程,这里使用STM32F103C8T6系统板。 新建一个工程,这里有3种新建工程方式。 ● 基于MCU/MPU新建工程 ● 基于ST模块新建工程 ●…

PCB板缺陷检测机器视觉识别算法 yolo

PCB板缺陷检测机器视觉识别算法通过pythonyolo系列网络深度学习模型对PCB电路板外观实时监测,当模型算法监测到有缺陷的PCB板时立即抓拍存档。Python是一种由Guido van Rossum开发的通用编程语言,它很快就变得非常流行,主要是因为它的简单性和…

Vue2进阶笔记

Vue2进阶笔记一、基础知识1.1 computed计算属性1.2 watch监视属性1.3 动态绑定样式1.4 列表循环渲染 key的探讨1.5 列表过滤1.6 数据监视1.7 表单收集1.8 过滤器1.9 生命周期函数1.10 nextTick1.11 动画与过渡1.12 脚手架配置跨域代理二、组件化开发2.1 演替与定义2.2 使用与注…

多线程进阶(一)锁策略,CAS及Synchronized原理

目录 前言: 常见锁策略 CAS CAS应用场景 标准库中基于CAS实现的原子类介绍 代码实现 ABA问题 Synchronized原理 锁升级 锁消除 锁粗化 小结: 前言: 通过这篇文章可以更加深入理解锁内部的一些实现原理,以及怎样描述一…

Qt 使用 Matlab函数

背景:个人的Qt项目中,需要一个图片分割算法。该算法之前在Matlab上实现过,同时转成C版本有点麻烦,因此尝试通过Qt与Matlab编程相结合的方式,实现该功能。 注意:以下所有功能及配置过程,默认已经…

CSDN竞赛21期题解

总结 (PS:这次竞赛的奖励对我诱惑力感觉没多大,因为高级背包不久前才收到一个,邹老师的两本签名书也早就拿到了,程序员杂志、帆布包也都有了,扑克牌都拿了几副了,所以还是换点其他的书比较好&a…

c语言tips-【c语言内存模型】

0.摘要 C语言是比较接近底层的语言,因此它的很多知识点是和操作系统挂钩的,例如它的内存模型,其实也是操作系统进程的内存模型,本文章就是解释进程,虚拟内存空间,内存模型的相关知识和它们之间的联系 1. 虚…

热交换器及一维平行流换热器分析(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 首先试图对热交换器的设置进行建模,并获得该过程的控制方程。使用相应的控制方程并设置边界条件并获得适当的边界值…

RHCE第五天之NFS服务器详解

文章目录一、NFS服务器简介二、NFS的使用三、客户端使用autofs自动挂载四、实验练习一、NFS服务器简介 NFS(Network File System,网络文件系统): 是FreeBSD支持的文件系统中的一种,它允许网络中的计算机(不…

Qt / Qml 视频硬解码(CUDA)中如何实现无上传硬渲染(一)

【写在前面】 很多时候,我们在对视频的解码和渲染的处理都要经过以下步骤: 软解码,视频帧位于内存。 软渲染,需要拷贝到图像然后渲染;硬渲染则需要上传纹理,然后渲染。硬解码,视频帧位于显存。…

OPengl学习(四)——顶点数组

文章目录1、 问题2、步骤2.1 激活数组2.2 指定数组的数据2.3 解引用和渲染3、例子1、 问题 1、在前面我们实现一个多彩三角形,调用三次glvertext()函数,如果在多边形,如20条边的,那么就要使用22次函数&…

【大数据之路】数据管理篇 《三》存储和成本管理 【搬运小结】

文章目录【大数据之路】数据管理篇 《三》存储和成本管理1.1数据压缩1.2存储治理项优化1.3生命周期管理1.3.1 生命周期管理策略1.3.2 生命周期管理策略1.4数据成本计量【大数据之路】数据管理篇 《三》存储和成本管理 1.1数据压缩 在分布式文件系统中,为了提高数据…

python制作课堂点名系统,从此老师对我关爱有加

前言 大家早好、午好、晚好吖 ❤ ~ 准备工作 首先我们需要准备好点名的姓名文件,使用的时候导入进去就可以开始点名了。 新建一个文本文档,将姓名设置设置好,如下: 使用系统库和第三方库都比较常规 from PyQt5.QtWidgets impo…

Attention机制的具体计算过程

一、介绍Query、Key、Value的来源一个输入,经过embedding位置编码后得到最终的输入X(512维),最终的输入X与矩阵参数WQ(512*64维)相乘,得到Query;与矩阵参数WK(512*64维&a…