CDH-Kafka节点迁移

櫰木2年前技术文章872


1、节点迁移

先添加节点,将需要换掉的节点关闭,等待选举leader

启动新添加的节点

1.png

关闭旧的节点

2.png

等待选举leader

3.png

出现离线分区。需要将分区分配到新的节点

2、重分配分区

kafak kerberos环境下使用

参考文档:https://docs.cloudera.com/documentation/enterprise/latest/topics/kafka_security.html

1、如果使用kerberos cache。创建jaas.conf,然后使用kinit进行认证

KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true;
};

2、如果使用kerberos keytab,则创建jaas.conf

KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/etc/security/keytabs/mykafkaclient.keytab"
principal="mykafkaclient/clients.hostname.com@EXAMPLE.COM";
};

3、创建client.properties

security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka

4、验证topic是否存在

kafka-topics --list --zookeeper cdp01:2181/kafka

5、使用jaas.conf文件

export KAFKA_OPTS="-Djava.security.auth.login.config=/home/user/jaas.conf"

6、使用jaas.conf进行查看topic

#路径按照实际情况配置
export KAFKA_OPTS="-Djava.security.auth.login.config=/home/user/jaas.conf"
kafka-topics --bootstrap-server cdp01:9092,cdp03:9092,cdp05:9092 --list --command-config client.properties

7、生成topic-gen.json

{
    "topics": [
        {
            "topic": "__consumer_offsets"
        },
        {
            "topic": "__smm-app-consumer-metrics-keys-index-changelog"
        },
        {
            "topic": "__smm-app-producer-metrics-keys-index-changelog"
        },
        {
            "topic": "__smm-app-smm-consumer-table-15m-changelog"
        },
        {
            "topic": "__smm-app-smm-consumer-table-15m-repartition"
        },
        {
            "topic": "__smm-app-smm-consumer-table-30s-changelog"
        },
        {
            "topic": "__smm-app-smm-consumer-table-30s-repartition"
        },
        {
            "topic": "__smm-app-smm-producer-table-15m-changelog"
        },
        {
            "topic": "__smm-app-smm-producer-table-15m-repartition"
        },
        {
            "topic": "__smm-app-smm-producer-table-30s-changelog"
        },
        {
            "topic": "__smm-app-smm-producer-table-30s-repartition"
        },
        {
            "topic": "__smm_alert_notifications"
        },
        {
            "topic": "__smm_consumer_metrics"
        },
        {
            "topic": "__smm_producer_metrics"
        },
        {
            "topic": "connect-configs"
        },
        {
            "topic": "connect-offsets"
        },
        {
            "topic": "connect-status"
        },
        {
            "topic": "test_producer_perf"
        }
    ],
    "version": 1
}

通过--topics-to-move-json-file 和--generate来分配分区策略

kafka-reassign-partitions --zookeeper cdp01:2181/kafka --broker-list "87,215,202"   --topics-to-move-json-file topic-gen.json --generate --command-config client.properties

--broker-list   的值是要分配的kafka broker id,中间逗号隔开

会输出当前分配策略和期望分配策略

当前分配策略

期望分配策略

将当前分配策略备份。使用期望分配策略进行分区分配

通过--reassignment-json-file 参数和--execute执行分配策略

kafka-reassign-partitions --zookeeper cdp01:2181/kafka --reassignment-json-file topic_move.json --execute


通过-reassignment-json-file 和--verify 验证分配是否成功

全部成功后,删除旧的kafka broker

重启kafka,恢复正常


相关文章

MySQL性能优化(五)字符集不一致导致的隐式类型转换

MySQL性能优化(五)字符集不一致导致的隐式类型转换

上一篇文章中,我们介绍了隐式类型转换。这里我们介绍另一种形式的隐式类型转换,由于字符集不一致,导致关联查询无法使用索引。一个例子SELECT *  FROM funds...

Presto临时设置session超时时间

Presto临时设置session超时时间

全局默认超时时间为200s:测试语句:select    "t7"."__fcol_16" "__fcol_22",    date_trunc('month', "t7"."__fcol_21"...

K8s cni0网卡异常

K8s cni0网卡异常

一、问题现象pod启动时,调度到其中某个节点上的pod都无法正常启动,查看启动报错:network: failed to set bridge addr: "cni0" alrea...

Hue跑shell脚本报没权限问题

Hue跑shell脚本报没权限问题

1、客户反应运行脚本如下:经过排查服务器上没有workflow用户,尝试用root、admin测试正常 2、调用脚本运行失败1、给予脚本执行权限 chmod +x data-test.sh 2、/u...

Ldap部署

安装ldapyum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql...

PG的pg_stat_statements插件

pg_stat_statements可追踪一个服务器所执行的所有 SQL 语句的执行统计信息,可以用于统计数据库的资源开销,分析TOP SQL。一、插件安装1、编译安装进入postgresql源码目录...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。