Linux软件安装部署文档,MetaQ安装部署文档
一.MetaQ安裝部署情況:
地點(diǎn)
IP
Broker ID
Master/Slave
Slave ID:Group
合肥
192.168.52.23
1
Slave
1:meta-slave-group-hf
北京
192.168.51.33
1
Master
/
廣州
192.168.70.157
1
Slave
2:meta-slave-group-gz
二.MetaQ安裝
1. 前提
已有安裝了ZooKeeper的機(jī)器,且三地的MetaQ都可以訪問(wèn)到,即三個(gè)IP都可以ping通安裝了ZooKeeper的機(jī)器。ZooKeeper是用來(lái)注冊(cè)MetaQ的broker、topic、pub、sub信息,用來(lái)做負(fù)載均衡的,起到協(xié)調(diào)作用。
我在上述三地都安裝了ZooKeeper,目前使用的是北京192.168.51.33:2181作為ZooKeeper服務(wù)器。
Zookeeper使用Ubuntu的deb包的dpkg方式安裝。
啟動(dòng)ZooKeeper:
Service zookeeper start
2. 下載MetaQserver 1.4.6.2
3. 部署
解壓tar zxvfmetaq-server-1.4.6.2.tar.gz,將解壓出來(lái)的taobao/metamorphosis-server-wrapper文件夾移動(dòng)到/usr/lib下,并重命名為metaq。
Metaq的文件結(jié)構(gòu):
l bin: metaq的命令文件夾./meteServer.sh執(zhí)行metaq命令
l conf:metaq的配置文件夾,async_slave.properties異步復(fù)制配置,server.ini配置broker,samsa_master.properties同步復(fù)制配置。
l lib:metaq依賴的jar包
l provided: 開(kāi)發(fā)者自己開(kāi)發(fā)的程序
4. master/slave集群配置
使用異步復(fù)制架構(gòu)。
修改北京192.168.51.33機(jī)器的/usr/lib/metaq/conf/server.ini文件為:
[system]
;; brokerId mustbe unique, the slave should be the same with master
brokerId=1
;; topicpartitions default set to 1, I changed it to 16, it should not be too large
numPartitions=16
serverPort=8123
dashboardHttpPort=8120
unflushThreshold=0
unflushInterval=10000
maxSegmentSize=1073741824
;default 1048576
maxTransferSize=104857600
deletePolicy=delete,168
deleteWhen=0 0 6,18 * * ?
flushTxLogAtCommit=1
stat=true
putProcessThreadCount=100
;; Update consumers offsets tocurrent max offsets when consumers offsets are out of range of current broker'smessages.
;; It must be false inproduction.But recommend to be true in development or test.
updateConsumerOffsets=true
;; your zookeeperserver
[zookeeper]
zk.zkConnect=192.168.51.33:2181
zk.zkSessionTimeoutMs=30000
zk.zkConnectionTimeoutMs=30000
zk.zkSyncTimeMs=5000
;; Topics section
[topic=test]
[topic=meta-test]
;; add your topicshere before use it
[topic=oct29]
因?yàn)槭褂胢aster/slave模式,因此要時(shí)刻保持合肥192.168.52.23和廣州192.168.70.157的server.ini文件保持和北京192.168.51.33相同,即使添加了新的topic,也要手動(dòng)向server.ini中注冊(cè)。
修改三地的conf/async_slave.properties,北京的保持不變,合肥的修改為
#slave編號(hào),大于等于0表示作為slave啟動(dòng),同一個(gè)master下的slave編號(hào)應(yīng)該設(shè)不同值.
slaveId=1
#作為slave啟動(dòng)時(shí)向master訂閱消息的group,如果沒(méi)配置則默認(rèn)為meta-slave-group
#不同的slaveId請(qǐng)使用不同的group
slaveGroup=meta-slave-group
#slave數(shù)據(jù)同步的最大延時(shí),單位毫秒
slaveMaxDelayInMills=500
#是否自動(dòng)從master同步server.ini, 1.4.2新增選項(xiàng)
#第一次仍然需要自己拷貝server.ini,后續(xù)可以通過(guò)設(shè)置此選項(xiàng)為true來(lái)自動(dòng)同步
autoSyncMasterConfig=true
廣州的conf/async_slave.properties修改為:
#slave編號(hào),大于等于0表示作為slave啟動(dòng),同一個(gè)master下的slave編號(hào)應(yīng)該設(shè)不同值.
slaveId=2
#作為slave啟動(dòng)時(shí)向master訂閱消息的group,如果沒(méi)配置則默認(rèn)為meta-slave-group
#不同的slaveId請(qǐng)使用不同的group
slaveGroup=meta-slave-group-gz
#slave數(shù)據(jù)同步的最大延時(shí),單位毫秒
slaveMaxDelayInMills=500
#是否自動(dòng)從master同步server.ini, 1.4.2新增選項(xiàng)
#第一次仍然需要自己拷貝server.ini,后續(xù)可以通過(guò)設(shè)置此選項(xiàng)為true來(lái)自動(dòng)同步
autoSyncMasterConfig=true
5. 啟動(dòng)MetaQ集群
首先啟動(dòng)兩個(gè)slave:
合肥和廣州將目錄切換到/usr/lib/metaq/bin下,使用slave模式啟動(dòng)MetaQ:
./metaServer.sh start slave &
北京啟動(dòng)master:
./metaServer.sh start &
三.問(wèn)題
1. Topic的默認(rèn)分區(qū)到底去多少好?即server.ini中numPartitions的配置,目前為16,當(dāng)使用1024的時(shí)候很多會(huì)導(dǎo)致磁盤效率太低,message發(fā)送失敗幾率升高。
2. 異步復(fù)制的slave將參與消費(fèi)者的消費(fèi)活動(dòng),消息消費(fèi)者可以從slave中獲取消息并消費(fèi),消費(fèi)者會(huì)隨機(jī)從master和slaves中挑選一臺(tái)作為消費(fèi)broker。如何指定consumer從slave中消費(fèi)message而不跑去消費(fèi)master的呢?
3. 可以添加一個(gè)topic而不重啟MetaQ嗎?
Metamorphosis 的詳細(xì)介紹:請(qǐng)點(diǎn)這里
Metamorphosis 的下載地址:請(qǐng)點(diǎn)這里
四.參考
總結(jié)
以上是生活随笔為你收集整理的Linux软件安装部署文档,MetaQ安装部署文档的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android发送点击事件,Androi
- 下一篇: linux 其他常用命令