2019-04-12-day31中小規(guī)模集群架構(gòu)

第1章 中小規(guī)模集群架構(gòu)

1.1 什么是集群

??集群就是一組相互獨(dú)立的計(jì)算機(jī),通過(guò)高速的網(wǎng)絡(luò)組成一個(gè)計(jì)算機(jī)系統(tǒng)衬吆,每個(gè)集群節(jié)點(diǎn)都是運(yùn)行其自己進(jìn)程的一個(gè)獨(dú)立服務(wù)器梁钾。簡(jiǎn)單的說(shuō),集群就是很多設(shè)備做同一件事逊抡。
例如:
京東提供賣東西服務(wù)這就是一件事姆泻,可能是幾千臺(tái)服務(wù)器,在背后運(yùn)轉(zhuǎn)支撐這個(gè)網(wǎng)站冒嫡。
百度搜索頁(yè)面看著就是一個(gè)搜索框拇勃,背后可能是上萬(wàn)臺(tái)服務(wù)器。

1.2 為什么企業(yè)要用集群

  1. 讓業(yè)務(wù)7*24小時(shí)服務(wù)孝凌,需要多臺(tái)機(jī)器同時(shí)工作方咆,互為實(shí)時(shí)備份。
  2. 高并發(fā)的訪問(wèn)胎许,需要多臺(tái)服務(wù)器同時(shí)提供服務(wù)峻呛。

1.3 集群特點(diǎn)

  1. 數(shù)據(jù)量大罗售、用戶多
  2. 7*24持續(xù)服務(wù)
  3. 高并發(fā)
  4. 用戶分布廣泛,網(wǎng)絡(luò)情況復(fù)雜

1.4 圖形化描述集群

中小規(guī)模集群架構(gòu)圖

1.5 集群基礎(chǔ)優(yōu)化

1.5.1 規(guī)范目錄

規(guī)范文件的存放目錄钩述,也就是說(shuō)不同功能的文件放在不同的目錄寨躁。

mkdir -p /server/tools
mkdir -p /server/scripts

服務(wù)器目錄結(jié)構(gòu)規(guī)劃圖

目錄說(shuō)明 目錄結(jié)構(gòu)說(shuō)明
/server/scripts 服務(wù)器本地存放腳本程序的目錄
/server/tools 服務(wù)器本地存放軟件安裝包的目錄
/application/軟件名 服務(wù)器本地安裝的根目錄,軟件名不帶版本號(hào),例如:
/application/nginx,/application/mysql
/application/nfinx/html Web服務(wù)器站點(diǎn)目錄(bbs,blog,www,edu)
/application/nginx/logs Web服務(wù)器日志{bbs|blog|www}_access.log
/backup 服務(wù)器本地?cái)?shù)據(jù)備份目錄牙勘,也是備份服務(wù)器Rsync的備份目錄
/data NFS共享存儲(chǔ)共享文件目錄

1.5.2 配置所有主機(jī)域名解析

將集群中要用到的所有IP和域名放入本地的DNS文件中职恳。

cat >/etc/hosts<<EOF   <===將域名信息寫(xiě)入/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

cat /etc/hosts   <===查看文件內(nèi)容
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

ping lb01   <===驗(yàn)證結(jié)果,有返回IP就說(shuō)明沒(méi)問(wèn)題
PING lb01 (172.16.1.5) 56(84) bytes of data.

1.5.3 基礎(chǔ)優(yōu)化操作項(xiàng):更新yum源信息

第一個(gè):就近使用yum源地址方面,安裝軟件更快放钦。

curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

第二個(gè):安裝RHEL/CentOS官方源不提供的軟件包

curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

1.5.4 安全優(yōu)化

1.5.4.1關(guān)閉selinux

方法1:
sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config
方法2:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
方法3:
setenforce 0
查看更改結(jié)果:
grep SELINUX=disabled /etc/selinux/config 
getenforce

1.5.4.2關(guān)閉firewalld防火墻服務(wù)

systemctl stop firewalld        <===關(guān)閉防火墻服務(wù)
systemctl disable firewalld     <===關(guān)閉防火墻開(kāi)機(jī)自啟動(dòng)
systemctl status firewalld      <===檢查防火墻狀態(tài)

1.5.5 基礎(chǔ)優(yōu)化操作項(xiàng):設(shè)置普通用戶提權(quán)操作(可選優(yōu)化)

提權(quán)oldboy可以利用sudo

useradd oldboy                         <===創(chuàng)建用戶oldboy
echo 123456|passwd --stdin oldboy      <===修改密碼
\cp /etc/sudoers /etc/sudoers.ori      <===拷貝文件
echo "oldboy ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers <===將提權(quán)信息添加到文件中
tail -1 /etc/sudoers    <===檢查添加的信息
visudo -c               <===檢查語(yǔ)法

1.5.6 設(shè)置系統(tǒng)中文UTF8字符集

[root@oldboy ~]$ cat /etc/locale.conf  <===查看原來(lái)字符集
LANG="en_US.UTF-8"                        <===為英文字符集
修改命令如下:
CentOS 6操作方法:
cp /etc/locale.conf  /etc/locale.conf.ori      
echo 'LANG="zh_CN.UTF-8"' >/etc/locale.conf  
source /etc/locale.conf     <===執(zhí)行文件中的所有語(yǔ)句
echo $LANG
CentOS 7操作方法:
cp /etc/locale.conf  /etc/locale.conf.ori
localectl set-locale LANG="zh_CN.UTF-8"
cat /etc/locale.conf 

1.5.7 基礎(chǔ)優(yōu)化操作項(xiàng):時(shí)間同步設(shè)置

設(shè)置系統(tǒng)時(shí)間同步

yum install ntpdate -y               <===安裝時(shí)間同步命令
/usr/sbin/ntpdate ntp3.aliyun.com
創(chuàng)建并執(zhí)行定時(shí)任務(wù):
echo '#crond-id-001:time sync by oldboy' >>/var/spool/cron/root
echo "*/5 * * * * /usr/sbin/ntpdate ntp3.aliyun.com >/dev/null 2>&1">>/var/spool/cron/root
crontab -l

1.5.8 基礎(chǔ)優(yōu)化操作項(xiàng):提升命令行操作安全性(可選優(yōu)化)

提升命令行安全(可選配置)

echo 'export TMOUT=300' >>/etc/profile       <===遠(yuǎn)程連接命令行300秒未操作自動(dòng)斷開(kāi)
echo 'export HISTSIZE=5' >>/etc/profile      <===歷史記錄只保留5條
echo 'export HISTFILESIZE=5' >>/etc/profile  <===歷史記錄文件只保留5條
tail -3 /etc/profile
. /etc/profile      <===查看更改效果

1.5.9 基礎(chǔ)優(yōu)化操作項(xiàng):加大文件描述符

實(shí)例演示:加大文件描述

echo '*         -       nofile        65535 ' >>/etc/security/limits.conf 
tail -1 /etc/security/limits.conf
ulimit -SHn   65535 
ulimit -n       <==命令方式查看配置結(jié)果

1.5.10 基礎(chǔ)優(yōu)化操作項(xiàng):優(yōu)化系統(tǒng)內(nèi)核

cat >>/etc/sysctl.conf<<EOF
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ù)是對(duì)iptables防火墻的優(yōu)化,防火墻不開(kāi)會(huì)提示恭金,可以忽略不理操禀。
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

1.5.11 基礎(chǔ)優(yōu)化操作項(xiàng):安裝系統(tǒng)常用軟件

CentOS6和CentOS7都要安裝的企業(yè)運(yùn)維常用基礎(chǔ)工具包

yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y

CentOS7要安裝的企業(yè)運(yùn)維常用基礎(chǔ)工具包

yum install psmisc net-tools bash-completion vim-enhanced -y

1.5.12 基礎(chǔ)優(yōu)化操作項(xiàng):優(yōu)化SSH遠(yuǎn)程連接效率(練習(xí)不需要優(yōu)化)

禁止root遠(yuǎn)程連接
修改默認(rèn)22端口,改為52113
監(jiān)聽(tīng)內(nèi)網(wǎng)服務(wù)器IP

1.5.13 擴(kuò)展優(yōu)化操作項(xiàng)-修改yum.conf文件配置信息

保留yum安裝的軟件包
將yum.conf中的keepcache=0改為keepcache=1横腿,為日后一鍵安裝網(wǎng)站集群留好rpm及依賴工具包颓屑。

1.5.14 鎖定關(guān)鍵系統(tǒng)文件

如/etc/passwd、/etc/shadow耿焊、/etc/group揪惦、/etc/gshadow、/etc/inittab罗侯, 處理以上內(nèi)容后把chattr器腋、lsattr改名為oldboy,轉(zhuǎn)移走钩杰,這樣就安全多了纫塌。

1.5.15 清空/etc/issue、/etc/issue.net榜苫,去除系統(tǒng)及內(nèi)核版本登錄前的屏幕顯示护戳。

1.5.16 清除多余的系統(tǒng)虛擬用戶賬號(hào)。

1.5.17 為grub引導(dǎo)菜單加密碼(自學(xué))垂睬。

1.5.18 禁止主機(jī)被ping(內(nèi)核參數(shù))。

1.5.19 打補(bǔ)丁并升級(jí)有已知漏洞的軟件抗悍。

yum update   <===升級(jí)軟件

1.5.20 精簡(jiǎn)開(kāi)機(jī)自啟動(dòng)服務(wù)

systemctl list-unit-files |grep enable|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

1.6 企業(yè)生產(chǎn)最小化原則:

1驹饺、安裝軟件包最小化
2、用戶權(quán)限最小化 visudo授權(quán)
3缴渊、目錄文件權(quán)限最小化
4赏壹、自啟動(dòng)服務(wù)最小化
5、服務(wù)運(yùn)行用戶最小化

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末衔沼,一起剝皮案震驚了整個(gè)濱河市蝌借,隨后出現(xiàn)的幾起案子昔瞧,更是在濱河造成了極大的恐慌,老刑警劉巖菩佑,帶你破解...
    沈念sama閱讀 219,110評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件自晰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡稍坯,警方通過(guò)查閱死者的電腦和手機(jī)酬荞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)瞧哟,“玉大人混巧,你說(shuō)我怎么就攤上這事∏诳” “怎么了咧党?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,474評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)陨亡。 經(jīng)常有香客問(wèn)我傍衡,道長(zhǎng),這世上最難降的妖魔是什么数苫? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,881評(píng)論 1 295
  • 正文 為了忘掉前任聪舒,我火速辦了婚禮,結(jié)果婚禮上虐急,老公的妹妹穿的比我還像新娘箱残。我一直安慰自己,他們只是感情好止吁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布被辑。 她就那樣靜靜地躺著,像睡著了一般敬惦。 火紅的嫁衣襯著肌膚如雪盼理。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,698評(píng)論 1 305
  • 那天俄删,我揣著相機(jī)與錄音宏怔,去河邊找鬼。 笑死畴椰,一個(gè)胖子當(dāng)著我的面吹牛臊诊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播斜脂,決...
    沈念sama閱讀 40,418評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼抓艳,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了帚戳?” 一聲冷哼從身側(cè)響起玷或,我...
    開(kāi)封第一講書(shū)人閱讀 39,332評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤儡首,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后偏友,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蔬胯,經(jīng)...
    沈念sama閱讀 45,796評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評(píng)論 3 337
  • 正文 我和宋清朗相戀三年约谈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了笔宿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,110評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡棱诱,死狀恐怖泼橘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情迈勋,我是刑警寧澤炬灭,帶...
    沈念sama閱讀 35,792評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站靡菇,受9級(jí)特大地震影響重归,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜厦凤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評(píng)論 3 331
  • 文/蒙蒙 一鼻吮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧较鼓,春花似錦椎木、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,003評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至禽篱,卻和暖如春畜伐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背躺率。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,130評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工玛界, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人悼吱。 一個(gè)月前我還...
    沈念sama閱讀 48,348評(píng)論 3 373
  • 正文 我出身青樓脚仔,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親舆绎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一上午就在公司修改H5邀請(qǐng)函们颜,馬上要舉辦換屆晚宴吕朵,該邀請(qǐng)的人都已經(jīng)接龍了猎醇。那還要做這個(gè)干嘛呢?花了三天時(shí)...
    李丁梅閱讀 286評(píng)論 4 5
  • 我對(duì)誰(shuí)可無(wú)可有,卻讓我偏執(zhí)若瘋魔? 我對(duì)誰(shuí)不假辭色努溃,又讓誰(shuí)枯守空蹉跎? 人類硫嘶,真是奇怪,總是畏懼身后的追逐梧税,卻又追...
    越寒閱讀 285評(píng)論 5 3
  • EOS是Block.one公司正在研發(fā)的一個(gè)區(qū)塊鏈底層公鏈系統(tǒng)沦疾,目的是解決現(xiàn)有的區(qū)塊鏈應(yīng)用性能低、安全性差第队、開(kāi)發(fā)難...
    KayChan閱讀 242評(píng)論 0 0