1、什么是集群春贸?
簡單地說混萝,集群就是一堆機器做同一件事,
例如:www.jd.com提供賣東西服務(wù)這就是一件事祥诽,可能是幾千臺服務(wù)器譬圣,在背后運轉(zhuǎn)支撐這個網(wǎng)站。
?????www.baidu.com看著就是一個搜索框雄坪,背后可能是上萬臺服務(wù)器厘熟。
2、為什么企業(yè)要用集群维哈?
??a.7*24服務(wù)绳姨,需要多臺機器同時工作,互為實時備份阔挠。
?? b.高并發(fā)訪問飘庄,需要多臺服務(wù)器同時提供服務(wù)。
3.集群特點
? a.數(shù)據(jù)量大购撼、用戶多
?b.7*24持續(xù)服務(wù)
? c.高并發(fā)
? d.用戶分布廣泛跪削,網(wǎng)絡(luò)情況復雜
4.形象描述集群
5基礎(chǔ)優(yōu)化
第一步規(guī)范目錄
mkdir -p /server/tools?? 文本
mkdir -p /server/scripts? 放腳本的
第二步
配置所有主機域名解析
cat >/etc/hosts<
127.0.0.1???localhost localhost.localdomain localhost4 localhost4.localdomain4
::1?????????localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.9 web03
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.51 db01 db01.etiantian.org
172.16.1.61 m01
EOF
第三步
第一個:就近使用yum源地址谴仙,安裝軟件更快。
curl?-s?-o?/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
第二個:安裝RHEL/CentOS官方源不提供的軟件包
curl?-s?-o?/etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-7.repo
第四步安全優(yōu)化
# 1碾盐、關(guān)閉selinux
sed -i 's#SELINUX=.*#SELINUX=disabled#g'/etc/selinux/config
sed -i's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0??? 臨時關(guān)閉selinux
getenforce???? 查看selinux
#2關(guān)閉防火墻???????????????
systemctl?stop?firewalld??? 關(guān)閉
systemctl?disable?firewalld??
禁止開機自啟
???????????? status????? 查看關(guān)閉狀態(tài)
第五步晃跺、設(shè)置普通用提權(quán)操作
#?提權(quán)oldboy可以利用sudo
useradd?oldboy
echo?123456|passwd?--stdin?oldboy
\cp?/etc/sudoers?/etc/sudoers.ori
echo?"oldboy??ALL=(ALL)?NOPASSWD:?ALL?"?>>/etc/sudoers
tail?-1?/etc/sudoers
visudo?-c
第六步#?設(shè)置系統(tǒng)中文UTF8字符集(防止中文漢字亂碼)
[root@oldboyedu?~]#?cat?/etc/locale.conf
LANG="en_US.UTF-8"
修改命令如下:
cp?/etc/locale.conf??/etc/locale.conf.ori
echo?'LANG="zh_CN.UTF-8"'?>/etc/locale.conf
source?/etc/locale.conf
echo?$LANG
第二種修改
cp /etc/locale.conf? /etc/locale.conf.ori
localectl set-localeLANG="zh_CN.UTF-8"
cat /etc/locale.conf
第七步設(shè)置時間同步
#1yum install ntpdate -y
/usr/sbin/ntpdate ntp3.aliyun.com
#2 echo '#crond-id-001:time sync by oldboy'>>/var/spool/cron/root
echo "*/5 * * * * /usr/sbin/ntpdatentp3.aliyun.com >/dev/null 2>&1">>/var/spool/cron/root
crontab -l
第八步
history 查看使用命令過的歷史記錄??-c清空歷史記錄
????????????????????????????????? -d指定數(shù)字清楚
8.基礎(chǔ)優(yōu)化操作項:提升命令行操作安全性(可選優(yōu)化)
# 提升命令行安全(可選配置)
echo 'export TMOUT=300'>>/etc/profile???? 設(shè)置會話超時300秒
echo 'export HISTSIZE=5'>>/etc/profile?????? 歷史記錄保留5個
echo 'export HISTFILESIZE=5'>>/etc/profile???? 歷史記錄目錄保留5個
tail -3 /etc/profile
. /etc/profile
第九步:基礎(chǔ)優(yōu)化操作項,加大文件描述符
ulimit???-n
.基礎(chǔ)優(yōu)化操作項:加大文件描述符
# 實例演示:加大文件描述
echo '*?????????????? -?????? nofile????????? 65535 '>>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
ulimit -SHn?? 65535
ulimit -n??????????? #<==命令方式查看配置結(jié)果
第十步:優(yōu)化內(nèi)核
cat >>/etc/sysctl.conf<
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000??? 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
#以下參數(shù)是對iptables防火墻的優(yōu)化毫玖,防火墻不開會提示掀虎,可以忽略不理。
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established= 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait= 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait= 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait= 120
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
EOF
sysctl -p
第十一步
基礎(chǔ)優(yōu)化操作項:安裝系統(tǒng)常用軟件
CentOS6
和CentOS7都要安裝的企業(yè)運維常用基礎(chǔ)工具包
yum?install?tree?nmap?dos2unix?lrzsz?nc?lsof?wget?tcpdump?htop?iftop?iotop?sysstat?nethogs?-y
CentOS7
要安裝的企業(yè)運維常用基礎(chǔ)工具包
yum?install?psmisc?net-tools?bash-completion?vim-enhanced?-y
第十二步.基礎(chǔ)優(yōu)化操作項:優(yōu)化SSH遠程連接效率
禁止root遠程連接
修改默認22端口付枫,改為52113
監(jiān)聽內(nèi)網(wǎng)服務(wù)器IP
第十三步擴展優(yōu)化操作項-修改yum.conf文件配置信息
保留yum安裝的軟件包
將/etc/yum.conf中的keepcache=0改為keepcache=1烹玉,為日后一鍵安裝網(wǎng)站集群留好rpm及依賴工具包。
第十四步. 鎖定關(guān)鍵系統(tǒng)文件如/etc/passwd阐滩、/etc/shadow二打、/etc/group、/etc/gshadow叶眉、/etc/inittab址儒,處理以上內(nèi)容后把chattr、lsattr改名為oldboy衅疙,轉(zhuǎn)移走莲趣,這樣就安全多了。
第十五步. 清空/etc/issue饱溢、/etc/issue.net喧伞,去除系統(tǒng)及內(nèi)核版本登錄前的屏幕顯示。
第十六步.? 清除多余的系統(tǒng)虛擬用戶賬號绩郎。
第十七步.? 為grub引導菜單加密碼(自學)潘鲫。
第十八步.? 禁止主機被ping(內(nèi)核參數(shù))。
第十九步.打補丁并升級有已知漏洞的軟件
?? yum? update
第二十步.精簡開機自啟動服務(wù)
systemctl list-unit-files |grepenable|egrep -v "sshd.service|crond.service|sysstat|rsyslog|^NetworkManager.service|irqbalance.service"|awk'{print "systemctl disable",$1}'|bash
systemctl list-unit-files |grep enable
保留服務(wù):
sshd|crond|sysstat|rsyslog|NetworkManager|irqbalance