zookeeper+kafka分布式
来源:互联网 发布:淘宝网131458 编辑:程序博客网 时间:2024/05/22 19:28
版本:
CentOS-6.5-x86_64
zookeeper-3.4.6
kafka_2.10-0.10.1.0
一、zookeeper配置
1.下载 $wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
2.解压 $tar zxvf zookeeper-3.4.6.tar.gz
3.配置
$ cd zookeeper-3.4.6
$ cp -rf conf/zoo_sample.cfg conf/zoo.cfg
$ vim zoo.cfg
#Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔
tickTime=2000
#Zookeeper接受Follower客户端初始化连接时最长能忍受多少个心跳时间间隔数,总的时间长度就是5*2000=10 秒
initLimit=5
#标识 Leader与Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime的时间长度,总的时间长度就是5*2000=10秒
syncLimit=5
#快照日志的存储路径
dataDir=/opt/zookeeper-3.4.6/zkdata
#事物日志的存储路径,如果不配置这个那么事物日志会默认存储到dataDir制定的目录,这样会严重影响zk的性能,当zk吞吐量较大的时候,产生的事物日志、快照日志太多
dataLogDir=/opt/zookeeper-3.4.6/zkdatalog
#端口
clientPort=2181
#这个1是服务器的标识也可以是其他的数字,表示这个是第几号服务器,用来标识服务器,这个标识要写到快照目录下面myid文件里
第一个端口是通信端口,默认是2888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口
server.1=192.168.61.132:2888:3888
server.2=192.168.61.133:2888:3888
server.3=192.168.61.134:2888:3888
4.创建myid文件
#server1
echo "1" > /opt/zookeeper-3.4.6/zkdata/myid
#server2
echo "2" > /opt/zookeeper/zkdata/myid
#server3
echo "3" > /opt/zookeeper/zkdata/myid
5.配置环境变量(可选)
PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$ZOOKEEPER_HOME/lib:
6.启动zookeepers $ sh zkServer.sh start
7.注意点
zookeeper不会主动的清除旧的快照和日志文件,这个是操作者的责任。二、kafka配置
1.下载kafka wget http://apache.fayea.com/kafka/0.10.0.1/kafka_2.10-0.10.0.1.tgz
2.解压 tar –zxf kafka_2.10-0.10.0.1.tgz
3. 配置 进入kafka安装工程根目录编辑config/server.properties
#消息存放的目录,这个目录可以配置为“,”逗号分割的表达式
log.Dirs =/opt/kafka_2.10-0.10.1.0/kalog
#当前机器在集群中的唯一标识,和zookeeper的myid性质一样
broker.id=0
#kafka对外提供服务的端口默认是9092
port=9092
#默认是关闭的,在0.8.1有个bug,DNS解析问题,失败率的问题
host.name=192.168.7.100
#默认的分区数,一个topic默认1个分区数
num.partitions=1
#默认消息的最大持久化时间,168小时,7天
log.retention.hours=168
#zookeeper的连接端口
zookeeper.connect=192.168.61.132:2181,192.168.61.133:2181,192.168.61.134:2181
4.启动kafka
$ shbin/kafka-server-start.sh config/server.properties &
5.新建一个TOPIC
$ sh kafka-topics.sh --create --topic kafkatopic --replication-factor 1--partitions 1 --zookeeper localhost:2181
6.把KAFKA的生产者启动起来
$ sh kafka-console-producer.sh --broker-listlocalhost:9092 --sync --topic kafkatopic
7.另开一个终端,把消费者启动起来
$ sh kafka-console-consumer.sh --zookeeperlocalhost:2181 --topic kafkatopic --from-beginning
8.使用
在发送消息的终端输入test1,则可以在消费消息的终端显示
9.日志说明
默认kafka的日志是保存在/opt/kafka_2.10-0.10.1.0/logs目录下
#kafka的运行日志
server.logs
#kafka是用zookeeper来保存状态,所以可能会进行切换,切换的日志
state-change.log
#kafka选择一个节点作为“controller”,当发现有节点down掉的时候它负责在游泳分区的所有节点中选择新的leader,这使得Kafka可以批量的高效的管理所有分区节点的主从关系。如果controller down掉了,活着的节点中的一个会备切换为新的controller
controller.log#使用客户端进入zk
./zkCli.sh -server 127.0.0.1:2181 #默认是不用加’-server‘参数的修改默认端口
#查看目录情况执行“ls /”
[zk: 127.0.0.1:12181(CONNECTED) 0]ls /
#显示结果:[consumers, config, controller,isr_change_notification, admin, brokers, zookeeper,controller_epoch]
上面的显示结果中:只有zookeeper是,zookeeper原生的,其他都是Kafka创建的
#标注一个重要的
[zk: 127.0.0.1:12181(CONNECTED) 1] get/brokers/ids/0
#还有一个是查看partion
[zk: 127.0.0.1:12181(CONNECTED) 7] get/brokers/topics/shuaige/partitions/0
------------------------------------------------------------------------------------------
参考:
http://www.cnblogs.com/luotianshuai/p/5206662.html(集群搭建)
http://blog.csdn.net/lizhitao/article/category/2194509(博客)
http://blog.csdn.net/louisliaoxh/article/details/51577117(Consumer)
http://blog.csdn.net/qq_35799003/article/details/52238744(Producer)
- zookeeper+kafka分布式
- 浅谈分布式组件-kafka、zookeeper
- Zookeeper(九)依赖于ZooKeeper的分布式消息系统Kafka
- Zookeeper 与 Kafka (1) : 分布式一致性原理与实践
- Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis+KafKa j2ee分布式架构
- Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis+KafKa j2ee分布式架构
- ZooKeeper在大型分布式系统中的应用之Kafka。
- zookeeper+kafka
- jeesz分布式企业框架 javaWeb分布式架构 springmvc+mybatis+shiro dubbo zookeeper redis kafka app服务
- jeesz分布式企业框架 javaWeb分布式架构 springmvc+mybatis+shiro dubbo zookeeper redis kafka app服务
- Kafka分布式
- JEESZ分布式企业架构使用技术dubbo zookeeper redis kafka restful springmvc ehcache
- 【推荐】微服务分布式企业框架 Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis+KafKa
- 【推荐】微服务大型分布式企业框架 Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis+KafKa
- 好文分享--java企业架构 spring mvc +mybatis + KafKa+Flume+Zookeeper分布式架构
- Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis+KafKa j2ee分布式架构核心技术
- jeesz分布式架构 Dubbo、zookeeper、KafKa、redis、fastdfs、单点登录sso、springmvc+mybatis+shiro、Restful服务
- Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis+KafKa j2ee分布式架构核心技术
- 常用adb命令
- 逐心
- elasticsearch 安装中遇到的坑
- Angular 2 中的 Output和Input的使用
- 初尝Python爬虫
- zookeeper+kafka分布式
- 2016.12.27linux下的C语言gdb调试
- QT中文件目录相关的函数已经操作
- solr在windows下的搭建
- 杨辉三角形
- JavaScript在selenium当中的使用
- js 判断当前的手机系统类型
- 买房:没有大哭过的人生不足以谈买房
- 程序员容易忽略的SQL Server错误集锦