1. kafka为什么会自动关闭
Kafka在启动一段时间后,如果出现服务自动关闭情况,可在启动kafka的时使用守护进程模式启动,即在原启动命令中加 -daemon
kafka-server-start.sh -daemon config/server.properties &
原因参考:
kafka-run-class.sh
# Launch mode
if [ "x$DAEMON_MODE" = "xtrue" ]; then
#使用daemon执行命令
nohup $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@" > "$CONSOLE_OUTPUT_FILE" 2>&1 < /dev/null &
else
#不使用daemon执行命令
exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"
fi
2. kafka在windows启动下提示:命令语法不正确
Kafka是由LinkedIn设计的一个高吞吐量、分布式、基于发布订阅模式的消息系统,使用Scala编写,它以可水平扩展、可靠性、异步通信和高吞吐率等特性而被广泛使用。目前越来越多的开源分布式处理系统都支持与Kafka集成,其中Spark Streaming作为后端流引擎配合Kafka作为前端消息系统正成为当前流处理系统的主流架构之一。然而,当下越来越多的安全漏洞、数据泄露等问题的爆发,安全正成为系统选型不得不考虑的问题,Kafka由于其安全机制的匮乏,也导致其在数据敏感行业的部署存在严重的安全隐患。本文将围绕Kafka,先介绍其整体架构和关键概念,再深入分析其架构之中存在的安全问题,最后分享下Transwarp在Kafka安全性上所做的工作及其使用方法。
3. linux 怎样查看kafka的某 topic数据
1、创建一个需要增加备份因子的topic列表的文件,文件格式是json格式的。
注意事项:
Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
4. ubuntu 怎么安装kafka
kafka官网下载 kafka_2.10-0.8.2.1.tgz并复制到虚拟机Ubuntu
2.1解压到该路径
tar zxvf kafka_2.10-0.8.2.1.tgz
sudo mv kafka /home/chen-pc/kafka
启动和停止
启动Zookeeper server:
Shell代码
bin/zookeeper-server-start.sh config/zookeeper.properties &
其中&是为了能退出命令行
kafka安装教程
停止Kafka server
Shell代码
bin/kafka-server-stop.sh
出现如下:
INFO Shutting down. (kafka.log.LogManager)
INFO Shutdown complete. (kafka.log.LogManager)
INFO Terminate ZkClient event thread. (org.I0Itec.zkclient.ZkEventThread)
INFO Session: 0x154957ee6bc0000 closed (org.apache.zookeeper.ZooKeeper)
INFO EventThread shut down (org.apache.zookeeper.ClientCnxn)
INFO [Kafka Server 0], shut down completed (kafka.server.KafkaServer)
kafka安装教程
停止Zookeeper server:
Shell代码
bin/zookeeper-server-stop.sh
出现如下:
[1]+ Exit 130 bin/zookeeper-server-start.sh config/zookeeper.properties
kafka安装教程
4.创建启动、关闭kafka脚本
cd /home/chen-pc/kafka
创建启动脚本
vi kafkastart.sh #编辑,添加以下代码
#!/bin/sh
#启动zookeeper
/home/chen-pc/kafka/bin/zookeeper-server-start.sh /home/chen-pc/kafka/config/zookeeper.properties &
#等3秒后执行
sleep 3
#启动kafka
/home/chen-pc/kafka/bin/kafka-server-start.sh /home/chen-pc/kafka/config/server.properties &
保存退出
vi kafkastop.sh #编辑,添加以下代码
#!/bin/sh
#关闭zookeeper
/home/chen-pc/kafka/bin/zookeeper-server-stop.sh /home/chen-pc/kafka/config/zookeeper.properties &
sleep 3
#关闭kafka
/home/chen-pc/kafka/bin/kafka-server-stop.sh /home/chen-pc/kafka/config/server.properties &
添加脚本执行权限
chmod +x kafkastart.sh
chmod +x kafkastop.sh
以后启动kafka
sh /home/chen-pc/kafka/kafkastart.sh
Jps查看进程
kafka安装教程
关闭kafka
sh /home/chen-pc/kafka/kafkastop.sh
至此,Linux下Kafka单机安装配置完成。
4. 单节点kafka
sh /home/chen-pc/kafka/kafkastart.sh
Kafka创建topic
cd kafka
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
kafka安装教程
Kafka 删除topic
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
查看topic
/home/chen-pc/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181
kafka安装教程
启动consumer & procer,并在procer启动后的console输入一些信息
bin/kafka-console-procer.sh --broker-list localhost:9092 --topic test
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
kafka安装教程
11
Kafka安装部署成功
5. 怎么将shell脚本的变量内容,通过kafka命令发送到kafka的topic中呢,求助
kafka $变量名
6. 如何查看kafka命令 找不到
基于0.8.0版本。
##查看topic分布情况kafka-list-topic.sh
bin/kafka-list-topic.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 (列出所有topic的分区情况)
bin/kafka-list-topic.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --topic test (查看test的分区情况)
其实kafka-list-topic.sh里面就一句
exec $(dirname $0)/kafka-run-class.sh kafka.admin.ListTopicCommand $@
实际是通过
kafka-run-class.sh脚本执行的包kafka.admin下面的类
##创建TOPIC kafka-create-topic.sh
bin/kafka-create-topic.sh --replica 2 --partition 8 --topic test --zookeeper 192.168.197.170:2181,192.168.197.171:2181
创建名为test的topic, 8个分区分别存放数据,数据备份总共2份
bin/kafka-create-topic.sh --replica 1 --partition 1 --topic test2 --zookeeper 192.168.197.170:2181,192.168.197.171:2181
结果 topic: test2 partition: 0 leader: 170 replicas: 170 isr: 170
##重新分配分区kafka-reassign-partitions.sh
这个命令可以分区指定到想要的--broker-list上
bin/kafka-reassign-partitions.sh --topics-to-move-json-file topics-to-move.json --broker-list "171" --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --execute
cat topic-to-move.json
{"topics":
[{"topic": "test2"}],
"version":1
}
##为Topic增加 partition数目kafka-add-partitions.sh
bin/kafka-add-partitions.sh --topic test --partition 2 --zookeeper 192.168.197.170:2181,192.168.197.171:2181 (为topic test增加2个分区)
##控制台接收消息
bin/kafka-console-consumer.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --from-beginning --topic test
##控制台发送消息
bin/kafka-console-procer.sh --broker-list 192.168.197.170:9092,192.168.197.171: 9092 --topic test
##手动均衡topic, kafka-preferred-replica-election.sh
bin/kafka-preferred-replica-election.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --path-to-json-file preferred-click.json
cat preferred-click.json
{
"partitions":
[
{"topic": "click", "partition": 0},
{"topic": "click", "partition": 1},
{"topic": "click", "partition": 2},
{"topic": "click", "partition": 3},
{"topic": "click", "partition": 4},
{"topic": "click", "partition": 5},
{"topic": "click", "partition": 6},
{"topic": "click", "partition": 7},
{"topic": "play", "partition": 0},
{"topic": "play", "partition": 1},
{"topic": "play", "partition": 2},
{"topic": "play", "partition": 3},
{"topic": "play", "partition": 4},
{"topic": "play", "partition": 5},
{"topic": "play", "partition": 6},
{"topic": "play", "partition": 7}
]
}
##删除topic,慎用,只会删除zookeeper中的元数据,消息文件须手动删除
bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --topic test666 --zookeeper 192.168.197.170:2181 ,192.168.197.171:2181
7. kafka必须在linux下吗
2.解压下载的kafka
tar -xzf kafka_2.10-0.8.2.2.tgz
cd kafka_2.10-0.8.2.2
3. 启动服务
3.1 启动zookeeper
启动zk有两种方式,第一种是使用kafka自己带的一个zk。
bin/zookeeper-server-start.sh config/zookeeper.properties
&
另一种是使用其它的zookeeper,可以位于本机也可以位于其它地址。这种情况需要修改config下面的sercer.properties里面的zookeeper地址
。例如zookeeper.connect=10.202.4.179:2181
3.2 启动 kafka
bin/kafka-server-start.sh config/server.properties
4.创建topic
bin/kafka-topics.sh --create --zookeeper 10.202.4.179:2181 --replication-factor 1 --partitions 1 --topic test
创建一个名为test的topic,只有一个副本,一个分区。
通过list命令查看刚刚创建的topic
bin/kafka-topics.sh -list -zookeeper 10.202.4.179:2181
5.启动procer并发送消息启动procer
bin/kafka-console-procer.sh --broker-list localhost:9092 --topic test
启动之后就可以发送消息了
比如
test
hello boy
按Ctrl+C退出发送消息
6.启动consumer
bin/kafka-console-consumer.sh --zookeeper 10.202.4.179:2181 --topic test --from-beginning
启动consumer之后就可以在console中看到procer发送的消息了
可以开启两个终端,一个发送消息,一个接受消息。
8. kafka 怎样查看kafka状态
输入以下代码即可查看kafka状态:
BROKER_HOST是kafka server的ip地址,PORTt是server的监听端口。多个host port之间用逗号隔开。
第一条命令是获取group列表,一般而言,应用是知道消费者group的,通常在应用的配置里,如果已知,该步骤可以省略。
第二条命令是查看具体的消费者group的详情信息,需要给出group的名称。
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。
对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
9. kafka如何查看日志量
我们在使用kafka的过程中有时候可以需要查看我们生产的消息的各种信息,这些都是被记录在卡夫卡的log文件中的。由于log文件的特殊格式,我们是无法直接查看log文件中的信息的。本文提供一下方式查看kafka的log文件中所记录的信息。
执行命令
bin/kafka-run-class.sh kafka.tools.DumpLogSegments
我们可以看到都需要哪些参数,根据不同的需求我们可以选择不同的参数。
执行如下命令查看某个log文件
bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files /tmp/kafka-logs/test3-0/00000000000000000000.log --print-data-log
这里 --print-data-log 是表示查看消息内容的,不加此项是查看不到详细的消息内容。如果要查看多个log文件可以用逗号分隔。
10. win7 不安装kafka,可以启动吗
解压下载的kafkatar -xzf kafka_2.10-0.8.2.2.tgz
cd kafka_2.10-0.8.2.2
3. 启动服务
3.1 启动zookeeper
启动zk有两种方式,第一种是使用kafka自己带的一个zk。
bin/zookeeper-server-start.sh config/zookeeper.properties
&
另一种是使用其它的zookeeper,可以位于本机也可以位于其它地址。这种情况需要修改config下面的sercer.properties里面的zookeeper地址
。例如zookeeper.connect=10.202.4.179:2181
3.2 启动 kafka
bin/kafka-server-start.sh config/server.properties
4.创建topic
bin/kafka-topics.sh --create --zookeeper 10.202.4.179:2181 --replication-factor 1 --partitions 1 --topic test
创建一个名为test的topic,只有一个副本,一个分区。
通过list命令查看刚刚创建的topic
bin/kafka-topics.sh -list -zookeeper 10.202.4.179:2181
5.启动procer并发送消息启动procer
bin/kafka-console-procer.sh --broker-list localhost:9092 --topic test
启动之后就可以发送消息了
比如
test
hello boy
按Ctrl+C退出发送消息
6.启动consumer
bin/kafka-console-consumer.sh --zookeeper 10.202.4.179:2181 --topic test --from-beginning
启动consumer之后就可以在console中看到procer发送的消息了
可以开启两个终端,一个发送消息,一个接受消息。