再探kafka之二!!(重要!!)


启动kafka!!!!!!!!!!(通过kafka-server-start.sh  $KAFKA_HOME/config/server.properties启动)

kafka是要先启动的!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(重要的事情说三遍)

telnet不通9092不一定是开不开放端口的问题

有可能是端口上的程序没有启动的原因,只有先启动了程序才能判断这个端口是否可以访问

先在Linux上启动kafka服务只不过和其他服务不同的是要跟上一个配置文件才可以

java api要保证生产者代码能够正确的运行前提是   Kafka启动了  创建了对应的topic

和zookeeper一样要手动的启动两个机器上的kafka不会自动启动两个kafka

所以可以可zookeeper一样写个shell用来启动

下面是集群中的start-zk.sh的shell文件

echo "start zKserver......"
for i in 1 2
do
ssh hadoop0$i "source /etc/profile;/export/servers/zookeeper-3.4.5/bin/zkServer.sh start"
done

kafka快的两个原因

pagecach(一种缓存和磁盘相对)和sendfile技术支撑kafka的速度

消费者读取的时候可能会用到sendfile技术


查看所有主题的详细信息

kafka-topics.sh  --describe  --zookeeper hadoop01:2181


partion(0,1,2,3)其中数字代表分区的编号

leader(0,1)其中数字代表 server.properties中配置的broker编号(brokerid),对应的编号就是leader

replicas代表副本 ,数字代表副本所在的brokid

Isr代表存活的brokerid

上述内容属于kafka的容错测试(注意这里的leader不是zookeeper里面的leader和follower,注意区分)

jps -m 命令用来查看jps的详细进程

kafka要借助zookeeper但是kafka有自己的leader和follower这套概念区别于zookeeper

props.put("request.required.acks", "1");

这里的1大部分情况下用1

如果是-1的话要等所有的副本过来




猜你喜欢

转载自blog.csdn.net/yewakui2253/article/details/80217358
今日推荐