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 新節點 沒有反應 也不一樣步數據

解決方法同上部署

相關文章
相關標籤/搜索