1.软件需求
CentOS 7.2 X64
jdk-8u121-linux-x64.rpm
zookeeper-3.4.9.tar.gz
kafka_2.11-0.10.1.0.tgz
setuptools-33.1.1.zip
kafka-python-1.3.2.tar.gz
2.安装zookeeper、kafka
1).zookeeper
# tar -zxf zookeeper-3.4.9.tar.gz
# mv zookeeper-3.4.9 /usr/local/zookeeper
# mkdir -p /var/lib/zookeeper
# cat > /usr/local/zookeeper/conf/zoo.cfg << EOF
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
EOF
# /usr/local/zookeeper/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
#
2).kafka
# tar -zxf kafka_2.11-0.10.1.0.tgz
# mv kafka_2.11-0.10.1.0 /usr/local/kafka
# mkdir /tmp/kafka-logs
# /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic telematics
fCreated topic "telematics".
#
3.create topics
# /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic telematics
4.topic操作
1).list topic
# /usr/local/kafka/bin/kafka-topics.sh --zookeeper localhost:2181 --list
telematics
2).describe topic
# /usr/local/kafka/bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic telematics
Topic:telematics PartitionCount:1 ReplicationFactor:1 Configs:
Topic: telematics Partition: 0 Leader: 0 Replicas: 0 Isr: 0
#
3).delete topic
#/usr/local/kafka/bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic telematics
5.添加选项执行删除命令时生效,否则只是标记为删除
/usr/local/kafka/config/server.properties
delete.topic.enable=true
6.测试脚本
1). producer.py
#!/usr/bin/python
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers='192.168.1.201:9092')
producer = KafkaProducer(key_serializer=str.encode, value_serializer=str.encode)
producer.send('telematics', key='ping', value=b'1234')
#
2). consumer.py
from kafka import KafkaConsumer
# To consume latest messages and auto-commit offsets
consumer = KafkaConsumer('telematics',bootstrap_servers=['192.168.1.201:9092'])
for message in consumer:
# message value and key are raw bytes -- decode if necessary!
# e.g., for unicode: `message.value.decode('utf-8')`
print ("%s:%d:%d: key=%s value=%s" % (message.topic, message.partition,
message.offset, message.key,
message.value))
#
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com