一蛇捌、搭建環(huán)境常用命令:
1.設(shè)置ip地址淤翔、子網(wǎng)掩碼藐石、網(wǎng)關(guān):
vim /etc/sysconfig/network-scripts/ifcfg-eth0
2.重啟網(wǎng)絡(luò)
service network restart
3.修改主機(jī)和ip地址映射關(guān)系
vim /etc/hosts
4.修改機(jī)器網(wǎng)卡設(shè)置
vim /etc/udev/rules.d/70-persistent-net.rules
5.修改主機(jī)名稱
vim /etc/sysconfig/network
6.查看防火墻iptables自動(dòng)啟動(dòng)狀態(tài):
chkconfig iptables --list
查看iptables狀態(tài):
service iptables status
開(kāi)啟/關(guān)閉iptables:
service iptables start
service iptables stop
設(shè)置iptables開(kāi)機(jī)啟動(dòng)/不啟動(dòng):
chkconfig iptables on/off
二、為用戶添加sudo權(quán)限:
首需要切換到root身份
$su -
(注意有- 绸吸,這和su是不同的婉烟,在用命令"su"的時(shí)候只是切換到root娩井,但沒(méi)有把root的環(huán)境變量傳過(guò)去,還是當(dāng)前用戶的環(huán)境變量隅很,用"su -"命令將環(huán)境變量也一起帶過(guò)去撞牢,就象和root登錄一樣)
然后
$visudo???? //切記率碾,此處沒(méi)有vi和sudo之間沒(méi)有空格
1、移動(dòng)光標(biāo)屋彪,到最后一行
2所宰、按a,進(jìn)入append模式
3畜挥、輸入
your_user_name ALL=(ALL) ?ALL
4仔粥、按Esc
5、輸入“:w”(保存文件)
6蟹但、輸入“:q”(退出)
這樣就把自己加入了sudo組躯泰,可以使用sudo命令了。
三华糖、環(huán)境變量添加方式
export?JAVA_HOME=/usr/local/jdk
export?ZOOKEEPER_HOME=/usr/local/zookeeper
export?PATH=$PATH:${ZOOKEEPER_HOME}/bin:${JAVA_HOME}/bin
每次添加一個(gè)都在PATH的最后添加麦向,添加方式是 :${PATH_HOME}/bin
四、zookeeper簡(jiǎn)介
基本概念
ZooKeeper是一個(gè)分布式的客叉,開(kāi)放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù)诵竭,是Google的Chubby一個(gè)開(kāi)源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件兼搏。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件卵慰,提供的功能包括:配置維護(hù)、域名服務(wù)佛呻、分布式同步裳朋、組服務(wù)等。
ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯(cuò)的關(guān)鍵服務(wù)吓著,將簡(jiǎn)單易用的接口和性能高效鲤嫡、功能穩(wěn)定的系統(tǒng)提供給用戶。
ZooKeeper代碼版本中夜矗,提供了分布式獨(dú)享鎖泛范、選舉、隊(duì)列的接口紊撕,代碼在zookeeper-3.4.3\src\recipes。其中分布鎖和隊(duì)列有Java和C兩個(gè)版本赡突,選舉只有Java版本对扶。
原理
ZooKeeper的基本運(yùn)轉(zhuǎn)流程:
1、選舉Leader惭缰。
2浪南、同步數(shù)據(jù)。
3漱受、選舉Leader過(guò)程中算法有很多络凿,但要達(dá)到的選舉標(biāo)準(zhǔn)是一致的。
4、Leader要具有最高的執(zhí)行ID絮记,類(lèi)似root權(quán)限摔踱。
5、集群中大多數(shù)的機(jī)器得到響應(yīng)并接受選出的Leader怨愤。
此處為一個(gè)系列文章派敷,值得學(xué)習(xí):zookeeper
一些解釋
znode是zookeeper中的一個(gè)數(shù)據(jù)節(jié)點(diǎn),znode下還可以創(chuàng)建子znode撰洗,可以理解為文件夾的構(gòu)造篮愉,一個(gè)文件夾下可以有子文件夾或者子文件。
可以理解為zookeeper提供了一種存儲(chǔ)系統(tǒng)差导,這個(gè)存儲(chǔ)系統(tǒng)里存儲(chǔ)的是znode的樹(shù)形結(jié)構(gòu)
每一個(gè)znode就是一個(gè)數(shù)據(jù)節(jié)點(diǎn)试躏,znode可以存數(shù)據(jù),也可以實(shí)現(xiàn)類(lèi)似文件夾的功能设褐,就是znode下可以創(chuàng)建子znode颠蕴,但是臨時(shí)節(jié)點(diǎn)下是不能創(chuàng)建子節(jié)點(diǎn)的。
整個(gè)集群會(huì)選舉出一個(gè)leader络断,這個(gè)leader負(fù)責(zé)處理客戶端的事務(wù)請(qǐng)求裁替,事務(wù)請(qǐng)求包括znode的創(chuàng)建、修改貌笨、刪除等弱判,follower負(fù)責(zé)處理客戶端的讀請(qǐng)求。
當(dāng)集群中的任何一個(gè)follower節(jié)點(diǎn)接收到客戶端的事務(wù)請(qǐng)求锥惋,都會(huì)轉(zhuǎn)發(fā)給leader昌腰,也就是說(shuō)整個(gè)集群只有l(wèi)eader可以處理事務(wù)請(qǐng)求,其他角色的節(jié)點(diǎn)都不能處理膀跌,當(dāng)leader處理事務(wù)請(qǐng)求的時(shí)候遭商,就要向整個(gè)集群廣播一個(gè)提議,這個(gè)提議的意思就是告訴follower你們要?jiǎng)?chuàng)建/修改/刪除一個(gè)znode捅伤,然后follower接收到leader的提議之后劫流,就會(huì)做相應(yīng)的操作,操作完成告訴leader完成了
當(dāng)leader接收到集群中的大多數(shù)follower的成功操作的回復(fù)之后丛忆,這里的大多數(shù)指的是超過(guò)集群機(jī)器數(shù)量的一半
如果有落后的follower祠汇,這些落后的follower也會(huì)從leader同步狀態(tài),保持與leader的狀態(tài)一致熄诡。