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
解决方法同上部署