云服务器内容精选

  • 常用参数 表1 参数说明 配置参数 说明 缺省值 log.dirs Kafka数据存储目录列表,以逗号分隔多个目录。 %{@auto.detect.datapart.bk.log.logs} KAFKA_HEAP_OPTS Kafka启动Broker时使用的jvm选项。建议根据业务需要进行设置。 -Xmx6G -Xms6G auto.create.topics.enable 是否自动创建Topic,如果参数设置为false,发消息前需要通过命令创建Topic。 true default.replication.factor 自动创建Topic时的默认副本数。 2 monitor.preInitDelay 服务启动后,第一次健康检查的延迟时间。如果启动需要较长时间,可以通过调大参数,来完成启动。单位为毫秒。 600000
  • 超时参数 表2 Broker相关超时参数 参数名称 参数说明 默认值 影响分析 controller.socket.timeout.ms Controller连接Broker的超时时间。单位:毫秒。 30000 Controller连接Broker的超时时间,一般不需要调整。 group.max.session.timeout.ms Consumer注册时允许的最大会话超时时间。单位:毫秒。 1800000 允许Consumer配置的session.timeout.ms的最大值(不包含此值)。 group.min.session.timeout.ms Consumer注册时允许的最小会话超时时间。单位:毫秒。 6000 允许Consumer配置的session.timeout.ms的最小值(不包含此值)。 offsets.commit.timeout.ms Offset提交请求的超时时间。单位:毫秒。 5000 Offset提交时被延迟处理的最大超时时间。 replica.socket.timeout.ms 副本数据同步请求的超时时间,配置值不得小于replica.fetch.wait.max.ms。单位:毫秒。 30000 同步线程在发送同步请求之前等待通道建立的最大超时时间,要求配置大于replica.fetch.wait.max.ms。 request.timeout.ms 设置客户端发送连接请求后,等待响应的超时时间。单位:毫秒。 30000 Broker节点上的Controller、Replica线程中传入networkclient连接的超时参数,如果在超时时间内没有接收到响应,那么客户端重新发送,并在达到重试次数后返回请求失败。 transaction.max.timeout.ms 事务允许的最大超时。单位:毫秒。 900000 事务最大超时时间,如果客户端的请求时间超过该值,则Broker将在InitProducerIdRequest中返回一个错误。这样可以防止客户端超时时间过长,而导致消费者无法接收topic。 user.group.cache.timeout.sec 指定缓存中保存用户对应组信息的时间。单位:秒。 300 缓存中用户和组对应关系缓存时间,超过此时间用户信息才会再次通过id -Gn命令查询,在此期间,仅使用缓存中的用户和组对应关系。 zookeeper.connection.timeout.ms 连接ZooKeeper的超时时间。单位:毫秒。 45000 ZooKeeper连接超时时间,这个时间决定了zkclient中初次连接建立过程时允许消耗的时间,超过该时间,zkclient会主动断开。 zookeeper.session.timeout.ms ZooKeeper会话超时时间。如果Broker在此时间内未向ZooKeeper上报心跳,则被认为失效。单位:毫秒。 45000 ZooKeeper会话超时时间。 作用一:这个时间结合传入的ZKURL中ZooKeeper的地址个数,ZooKeeper客户端以(sessionTimeout/传入ZooKeeper地址个数)为连接一个节点的超时时间,超过此时间未连接成功,则尝试连接下一个节点。 作用二:连接建立后,一个会话的超时时间,如ZooKeeper上注册的临时节点BrokerId,当Broker被停止,则该BrokerId,会经过一个sessionTimeout才会被ZooKeeper清理。 表3 Producer相关超时参数 配置名称 说明 默认值 影响分析 request.timeout.ms 指定发送消息请求的请求超时时间。单位:毫秒。 30000 请求超时时间,出现网络问题时,需调大此参数;配置过小,则容易出现Batch Expire异常。 表4 Consumer相关超时参数 配置名称 说明 默认值 影响分析 connections.max.idle.ms 空闲连接的保留时间。单位:毫秒 600000 空闲连接的保留时间,连接空闲时间大于此时间,则会销毁该连接,有需要时重新创建连接。 request.timeout.ms 消费请求的超时时间。单位:毫秒。 30000 请求超时时间,请求超时会失败然后不断重试。
  • 前提条件 MRS 集群管理员已明确业务需求,并准备一个Kafka管理员用户(属于kafkaadmin组,普通模式不需要)。 已安装Kafka客户端,客户端安装目录如“/opt/client”。 本示例需创建两个Topic,可参考7,分别命名为“test_2”和“test_3”,并创建“move-kafka-topic.json”文件,创建路径如“/opt/client/Kafka/kafka”,Topic格式内容如下: { "topics": [{"topic":"test_2"},{"topic":"test_3"}], "version":1 }
  • 操作步骤 以客户端安装用户,登录安装Kafka客户端的节点。 切换到Kafka客户端安装目录。 cd /opt/client 执行以下命令,配置环境变量。 source bigdata_env 执行以下命令,进行用户认证。(普通模式跳过此步骤) kinit 组件业务用户 执行以下命令进入Kafka客户端的bin目录。 cd Kafka/kafka/bin 执行以下命令生成执行计划。 ./kafka-reassign-partitions.sh --zookeeper 172.16.0.119:2181/kafka --topics-to-move-json-file ../move-kafka-topic.json --broker-list "1,2,3" --generate 172.16.0.119:ZooKeeper实例的业务IP。 --broker-list "1,2,3":参数中的“1,2,3”为扩容后的所有broker_id。 执行vim ../reassignment.json创建“reassignment.json”文件并保存,保存路径为“/opt/kafkaclient/Kafka/kafka”。 拷贝6中生成的“Proposed partition reassignment configuration”下的内容至“reassignment.json”文件,如下所示: {"version":1,"partitions":[{"topic":"test","partition":4,"replicas":[1,2],"log_dirs":["any","any"]},{"topic":"test","partition":1,"replicas":[1,3],"log_dirs":["any","any"]},{"topic":"test","partition":3,"replicas":[3,1],"log_dirs":["any","any"]},{"topic":"test","partition":0,"replicas":[3,2],"log_dirs":["any","any"]},{"topic":"test","partition":2,"replicas":[2,1],"log_dirs":["any","any"]}]} 执行以下命令进行分区重分布。 ./kafka-reassign-partitions.sh --zookeeper 172.16.0.119:2181/kafka --reassignment-json-file ../reassignment.json --execute --throttle 50000000 --throttle 50000000:限制网络带宽为50MB。带宽可根据数据量大小及客户对均衡时间的要求进行调整,5TB数据量,使用50MB带宽,均衡时长约8小时。 执行以下命令查看迁移状态。 ./kafka-reassign-partitions.sh --zookeeper 172.16.0.119:2181/kafka --reassignment-json-file ../reassignment.json --verify
  • 日志级别 Kafka提供了如表3所示的日志级别。 运行日志的级别优先级从高到低分别是ERROR、WARN、INFO、DEBUG,程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。 表3 日志级别 级别 描述 ERROR ERROR表示系统运行的错误信息。 WARN WARN表示当前事件处理存在异常信息。 INFO INFO表示记录系统及各事件正常运行状态信息。 DEBUG DEBUG表示记录系统及系统的调试信息。 如果您需要修改日志级别,请执行如下操作: 请参考修改集群服务配置参数,进入Kafka的“全部配置”页面。 左边菜单栏中选择所需修改的角色所对应的日志菜单。 选择所需修改的日志级别。 保存配置,在弹出窗口中单击“确定”使配置生效。