再进行服务安装之前,请先参考该文档。其中 用户创建 这部分是必须要做的。
使用配置文件
# vi /etc/sysconfig/network-scripts/ifcfg-ens32
DEVICE="ens33"
BOOTPROTO="static"
ONBOOT="yes"
IPADDR="192.168.1.131"
PREFIX="24"
GATEWAY="192.168.1.1"
DNS1="114.114.114.114"
# systemctl restart network
使用nmcli命令
还未配置网络的情况,配置ens37网卡
nmcli device
nmcli connection show
nmcli connection add \
type ethernet ipv4.method manual \
connection.autoconnect yes \
ifname ens37 con-name ens37 \
ipv4.addresses 10.14.0.100/24 \
ipv4.gateway 10.14.0.1 \
ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection up ens37
nmcli connection show
ip addr
已经配置了网络,需要修改的情况
nmcli connection modify ens37 ipv4.method manual
nmcli connection modify ens37 connection.autoconnect yes
nmcli connection modify ens37 ipv4.addresses 10.14.0.101/24
nmcli connection modify ens37 ipv4.gateway 10.14.0.254
nmcli connection modify ens37 ipv4.dns "1.1.1.1 1.0.0.1"
nmcli connection up ens37
nmcli connection show
ip addr
每个节点修改相应的主机名
hostnamectl set-hostname bigdata01.ateng.local
cat >> /etc/hosts <<EOF
## BigData Cluster Hosts
192.168.1.131 bigdata01 bigdata01.ateng.local
192.168.1.132 bigdata02 bigdata02.ateng.local
192.168.1.133 bigdata03 bigdata03.ateng.local
## BigData Cluster Hosts
EOF
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i "s/SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
不解析IP地址
sed -i -e 's/#UseDNS yes/UseDNS no/g' \
-e 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' \
/etc/ssh/sshd_config
取消主机公钥确认
sed -i 's/# StrictHostKeyChecking ask/ StrictHostKeyChecking no/g' /etc/ssh/ssh_config
重启服务
systemctl restart sshd
生成秘钥
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa -C "2385569970@qq.com"
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
将秘钥分发到其他节点
scp -r ~/.ssh bigdata01:~
scp -r ~/.ssh bigdata02:~
scp -r ~/.ssh bigdata03:~
timedatectl set-timezone Asia/Shanghai
clock -w
timedatectl set-local-rtc 1
sed -i "/^server/d" /etc/chrony.conf
sed -i "3i server ntp.aliyun.com iburst" /etc/chrony.conf
systemctl restart chronyd
chronyc sources
parted /dev/sdb mklabel gpt
parted /dev/sdb mkpart part1 0% 20%
parted /dev/sdb mkpart part2 20% 100%
partprobe /dev/sdb
lsblk /dev/sdb
yum install lvm2 -y
pvcreate -f /dev/sdb
vgcreate volumes /dev/sdb
lvcreate -l 100%FREE -n data volumes
格式化并挂载
mkfs.xfs -f /dev/volumes/data
mount /dev/volumes/data /mnt
df -hT /mnt
开机自动挂载
cat >> /etc/fstab <<EOF
/dev/volumes/data /mnt xfs defaults,nofail 0 0
EOF
cat >> /etc/sysctl.d/99-service.conf <<EOF
vm.max_map_count = 2621440
fs.file-max = 655360
vm.swappiness = 0
EOF
sysctl -f /etc/sysctl.d/99-service.conf
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
swapoff -a && sysctl -w vm.swappiness=0
sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab
设置 limits.conf
cat > /etc/security/limits.d/99-service.conf <<EOF
admin soft nofile 655360
admin hard nofile 655360
admin soft nproc 163840
admin hard nproc 163840
admin soft core 0
admin hard core 0
EOF
设置 system.conf
修改 system.conf 后需要重启系统
cat >> /etc/systemd/system.conf <<EOF
[Manager]
DefaultLimitNOFILE=655360
DefaultLimitNPROC=163840
DefaultLimitCORE=0
EOF
journald 是 systemd 管理的系统日志服务,用于收集、存储和管理系统的日志信息。它负责记录系统的各种事件、错误和消息,以便系统管理员进行故障排除和监控。
mkdir -p /var/log/journal /etc/systemd/journald.conf.d
cat << EOF > /etc/systemd/journald.conf.d/99-prophet.conf
[Journal]
Storage=persistent
Compress=yes
SyncIntervalSec=5m
RateLimitInterval=30s
RateLimitBurst=10000
SystemMaxUse=10G
SystemMaxFileSize=500M
MaxRetentionSec=100d
ForwardToSyslog=no
EOF
systemctl restart systemd-journald
配置说明
- Storage=persistent: 将日志持久化保存到磁盘。
- Compress=yes: 启用日志压缩功能。
- SyncIntervalSec=5m: 日志同步到磁盘的间隔时间为 5 分钟。
- RateLimitInterval=30s: 日志速率限制的时间间隔为 30 秒。
- RateLimitBurst=10000: 在 RateLimitInterval 时间内最多记录 10000 条日志。
- SystemMaxUse=10G: 限制日志的最大磁盘占用为 10 GB。
- SystemMaxFileSize=500M: 单个日志文件的最大大小为 500 MB。
- MaxRetentionSec=100d: 日志的保留时间为 100 天。
- ForwardToSyslog=no: 不将日志转发到 syslog。
groupadd -g 1001 ateng
useradd -u 1001 -g ateng -m -s /bin/bash admin
echo Admin@123 | passwd --stdin admin
mkdir -p /usr/local/software /data/service
chown admin:ateng /usr/local/software /data/service
chmod 755 /data
用户 "admin" 可以以任何用户身份,在任何主机上执行任何命令,并且在执行 sudo 命令时无需输入密码
echo "admin ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/ateng-admin
chmod 440 /etc/sudoers.d/ateng-admin
sudo yum -y install net-tools rsync tar bash-completion
source /usr/share/bash-completion/bash_completion