|NO.Z.00014|——————————|BigDataEnd|——|Hadoop&kafka.V14|——|kafka.v14|服务端参数配置|

一、服务端参数配置
### --- 服务端参数配置

~~~     $KAFKA_HOME/config/server.properties文件中的配置。
### --- zookeeper.connect

~~~     该参数用于配置Kafka要连接的Zookeeper/集群的地址。
~~~     它的值是一个字符串,使用逗号分隔Zookeeper的多个地址。Zookeeper的单个地址是
~~~     host:port 形式的,可以在最后添加Kafka在Zookeeper中的根节点路径。
~~~     # 在zookeeper中指定一个节点,在这个节点下,所有的子节点用于保存kafka的原数据
~~~     若是有多个zookeeper,可以写入多个地址,地址之间使用逗号隔开
~~~     可以写多个,但不允许写1个,zookeeper允许单点故障
~~~     2到3个为好,最好是zookeeper集群过半的节点设置在其中

############################# Zookeeper #############################
zookeeper.connect=node2:2181,node3:2181,node4:2181/myKafka
~~~     # myKafka下所显示的原数据
~~~     最好是指定一个名字,这样原数据就不会在其它地方放置了
~~~     若是不设置的话,就会自动创建出来
~~~     在业务比较多的话,就会比较混乱,所以专门指定一个节点,用于存放zookeeper的源数据
[root@hadoop ~]# vim $KAFKA_HOME/config/server.properties
############################# Zookeeper #############################
zookeeper.connect=localhost:2181/myKafka
 
~~~     # 查看zookeeper下的数据
[root@hadoop ~]# zkCli.sh
[zk: localhost:2181(CONNECTED) 1] ls /myKafka
[cluster, controller_epoch, controller, brokers, admin, isr_change_notification, consumers, log_dir_event_notification, latest_producer_id_block, config]
~~~     # 若是写入没有myKafka参数,
~~~     会把原数据转移到根节点下,
~~~     若是不配置,就会读取默认的根节点下的原数据

[root@hadoop ~]# vim $KAFKA_HOME/config/server.properties
############################# Zookeeper #############################
zookeeper.connect=localhost:2181
  
[zk: localhost:2181(CONNECTED) 0] ls /
[cluster, controller, controller_epoch, brokers, zookeeper, admin, isr_change_notification, myKafka, consumers, log_dir_event_notification, latest_producer_id_block, config]
二、 listeners
### --- listeners

~~~     用于指定当前Broker向外发布服务的地址和端口。
~~~     与advertised.listeners 配合,用于做内外网隔离。
[root@hadoop ~]# vim $KAFKA_HOME/config/server.properties
############################# Socket Server Settings #############################
#listeners=PLAINTEXT://:9092
### --- 内外网隔离配置:

listener.security.protocol.map
~~~     监听器名称和安全协议的映射配置。
~~~     比如,可以将内外网隔离,即使它们都使用SSL。
listener.security.protocol.map=INTERNAL:SSL,EXTERNAL:SSL
~~~     每个监听器的名称只能在map中出现一次。
~~~     # inter.broker.listener.name
~~~     用于配置broker之间通信使用的监听器名称,该名称必须在advertised.listeners列表中。
~~~     inter.broker.listener.name=EXTERNAL

~~~     # listeners
~~~     用于配置broker监听的URI以及监听器名称列表,使用逗号隔开多个URI及监听器名称。
~~~     如果监听器名称代表的不是安全协议,必须配置listener.security.protocol.map。
~~~     每个监听器必须使用不同的网络端口。
~~~     # advertised.listeners

~~~     需要将该地址发布到zookeeper供客户端使用,如果客户端使用的地址与listeners配置不同。
~~~     可以在zookeeper的get /myKafka/brokers/ids/<broker.id> 中找到。
~~~     在IaaS环境,该条目的网络接口得与broker绑定的网络接口不同。
~~~     如果不设置此条目,就使用listeners的配置。跟listeners不同,该条目不能使用0.0.0.0网络端口。
~~~     advertised.listeners的地址必须是listeners中配置的或配置的一部分。
### --- 典型配置:

[root@hadoop ~]# vim $KAFKA_HOME/config/server.properties
############################# Socket Server Settings #############################
listener.security.protocol.map=INTERNAL:PLINTEXT,EXTERNAL:PLAINTEXT
listeners=INTERNAL:/192.168.1.111,EXTERNAL://192.168.1.122:9093
inter.broker.listener.name=EXTERNAL
# Hostname and port the broker will advertise to producers and consumers. If not set, 
# it uses the value for "listeners" if configured.  Otherwise, it will use the value
# returned from java.net.InetAddress.getCanonicalHostName().
#advertised.listeners=PLAINTEXT://your.host.name:9092
advertised.listeners=EXTERNAL://192.168.1.122:9093
三、broker.id
### --- broker.id

~~~     该属性用于唯一标记一个Kafka的Broker,它的值是一个任意integer值。
~~~     当Kafka以分布式集群运行的时候,尤为重要。
~~~     最好该值跟该Broker所在的物理主机有关的,
~~~     如主机名为host1.yanqi.com ,则broker.id=1 ,
~~~     如果主机名为192.168.100.101 ,则broker.id=101 等等。
[root@hadoop ~]#  vim $KAFKA_HOME/config/server.properties
############################# Server Basics #############################
# The id of the broker. This must be set to a unique integer for each broker.
broker.id=0
四、log.dir
### --- 通过该属性的值,指定Kafka在磁盘上保存消息的日志片段的目录。

~~~     它是一组用逗号分隔的本地文件系统路径。
~~~     如果指定了多个路径,那么broker 会根据“最少使用”原则,
~~~     把同一个分区的日志片段保存到同一个路径下。
~~~     broker 会往拥有最少数目分区的路径新增分区,而不是往拥有最小磁盘空间的路径新增分区。
############################# Log Basics #############################

# A comma seperated list of directories under which to store log files
log.dirs=/opt/yanqi/servers/kafka/kafka-logs

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(8)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示