server.properties和老節點基本同樣 須要修改下面幾處:node
# 這個是新節點ID,本身設置個新的就行 broker.id=2 # 這個是新節點的ip地址 host.name=10.25.115.223
cd 到kafka的bin目錄下 建立一個文件,命名爲topics-to-move.jsonjson
內容以下: { "topics": [ { "topic": "test1" }, { "topic": "test2" }, { "topic": "test3" } ], "version": 1 }
執行下面命令 而且將返回內容寫入reassignment-node.json測試
./kafka-reassign-partitions.sh --zookeeper 10.25.115.223:2181 --topics-to-move-json-file topics-to-move.json --broker-list "1,2" --generate
這裏broker-list是broker列表 修改爲你本身的code
./kafka-reassign-partitions.sh --zookeeper 10.25.115.223:2181 --reassignment-json-file reassignment-node.json --execute ./kafka-reassign-partitions.sh --zookeeper 10.25.115.223:2181 --reassignment-json-file reassignment-node.json --verify
將全部product的指向新節點.最後把consumer也改到新節點,就大功告成了server
這是因爲新的節點並不可用,能夠寫個簡單的product程序測試是否能夠寫入. 很差使的緣由多是由於host.name配置的問題,kafka常常在host.name上出問題,能夠嘗試修改advertised.host.name=10.25.115.223,(注意改爲你本身的地址),若是沒有這個參數,多是版本低.ip
解決方法同上部署