Linux软件安装部署文档,MetaQ安装部署文档
一.MetaQ安裝部署情況:
地點
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的機器,且三地的MetaQ都可以訪問到,即三個IP都可以ping通安裝了ZooKeeper的機器。ZooKeeper是用來注冊MetaQ的broker、topic、pub、sub信息,用來做負載均衡的,起到協調作用。
我在上述三地都安裝了ZooKeeper,目前使用的是北京192.168.51.33:2181作為ZooKeeper服務器。
Zookeeper使用Ubuntu的deb包的dpkg方式安裝。
啟動ZooKeeper:
Service zookeeper start
2. 下載MetaQserver 1.4.6.2
3. 部署
解壓tar zxvfmetaq-server-1.4.6.2.tar.gz,將解壓出來的taobao/metamorphosis-server-wrapper文件夾移動到/usr/lib下,并重命名為metaq。
Metaq的文件結構:
l bin: metaq的命令文件夾./meteServer.sh執行metaq命令
l conf:metaq的配置文件夾,async_slave.properties異步復制配置,server.ini配置broker,samsa_master.properties同步復制配置。
l lib:metaq依賴的jar包
l provided: 開發者自己開發的程序
4. master/slave集群配置
使用異步復制架構。
修改北京192.168.51.33機器的/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]
因為使用master/slave模式,因此要時刻保持合肥192.168.52.23和廣州192.168.70.157的server.ini文件保持和北京192.168.51.33相同,即使添加了新的topic,也要手動向server.ini中注冊。
修改三地的conf/async_slave.properties,北京的保持不變,合肥的修改為
#slave編號,大于等于0表示作為slave啟動,同一個master下的slave編號應該設不同值.
slaveId=1
#作為slave啟動時向master訂閱消息的group,如果沒配置則默認為meta-slave-group
#不同的slaveId請使用不同的group
slaveGroup=meta-slave-group
#slave數據同步的最大延時,單位毫秒
slaveMaxDelayInMills=500
#是否自動從master同步server.ini, 1.4.2新增選項
#第一次仍然需要自己拷貝server.ini,后續可以通過設置此選項為true來自動同步
autoSyncMasterConfig=true
廣州的conf/async_slave.properties修改為:
#slave編號,大于等于0表示作為slave啟動,同一個master下的slave編號應該設不同值.
slaveId=2
#作為slave啟動時向master訂閱消息的group,如果沒配置則默認為meta-slave-group
#不同的slaveId請使用不同的group
slaveGroup=meta-slave-group-gz
#slave數據同步的最大延時,單位毫秒
slaveMaxDelayInMills=500
#是否自動從master同步server.ini, 1.4.2新增選項
#第一次仍然需要自己拷貝server.ini,后續可以通過設置此選項為true來自動同步
autoSyncMasterConfig=true
5. 啟動MetaQ集群
首先啟動兩個slave:
合肥和廣州將目錄切換到/usr/lib/metaq/bin下,使用slave模式啟動MetaQ:
./metaServer.sh start slave &
北京啟動master:
./metaServer.sh start &
三.問題
1. Topic的默認分區到底去多少好?即server.ini中numPartitions的配置,目前為16,當使用1024的時候很多會導致磁盤效率太低,message發送失敗幾率升高。
2. 異步復制的slave將參與消費者的消費活動,消息消費者可以從slave中獲取消息并消費,消費者會隨機從master和slaves中挑選一臺作為消費broker。如何指定consumer從slave中消費message而不跑去消費master的呢?
3. 可以添加一個topic而不重啟MetaQ嗎?
Metamorphosis 的詳細介紹:請點這里
Metamorphosis 的下載地址:請點這里
四.參考
總結
以上是生活随笔為你收集整理的Linux软件安装部署文档,MetaQ安装部署文档的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android发送点击事件,Androi
- 下一篇: 9050 端口 linux 进程,Lin