前言
该文档适用于centos7.9版本
该文档提出的centos7基础设置的方案是为个人centos7的搭建做测试服务的,仅供参考。
具体情况具体分析,分而治之
一、基本四项配置(基础环境必备)
1. 修改主机名(临时 + 永久生效)
(1)备份配置文件
cp /etc/hostname /etc/hostname.bak(2)先临时修改(即时生效,重启失效)
# 替换为自定义主机名(如hadoop101) hostname 主机名 # 进入子shell立即查看效果 bash(3)再永久修改(重启后仍生效)
# 覆盖写入主机名到配置文件 echo "主机名" > /etc/hostname2. 配置静态 IP(集群环境核心)
(1)备份网卡配置文件
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak(2)修改配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33核心修改内容(参考模板):
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no # 注释原有DHCP,改为静态IP # BOOTPROTO=dhcp BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 # 克隆机器时需注释UUID,避免冲突 # UUID=85cd7743-4818-4fe0-8dad-9bb24db7afcf DEVICE=ens33 # 开机自动激活网卡 ONBOOT=yes # 自定义静态IP(根据自身网段调整) IPADDR=192.168.2.101 # 网关(与路由器/网关地址一致) GATEWAY=192.168.2.2 # 子网掩码 NETMASK=255.255.255.0 # DNS服务器(阿里+国内通用) DNS1=223.5.5.5 DNS2=114.114.114.114关键说明:
- 核心修改:
BOOTPROTO=static(启用静态 IP)+IPADDR(自定义 IP) - 克隆服务器时必须注释
UUID,否则会导致网卡冲突
(3)重启网络生效
systemctl restart network注意:修改 IP 后 SSH 远程连接会断开,需使用新 IP 重新连接
(4)验证配置
# 方式1:ifconfig命令 ifconfig # 方式2:ip命令(推荐) ip addr能看到配置的静态 IP 即生效
3. 配置 IP - 主机名映射(集群互通必备)
(1)备份 hosts 文件
cp /etc/hosts /etc/hosts.bak(2)修改映射关系
vim /etc/hosts添加内容(格式:IP 空格 主机名):如下面所示,仅供参考
# 系统原有内容(保留) 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 # 自定义集群节点映射(根据实际IP和主机名调整) 192.168.2.101 hadoop101 192.168.2.102 hadoop102 192.168.2.103 hadoop103 192.168.2.104 hadoop104 192.168.2.105 hadoop105 192.168.2.106 hadoop106 192.168.2.107 hadoop107(3)验证映射
# ping主机名,能通即生效 ping hadoop101预期输出:
PING hadoop101 (192.168.2.101) 56(84) bytes of data. 64 bytes from hadoop101 (192.168.2.101): icmp_seq=1 ttl=64 time=0.061 ms 64 bytes from hadoop101 (192.168.2.101): icmp_seq=2 ttl=64 time=0.061 ms4. 关闭防火墙(测试环境必备)
(1)临时关闭防火墙
systemctl stop firewalld(2)禁止防火墙开机自启
systemctl disable firewalld(3)验证状态
systemctl status firewalld成功标识:
firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) # 显示inactive(dead)即为关闭成功 Docs: man:firewalld(1)二、高级四项优化(服务器性能 + 安全性)
1. 关闭 SELinux(避免权限拦截)
(1)备份配置文件
cp /etc/selinux/config /etc/selinux/config.bak(2)先临时关闭(即时生效)
setenforce 0(3)再永久关闭(重启后生效)
# 替换配置文件中的SELinux状态 sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config(4)验证状态
getenforce输出
Disabled即为成功
2. 关闭图形化界面(节省服务器资源)
(1)先临时切换到多用户模式(无图形化界面)
systemctl isolate multi-user.target(2)再永久设置为多用户模式(无图像化界面)
systemctl set-default multi-user.target(3)验证设置
systemctl get-default输出
multi-user.target即为成功
3. sudo 普通用户提权(免密执行 root 命令)
(1)备份 sudoers 文件
cp /etc/sudoers /etc/sudoers.bak(2)修改提权配置
# 编辑sudoers文件(必须用visudo或vim,避免语法错误) vim /etc/sudoers在 111 行附近添加(替换为实际用户名):
4. 设置最大连接数(支持高并发)
(1)备份配置文件
cp /etc/security/limits.conf /etc/security/limits.conf.bak(2)修改连接数限制
vim /etc/security/limits.conf在文件末尾添加:
# 最大文件打开数(软限制) * soft nofile 65535 # 最大文件打开数(硬限制) * hard nofile 1028576 # 最大进程数(软限制) * soft nproc 65535 # 最大进程数(硬限制) * hard nproc unlimited # 最大锁定内存(软限制) * soft memlock unlimited # 最大锁定内存(硬限制) * hard memlock unlimited(3)验证配置
ulimit -a关键验证项:
open files (-n) 65535 # 显示65535即为成功 max user processes (-u) unlimited max locked memory (kbytes, -l) unlimited三、规范四项(标准化 + 便捷性)
1. 设置终端变色(区分用户 / 主机名 / 路径)
(1)创建并修改环境变量文件
vim /etc/profile.d/env.sh添加内容:
# 终端提示符格式:[用户名@主机名 路径]$ export PS1='[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \W\[\e[0m\]]\$ '说明:无需备份,
env.sh为新建文件
(2)刷新立即生效
source /etc/profile效果展示:
用户名蓝色、主机名绿色、路径红色,清晰区分
2. 创建标准目录(统一软件安装路径)
(1)创建模块安装目录(存放解压后的软件)
mkdir -p /opt/module(2)创建软件包目录(存放安装包)
mkdir -p /opt/software目录说明:
/opt为 Linux 系统默认目录,用于存放第三方应用程序- 统一路径便于后续管理(如 Hadoop、Spark 等软件统一安装到
/opt/module)
3. 修改 yum 缓存路径(避免占用系统盘)
(1)创建 yum 缓存目录
mkdir /opt/software/base_yum(2)备份 yum 配置文件
cp /etc/yum.conf /etc/yum.conf.bak(3)修改缓存路径
vim /etc/yum.conf核心修改:
[main] # 注释原有缓存路径,替换为自定义路径 # cachedir=/var/cache/yum/$basearch/$releasever cachedir=/opt/software/base_yum keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=5 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum distroverpkg=centos-release4. 配置 yum 源(替换为国内镜像,提速)
(1)安装 epel 源(扩展软件库)
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo若下载失败,可使用离线包替换
(2)替换 CentOS-Base 源为阿里源
# 备份原有源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup # 下载阿里源 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo若下载失败,可使用离线包替换
(3)安装常用工具(一次性补齐必备软件)
yum install -y vim tree wget bash-completion bash-completion-extras lrzsz net-tools sysstat iotop iftop htop unzip nc nmap telnet bc psmisc httpd-tools bind-utils nethogs expect sshpass四、可选卸载(根据需求清理冗余)
1. 卸载 mariadb(避免与 MySQL 冲突)
(1)卸载命令
rpm -qa | grep -i mariadb | xargs -r rpm -e --nodeps(2)验证卸载
rpm -qa | grep -i mariadb无任何输出即为卸载成功
2. 卸载系统自带 JDK(保留基础 java 环境)
(1)卸载命令
rpm -qa | grep -i java | grep -i jdk | xargs -r rpm -e --nodeps(2)验证卸载
rpm -qa | grep -i java | grep -i jdk无任何输出即为卸载成功
注意事项
- 本文适用于 CentOS7.x 系列(如 7.9),其他版本(如 CentOS8)需调整部分命令;
- 所有操作建议在测试环境验证后,再应用到生产环境;
- 若涉及集群配置,需在所有节点执行相同的基础配置(主机名、IP、映射除外,需单独设置);
- 备份文件建议保留一段时间,以便配置出错时回滚。
总结
本文覆盖了 CentOS7 服务器从基础初始化到高级优化的全流程,遵循「备份 - 修改 - 验证」的规范流程,兼顾实用性和标准化。无论是个人测试环境搭建,还是集群节点初始化,都能直接参考使用。如果在操作过程中遇到问题,可通过验证步骤逐步排查,或留言交流~