# 编辑/etc/sysctl.conf
sudo nano /etc/sysctl.conf
# 添加或修改以下参数
vm.swappiness = 10
vm.overcommit_memory = 1
net.core.somaxconn = 4096
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_fin_timeout = 30
fs.file-max = 1000000
fs.aio-max-nr = 1048576
# 使配置生效
sudo sysctl -p
# 编辑/etc/security/limits.conf
sudo nano /etc/security/limits.conf
# 添加以下内容
* soft nofile 1000000
* hard nofile 1000000
* soft nproc 32768
* hard nproc 32768
* soft memlock unlimited
* hard memlock unlimited
# 编辑/etc/rc.local
sudo nano /etc/rc.local
# 在exit 0前添加
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
# 使脚本可执行并立即执行
sudo chmod +x /etc/rc.local
sudo /etc/rc.local
# 编辑/etc/sysctl.conf
sudo nano /etc/sysctl.conf
# 添加网络相关参数
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_max_tw_buckets = 600000
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.core.netdev_max_backlog = 50000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.ip_local_port_range = 1024 65535
# 使配置生效
sudo sysctl -p
# 开放分布式数据库常用端口
sudo ufw allow 2379/tcp # etcd
sudo ufw allow 2380/tcp
sudo ufw allow 5432/tcp # PostgreSQL
sudo ufw allow 27017/tcp # MongoDB
sudo ufw allow 9042/tcp # Cassandra
sudo ufw allow 2181/tcp # ZooKeeper
sudo ufw allow 9092/tcp # Kafka
sudo ufw allow 3306/tcp # MySQL
推荐使用XFS或ext4文件系统:
# 查看当前文件系统
df -Th
# 如果是新分区,建议格式化为XFS
sudo mkfs.xfs /dev/sdX
# 编辑/etc/fstab
sudo nano /etc/fstab
# 添加noatime,nodiratime选项
/dev/sdX /data xfs defaults,noatime,nodiratime,nobarrier 0 0
# 查看当前调度器
cat /sys/block/sdX/queue/scheduler
# 设置为deadline或noop
echo deadline > /sys/block/sdX/queue/scheduler
# 永久设置
sudo nano /etc/rc.local
echo deadline > /sys/block/sdX/queue/scheduler
sudo apt update
sudo apt install -y openjdk-11-jdk
# 设置JAVA_HOME
echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" >> ~/.bashrc
source ~/.bashrc
sudo apt install -y python3 python3-pip python3-venv
# 安装Docker
sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker
# 将当前用户加入docker组
sudo usermod -aG docker $USER
newgrp docker
sudo apt install -y htop iotop iftop nmon sysstat dstat
sudo apt install -y net-tools traceroute tcpdump nmap
sudo apt install -y logrotate
sudo apt install -y chrony
sudo systemctl enable --now chronyd
# 检查同步状态
chronyc sources -v
chronyc tracking
sudo nano /etc/ssh/sshd_config
# 修改以下参数
PermitRootLogin no
PasswordAuthentication no
X11Forwarding no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
# 重启SSH服务
sudo systemctl restart sshd
# 设置自动安全更新
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
# 创建专用用户和目录
sudo useradd --system --no-create-home --shell /bin/false mongodb
sudo mkdir -p /data/db
sudo chown -R mongodb:mongodb /data/db
# 编辑limits.conf增加mongodb用户限制
mongodb soft nofile 64000
mongodb hard nofile 64000
mongodb soft nproc 64000
mongodb hard nproc 64000
# 创建专用用户和目录
sudo sh -c 'echo "postgresql - nofile 65536" >> /etc/security/limits.conf'
sudo mkdir -p /var/lib/postgresql/data
sudo chown postgres:postgres /var/lib/postgresql/data
# 安装常用基准测试工具
sudo apt install -y sysbench fio iperf3
以上配置为通用性建议,具体参数应根据实际硬件配置、数据库类型和业务需求进行调整。在正式环境部署前,建议在测试环境中验证这些配置的适用性。