noHup - zookeeper
type: channel
link: http://www.nohup.cc/tag/zookeeper/
items: KafkaOffsetMonitor监控消息消费状态
items: ubuntu14.04单机安装配置zookeeper和kafka

KafkaOffsetMonitor监控消息消费状态
type: item
date: 2016-06-10T04:31:00+00:00
description: Overview1. 安装jdk,zookeeper,kafka2. 安装配置KafkaOffsetMonitor3. 启动KafkaOffsetMonitor4.运行KafkaOffsetMonitor Overview 这次做服务器，计划加入消息队列，并在web页面显示当前提交的序列处理状态和已处理序列的信息。我们知道，在后台命令行中可以看到kafka的消息者处理消息的状态，但是，对于访问者来说，查看命令行是不现实的，于是我们便采用了KafkaOffsetMonitor这一开源软件。Github的下载地址如下:Kafka Offset Monitor。 1. 安装jdk,zookeeper,kafka 这部分可以参考上一篇文章：ubuntu14.04单机安装配置zookeeper和kafka。 2. 安装配置KafkaOffsetMonitor 新建一个文件夹，比如我在kafka文件夹下建立子文件夹kafkaMonitor下载好以后，把这个KafkaOffsetMonitor-assembly-0.2.0.jar文件放入kafkaMonitor文件夹。在当前位置新建一个kafkaMonitor.sh文件，文件内容如下： #! /bin/bash java -cp KafkaOffsetMonitor-assembly-0.2.0.jar \ com.quantifind.kafka.offsetapp.OffsetGetterWeb \ --zk localhost:2181 \ --port 8089 \ --refresh 10.seconds \ --retain 7.days 上面是最关键的几条配置，剩余配置不写也可以运行。逐一分析上面每一项配置： --zk 这里写的地址和端口，是zookeeper集群的各个地址和端口。应和kafka/bin文件夹中的zookeeper.properties中的host.name和clientPort一致。本机是host.name=localhost，clientPort=2181。 --port 这个是本软件KafkaOffsetMonitor的端口。注意不要使用那些著名的端口号，例如80,8080等。我采用了8089. --refresh 这个是软件刷新间隔时间，不要太短也不要太长。 --retain 这个是数据在数据库中保存的时间。 3. 启动KafkaOffsetMonitor 首先，启动zookeeper 切换到/home/young/zookeeper/bin目录下，运行下面命令： ./zkServer.sh start 然后，启动kafka： 切换到/home/young/kafka目录下，执行下面命令： bin/kafka-server-start.sh config/server.properties 最后，启动KafkaOffsetMonitor： 切换到/home/young/kafka/kafkaMonitor目录下面，执行下面命令： ./kafkaMonitor.sh 如果显示如下，就证明成功了： serving resources from: jar:file:/home/young/kafka/kafkaMonitor/KafkaOffsetMonitor-assembly-0.2.0.jar!/offsetapp SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 2016-06-10 12:05:13.724:INFO:oejs.Server:jetty-7.x.y-SNAPSHOT log4j:WARN No appenders could be found for logger (org.I0Itec.zkclient.ZkConnection). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 2016-06-10 12:05:13.781:INFO:oejsh.ContextHandler:started o.e.j.s.ServletContextH…

ubuntu14.04单机安装配置zookeeper和kafka
type: item
date: 2016-06-06T07:30:00+00:00
description: Overview1.安装配置zookeeper单机模式2.安装配置kafka单机模式2.1 配置server.properties2.2 配置zookeeper.properties2.3 配置producer.properties2.4 配置consumer.properties2.5 补充说明3.kafka的使用3.1 启动zookeeper服务3.2 启动kafka服务3.3 创建话题topic3.4 启动生产者producer3.5 启动消费者consumer Overview T4这个项目实验部分已经结束，下面需要将服务器做出来。为了方便以后扩展分布式的需要，这次将会运用Apache Kafka这个分布式消息发布订阅系统，以满足多人同时提交计算T4序列，解决并发排队问题。Apache kafka的详细介绍详见官网：Apache kafka。 运行Apache Kafka，需要先安装好jdk和zookeeper。jdk安装过程就不赘述了。 1.安装配置zookeeper单机模式 这里，我们选择的是zookeeper-3.4.5这个版本，官网下载链接zookeeper-3.4.5。下载之后将zookeeper-3.4.5.tar.gz移动到主文件夹并重命名： mv Downloads/zookeeper-3.4.5.tar.gz zookeeper.tar.gz 然后解压缩为zookeeper文件夹： tar -zxvf zookeeper.tar.gz 切换到zookeeper/conf目录： cd /home/young/zookeeper/conf 复制zoo_simple.cfg为zoo.cfg: cp zoo_simple.cfg zoo.cfg 打开zoo.cfg并修改内容如下： initLimit=10 syncLimit=5 dataDir=/home/young/zookeeper/data clientPort=2181 配置好后，手动创建dataDir目录： mkdir /home/young/zookeeper/data 为zookeeper配置环境变量，打开/etc/profile，在结尾添加如下两句，并保存： export ZOOKEEPER_HOME=/home/young/zookeeper export PATH=.:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH 切换到zookeeper/bin目录： cd /home/young/zookeeper/bin 启动zookeeper的server： ./zkServer.sh start 显示效果如下，则证明zookeeper配置成功： JMX enabled by default Using config: /home/young/zookeeper/bin/zookeeper/conf/zoo.cfg Starting zookeeper ... STARTED 需要结束服务时，仍在本目录下，执行如下命令即可： ./zkServer.sh stop 2.安装配置kafka单机模式 我们选择的是kafka_2.10-0.8.1.1.tgz，下载链接在这里：Apache kafka。下载之后放到主文件夹，并改名为kafka.tgz，然后解压缩到当前文件夹： tar -zxvf kafka.tgz 切换到kafka/config目录： cd /home/young/kafka/config 这里，我们需要修改4个配置文件：server.properties，zookeeper.properties，producer.properties，consumer.properties。 2.1 配置server.properties 下面几项是必须修改的，其他项目为默认配置： #broker.id需改成正整数，单机为1就好 broker.id=1 #指定端口号 port=9092 #localhost这一项还有其他要修改，详细见下面说明 host.name=localhost #指定kafka的日志目录 log.dirs=/home/young/kafka/kafka-logs #连接zookeeper配置项，这里指定的是单机，所以只需要配置localhost，若是实际生产环境，需要在这里添加其他ip地址和端口号 zookeeper.connect=localhost:2181 然后手动创建log.dirs空目录： mkdir /home/young/kafka/kafka-logs 2.2 配置zookeeper.properties 很简单，这个文件暂时只需要修改3项： #数据目录 dataDir=/home…