CentOS安装使用教程与集群环境搭建

文章目录

  • 一、下载CentOS镜像
    • [1. 下载](#1. 下载)
  • 二、创建虚拟机
  • 三、CentOS安装、克隆与配置
    • [1. 安装CentOS](#1. 安装CentOS)
    • [2. CentOS虚拟机克隆](#2. CentOS虚拟机克隆)
      • [2.1 介绍](#2.1 介绍)
        • [2.1.1 完全克隆 (Full Clone)](#2.1.1 完全克隆 (Full Clone))
        • [2.1.2 链接克隆 (Linked Clone)](#2.1.2 链接克隆 (Linked Clone))
      • [2.2 克隆虚拟机](#2.2 克隆虚拟机)
    • [3. CentOS虚拟机配置](#3. CentOS虚拟机配置)
      • [3.1 修改主机名](#3.1 修改主机名)
      • [3.2 配置虚拟机网络](#3.2 配置虚拟机网络)
      • [3.3 配置网络参数](#3.3 配置网络参数)
      • [3.4 配置SSH远程登录](#3.4 配置SSH远程登录)
      • [3.5 配置IP地址映射为主机名](#3.5 配置IP地址映射为主机名)
  • 四、SSH远程连接工具
    • [1. XShell](#1. XShell)
      • [1.1 简介](#1.1 简介)
      • [1. 2 下载和安装](#1. 2 下载和安装)
        • [1.2.1 下载](#1.2.1 下载)
        • [1.2.2 安装](#1.2.2 安装)
      • [1.3 注册与使用](#1.3 注册与使用)
    • [2. FinalShell](#2. FinalShell)
      • [2.1 简介](#2.1 简介)
      • 主要特点
      • [2.2 下载和安装](#2.2 下载和安装)
        • [2.2.1 下载](#2.2.1 下载)
        • [2.2.2 安装](#2.2.2 安装)
      • [2.3 使用](#2.3 使用)
  • 五、防火墙命令
    • [1. 查看防火墙状态](#1. 查看防火墙状态)
    • [2. 关闭防火墙](#2. 关闭防火墙)
    • [3. 禁用防火墙](#3. 禁用防火墙)
    • [4 启用防火墙](#4 启用防火墙)
    • [5. 查看防火墙状态](#5. 查看防火墙状态)
    • [6. 开放指定端口](#6. 开放指定端口)
    • [7. 关闭指定端口](#7. 关闭指定端口)
    • [8. 重新加载防火墙配置](#8. 重新加载防火墙配置)
    • [9. 查看开放的端口](#9. 查看开放的端口)
  • 六、配置集群免密登录
    • [1. 克隆并配置hadoop2和hadoop3](#1. 克隆并配置hadoop2和hadoop3)
    • 2.配置SSH免密登录
      • [2.1 生成密匙](#2.1 生成密匙)
      • [2.2 在已知密码的情况下配置](#2.2 在已知密码的情况下配置)
      • [2.3 在不知密码的情况下配置](#2.3 在不知密码的情况下配置)

一、下载CentOS镜像

CentOS Stream 和传统的 CentOS(非 Stream)的区别:

  1. 发布模式
    CentOS Stream:采用滚动发布模式,类似于 Fedora 的开发分支。它是一个持续集成/持续交付 (CI/CD) 平台,为未来的 RHEL 版本提供早期预览。
    传统 CentOS:采用固定版本发布模式,每个大版本有一个明确的支持周期,如 CentOS 7 和 CentOS 8。
  2. 更新方式
    CentOS Stream:更新频繁,用户可以随时获取最新的补丁和功能。
    传统 CentOS:更新相对较少,主要是安全性和稳定性更新。
  3. 目标用户
    CentOS Stream:更适合开发者和技术爱好者,他们可以提前测试新的特性和改进。
    传统 CentOS:更适合企业级用户和那些需要稳定环境的场景。
  4. 与 RHEL 的关系
    CentOS Stream:作为 RHEL 的上游项目,其变化会最终被纳入到 RHEL 中。
    传统 CentOS:作为 RHEL 的下游项目,基于 RHEL 的源代码构建,但在 RHEL 发布后有一定延迟。
  5. 支持周期
    CentOS Stream:没有固定的生命周期,但每个 CentOS Stream 分支会得到长期支持。
    传统 CentOS:有明确的支持周期,例如 CentOS 8 的生命周期截止日期为 2024 年 5 月 31 日。

1. 下载

CentOS Stream镜像下载地址:

官方: https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/iso/

清华:https://mirrors.tuna.tsinghua.edu.cn/centos-stream/9-stream/BaseOS/x86_64/iso/

阿里云:https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/iso/

进入下载页面后,点击带有DVD的iso下载镜像。

区别:
CentOS-Stream-9-20240819.0-x86_64-boot.iso
用途 :这是一个引导 ISO 文件,主要用于启动安装过程。
内容 :它包含了足够的软件包来引导安装过程,并允许您从网络下载额外的软件包来完成安装。
大小 :通常这个文件比 DVD 映像小得多,因为它只包含必要的启动程序和安装工具。
CentOS-Stream-9-20240819.0-x86_64-dvd1.iso
用途 :这是一个完整的 DVD 映像,包含了安装过程中所需的所有软件包。
内容 :它包含了更多的软件包,包括常见的工具和实用程序,可以在离线环境下进行安装。
大小:这个文件通常比引导 ISO 大得多,因为它包含了更多的软件包。

传统 CentOS镜像下载地址:

阿里云:https://mirrors.aliyun.com/centos-vault/centos/7/isos/x86_64/

二、创建虚拟机

运行VMware Workstation软件后,点击创建新的虚拟机。

点击自定义(高级)©,点击下一步。

选择硬件兼容性为Workstation 16.2.x,点击下一步。

选择稍后安装操作系统,点击下一步。

选择客户机操作系统为Linux,版本为CentOS 7 64位,点击下一步。

自定义虚拟机名称,选择虚拟机存储目录,点击下一步。

选择处理器数量为1,每个处理器的内核数量为2,点击下一步。

设置虚拟机的内存为3G,点击下一步。

选择网络类型为使用网络地址转换,点击下一步。

选择SCSI控制器为LSI Logic,点击下一步。

选择虚拟磁盘类型为SCSI,点击下一步。

选择磁盘为创建新虚拟磁盘,点击下一步。

设置最大磁盘大小为30G,选择将虚拟磁盘拆分成多个文件,点击下一步。

把磁盘文件命名为hadoop1.vmdk,点击下一步。

在这个页面查看虚拟机的相关配置参数,点击完成。

创建完成的虚拟机如下图所示。

三、CentOS安装、克隆与配置

1. 安装CentOS

在创建完成后的虚拟机页面点击编辑虚拟机设置。

点击硬件下方的CD/DVD选项,选择使用ISO映像文件,点击浏览,选择镜像文件,点击确定。

点击开启虚拟机。

启动虚拟机后,鼠标点击黑色部分,键盘上的上下键可以选择选项,选择Install CentOS 7,之后点击回车键。

设置语言为简体中文。

设置日期和时间为亚洲上海时区,键盘为汉语,语言支持为简体中文。

设置软件选择为最小安装。


设置安装位置为自动选择分区。


设置网络和主机名,设置以太网状态为开启,主机名为hadoop1,点击应用后可以在右下角看到当前主机名,点击完成。


设置完成后,点击开始安装。

开始安装后,点击ROOT密码。

输入需要设置的密码,双击完成。

设置密码完成后,可以看到已经设置root密码。

安装完成后点击重启。

重启完成后会跳转到登陆页面,输入用户名root,点击回车,输入密码时不会有任何字符出现,但是已经是输入了,输入密码后,点击回车登录。

2. CentOS虚拟机克隆

2.1 介绍

虚拟机克隆是一种常见的操作,它允许您创建一个现有虚拟机的完整副本。这样做的好处是可以快速部署多个相同配置的虚拟机,节省时间和资源。虚拟机克隆通常有两种主要方式:完全克隆和链接克隆。

2.1.1 完全克隆 (Full Clone)

完全克隆会创建一个包含原始虚拟机所有配置、操作系统、应用程序和数据的独立副本。这意味着新克隆的虚拟机与原始虚拟机之间没有任何依赖关系。完全克隆的优点包括:

  • 独立性:每个克隆都是独立的实体,不会影响其他克隆。
  • 安全性:修改一个克隆不会影响其他克隆。
  • 灵活性:可以在任何环境中自由移动克隆的虚拟机。
2.1.2 链接克隆 (Linked Clone)

链接克隆则是基于原始虚拟机的一个轻量级副本。链接克隆共享原始虚拟机的大部分磁盘空间,只保留差异部分,因此占用的空间远小于完全克隆。链接克隆的特点包括:

  • 共享存储:多个链接克隆共享同一个磁盘文件,仅记录各自的差异。
  • 节省空间:因为共享了大量的磁盘数据,所以总体上占用的空间较少。
  • 依赖关系:链接克隆依赖于原始虚拟机,如果原始虚拟机被删除或修改,可能会影响到链接克隆。
  • 快速部署:由于只需要记录变化的部分,链接克隆的创建速度更快。

2.2 克隆虚拟机

右击hadoop1,点击管理,点击克隆。

点击下一页。

在克隆源界面,选择虚拟机中的当前状态,点击下一页。

在克隆类型页面,选择创建完整克隆,点击下一页。

在新虚拟机名称页面,设置虚拟机名称为hadoop2,选择新虚拟机的存储位置,点击完成。

等待克隆完成。

克隆完成如下图所示,点击关闭。

3. CentOS虚拟机配置

3.1 修改主机名

查看主机名。

shell 复制代码
hostname

修改主机名。

shell 复制代码
hostnamectl set-hostname hadoop101

3.2 配置虚拟机网络

在虚拟机主界面,点击编辑,点击虚拟网络编辑器。

在虚拟网络编辑器页面,点击VMent8,点击更改设置。

点击VMent8,设置子网ip,点击应用,应用完成后点击确定。

3.3 配置网络参数

在NAT设置页面查看网关IP地址

编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件

shell 复制代码
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"		#指定了网络接口的类型,这里是 Ethernet(以太网)
PROXY_METHOD="none"		#指定了代理方法
BROWSER_ONLY="no"			#是否仅在浏览器中使用代理
#BOOTPROTO="dhcp"
BOOTPROTO="static"              #网络接口的 IP 地址获取方式,使用静态ip,默认为dhcp
IPADDR="192.168.198.101"        #设置的静态ip地址
NETMASK="255.255.255.0"         #子网掩码
GATEWAY="192.168.198.2"         #网关地址
DNS1="114.114.114.114"            #DNS服务器
DEFROUTE="yes"			#是否允许通过此接口发送默认路由
IPV4_FAILURE_FATAL="no"		#IPv4 配置失败时的行为。`no` 表示如果 IPv4 配置失败,则不会使整个接口失效
IPV6INIT="yes"		#是否初始化 IPv6 协议栈。yes`表示启用 IPv6
IPV6_AUTOCONF="yes"		#是否允许使用无状态地址自动配置来获取 IPv6 地址
IPV6_DEFROUTE="yes"		#是否允许通过此接口发送 IPv6 默认路由
IPV6_FAILURE_FATAL="no"		#IPv6 配置失败时的行为。`no` 表示如果 IPv6 配置失败,则不会使整个接口失效
IPV6_ADDR_GEN_MODE="stable-privacy"		#生成 IPv6 地址的方式。`stable-privacy` 表示使用隐私地址生成模式,以保护隐私
NAME="ens33"		#网络接口的名称
UUID="27001729-de66-4b77-9420-3767c9201283"		#唯一标识码
DEVICE="ens33"		#指定网络接口的名字
ONBOOT="yes"			#系统启动时是否自动激活此网络接口

重启网络服务

shell 复制代码
systemctl restart network

3.4 配置SSH远程登录

修改/etc/ssh/sshd_config文件,设置允许root用户远程登录。

shell 复制代码
vi /etc/ssh/sshd_config

输入/进入搜索模式,输入Login,点击回车进行搜索,找到#PermitRootLogin yes后,键入i进入编辑模式,删除#号,键入Esc退出编辑模式,使用快捷键Shift+Z+Z保存退出。

重启ssh服务。

shell 复制代码
systemctl restart sshd

3.5 配置IP地址映射为主机名

编辑/etc/hosts文件

shell 复制代码
vi /etc/hosts

增加如下信息

192.168.198.101 hadoop1
192.168.198.102 hadoop2
192.168.198.103 hadoop3

四、SSH远程连接工具

1. XShell

1.1 简介

XShell 是一款广泛使用的终端模拟器软件,主要用于通过 SSH(Secure Shell)协议连接到远程服务器。以下是 XShell 的一些主要特点:

  • 多标签界面:支持在一个窗口中打开多个会话标签,方便同时管理多个服务器。
  • 高度可配置:用户可以根据个人喜好自定义界面的颜色方案、字体大小等。
  • 安全性:支持多种认证方式(如密码、公钥认证等),以保障连接的安全性。
  • 脚本支持:可以运行脚本文件,实现自动化任务处理。
  • 会话管理:能够保存会话设置,以便快速重新连接到之前的服务器。
  • 键盘映射:支持自定义键盘快捷键,提高工作效率。
  • 宏录制与回放:可以录制一系列命令作为宏,之后轻松回放。
  • 强大的搜索功能:包括正则表达式搜索,帮助快速查找历史记录中的命令。
  • 网络稳定性和性能:即使在网络条件不佳的情况下也能保持稳定的连接。

XShell 被广泛应用于 IT 专业人员、系统管理员以及开发者中,因为它不仅提供了高效的远程管理能力,而且其界面友好且功能丰富。

1. 2 下载和安装

1.2.1 下载

下载地址:https://www.xshell.com/zh/xshell-download/

点击下载地址,进入如下页面后,找到家庭和学校用户的免费许可证,点击免费授权页面。

点击XSHELL下面的下载。

1.2.2 安装

下载完成后,双击下载好的.exe文件。

点击下一步。

选择我接受许可证协议中的条款,点击下一步。

点击浏览选择安装目录,点击下一步。

点击安装。

点击完成。

1.3 注册与使用

点击完成后会出现如下页面,数据姓名和邮箱,点击提交。

提交之后在下一个页面点击确定,然后到邮箱中找到Xshell发的邮件,点击邮件中的地址。

点击邮件中的地址,出现如下页面即注册完成。

双击桌面的XShell7快捷方式,进入XShell7后,点击新建-->连接,输入自定义的名称、选择SSH协议、输入主机ip地址和端口号。

点击用户身份验证,选择方法为Password,输入用户名和密码,点击确定。

确定之后出现下面的页面则连接成功,或者双击所有会话下对应的自定义名称后出现下面的页面则连接成功。

2. FinalShell

2.1 简介

FinalShell 是一款功能全面的 SSH 客户端和终端模拟器,它主要用于远程管理和控制服务器。FinalShell 提供了丰富的特性和工具,使其成为 IT 专业人士、系统管理员和开发者的常用工具之一。以下是 FinalShell 的一些主要特点:

主要特点

  • 集成的文件传输:内置 SFTP 浏览器,可以直接在本地和远程服务器之间传输文件。
  • 多标签会话:支持在一个窗口中打开多个会话标签,方便同时管理多个服务器。
  • 高度可配置:用户可以根据自己的需求定制界面颜色、字体大小等。
  • 安全性:支持多种认证方式(如密码、公钥认证等),以确保连接的安全性。
  • 脚本编辑器:提供了一个功能丰富的脚本编辑器,支持语法高亮等功能。
  • 网络工具:内置了一些常用的网络工具,例如 ping、traceroute 等,方便进行网络诊断。
  • 云平台支持:集成了对主流云服务提供商的支持,如阿里云、腾讯云等,可以直接从云平台启动会话。
  • 终端复用:支持在一个窗口内创建多个终端会话,便于同时操作多个环境。
  • 会话管理:能够保存会话设置,方便快速重新连接到之前的服务器。
  • 自动化脚本:支持自动化脚本的编写和执行,提高工作效率。

FinalShell 的设计旨在提供一个高效、便捷的远程管理解决方案,适用于各种规模的企业和个人用户。

2.2 下载和安装

2.2.1 下载

下载地址:http://www.hostbuf.com/downloads/finalshell_windows_x64.exe

点击下载地址后就会开始下载,等待下载完成。

2.2.2 安装

下载完成后,双击下载好的.exe文件。

点击我接受。

点击下一步。

点击浏览选择安装目录,点击安装。

等待安装完成后点击关闭。

2.3 使用

安装完成之后会自动运行FinalShell,或者双击桌面快捷方式运行FinalShell。

运行之后根据下图进行SSH连接。

输入自定义名称、主机ip地址、端口号,选择认证方法为密码,输入用户名和密码,点击确定。

双击新建的SSH连接。

出现如下页面则连接成功。

五、防火墙命令

为了后面操作方便,我们可以关闭防火墙。但是在实际应用中不推荐,在实际应用中需要开放指定端口。

1. 查看防火墙状态

shell 复制代码
systemctl status firewalld

2. 关闭防火墙

shell 复制代码
systemctl stop firewalld

3. 禁用防火墙

shell 复制代码
systemctl disable firewalld

4 启用防火墙

shell 复制代码
systemctl start firewalld

5. 查看防火墙状态

shell 复制代码
firewall-cmd --state

6. 开放指定端口

shell 复制代码
firewall-cmd --zone=public --add-port=8080/tcp --permanent

7. 关闭指定端口

shell 复制代码
firewall-cmd --zone=public --remove-port=8080/tcp --permanent

8. 重新加载防火墙配置

shell 复制代码
firewall-cmd --reload

9. 查看开放的端口

shell 复制代码
firewall-cmd --zone=public --list-ports

六、配置集群免密登录

1. 克隆并配置hadoop2和hadoop3

根据上面的虚拟机克隆教程,克隆出虚拟机hadoop2和虚拟机hadoop3。

修改hadoop2的主机名为hadoop2,并重新生成/etc/sysconfig/network-scripts/ifcfg-ens33文件中的uuid。

shell 复制代码
hostnamectl set-hostname hadoop2
sed -i 's/^UUID=.*/UUID='`uuidgen`'/' /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network

修改hadoop3的主机名为hadoop3,并重新生成/etc/sysconfig/network-scripts/ifcfg-ens33文件中的uuid。

shell 复制代码
hostnamectl set-hostname hadoop3
sed -i 's/^UUID=.*/UUID='`uuidgen`'/' /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network

2.配置SSH免密登录

2.1 生成密匙

shell 复制代码
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  • ssh-keygen: 用于生成 SSH 密钥对的命令。
  • -t rsa: 指定要生成的密钥类型为 RSA。
  • -P '': 指定不使用密码保护私钥。
  • -f ~/.ssh/id_rsa : 指定私钥文件的名称和位置,默认私钥文件名为 id_rsa 并存储在 ~/.ssh/ 目录下。

id_rsa时私匙文件,id_rsa.pub是公匙文件。

2.2 在已知密码的情况下配置

在已知密码的情况下配置hadoop1免密登录hadoop1、hadoop2和hadoop3。

在已知密码的情况下配置hadoop2免密登录hadoop1、hadoop2和hadoop3。

在已知密码的情况下配置hadoop3免密登录hadoop1、hadoop2和hadoop3。

分别在hadoop1、hadoop2和hadoop3执行如下命令。

shell 复制代码
ssh-copy-id hadoop1
ssh-copy-id hadoop2
ssh-copy-id hadoop3

root用户执行ssh-copy-id命令的原理是复制公匙文件~/.ssh/id_rsa.pub中的内容复制到指定主机下的~/.ssh/authorized_keys文件中。

2.3 在不知密码的情况下配置

配置hadoop1免密登录hadoop1

shell 复制代码
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

配置hadoop1免密登录hadoop2和hadoop3

复制hadoop1公匙文件~/.ssh/id_rsa.pub中的内容复制到hadoop2和hadoop3的~/.ssh/authorized_keys文件中

相关推荐
良许Linux11 分钟前
0.96寸OLED显示屏详解
linux·服务器·后端·互联网
蜜獾云22 分钟前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
小屁不止是运维23 分钟前
麒麟操作系统服务架构保姆级教程(五)NGINX中间件详解
linux·运维·服务器·nginx·中间件·架构
bitcsljl36 分钟前
Linux 命令行快捷键
linux·运维·服务器
ac.char39 分钟前
在 Ubuntu 下使用 Tauri 打包 EXE 应用
linux·运维·ubuntu
Cachel wood1 小时前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Youkiup1 小时前
【linux 常用命令】
linux·运维·服务器
qq_297504611 小时前
【解决】Linux更新系统内核后Nvidia-smi has failed...
linux·运维·服务器
weixin_437398211 小时前
Linux扩展——shell编程
linux·运维·服务器·bash
小燚~1 小时前
ubuntu开机进入initramfs状态
linux·运维·ubuntu