kafka 迁移或添加新节点

迁移 或 添加节点

第一步 部署一台新节点

server.properties和老节点基本同样 须要修改下面几处:node

# 这个是新节点ID,本身设置个新的就行
broker.id=2 
# 这个是新节点的ip地址
host.name=10.25.115.223

第二步 肯定迁移的topic

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

问题

kafka verify查看状态 一直处于 is in progres

这是因为新的节点并不可用,能够写个简单的product程序测试是否能够写入. 很差使的缘由多是由于host.name配置的问题,kafka常常在host.name上出问题,能够尝试修改advertised.host.name=10.25.115.223,(注意改为你本身的地址),若是没有这个参数,多是版本低.ip

kafka 新节点 没有反应 也不一样步数据

解决方法同上部署

相关文章
相关标签/搜索