kafka window环境搭建
1部署zookeeper
ZooKeeper的安装模式分为三种,分别为:单机模式(stand-alone)、集群模式和集群伪分布模式。
1、运行环境:ZooKeeper 要求 JAVA 6 以上的环境才能运行,并对JAVA 环境变量进行设置。
java安装路径最好不要包含空格
2、下载:从Apache官方网站下载一个ZooKeeper 的最近稳定版本(http://hadoop.apache.org/zookeeper/releases.html )。
作为国内用户来说,选择最近的的源文件服务器所在地,能够节省不少的时间:http://labs.renren.com/apache-mirror//hadoop/zookeeper/
我下载了zookeeper-3.4.12.tar.gz
3、解压:得到zookeeper-3.4.12
4、配置:
ZooKeeper 服务器包含在单个 JAR 文件中,安装此服务需要用户创建一个配置文档,并对其进行设置。
- zookeeper-3.4.12/conf下有zoo_sample.cfg,复制1份,可重命名为zoo.cfg
- 打开zoo.cfg 修改如下:
#基本事件单元,以毫秒为单位。它用来指示心跳,最小的 session 过期时间为两倍的 tickTime
tickTime=2000
#存储内存中数据库快照的位置,如果不设置参数,更新事务日志将被存储到默认位置
dataDir=E:\zookeeper-3.4.\data\
#监听客户端连接的端口
clientPort=使用单机模式时用户需要注意:这种配置方式下没有 ZooKeeper 副本,所以如果 ZooKeeper 服务器出现故障, ZooKeeper 服务将会停止。
5、集群模式:
为了获得可靠的 ZooKeeper 服务,用户应该在一个集群上部署 ZooKeeper 。只要集群上大多数的ZooKeeper 服务启动了,那么总的 ZooKeeper 服务将是可用的。另外,最好使用奇数台机器。 如果 zookeeper拥有 5 台机器,那么它就能处理 2 台机器的故障了。
每台机器上 conf/zoo.cfg 配置文件的参数设置参考:
tickTime=
dataDir=D:\data\zookeeper\
clientPort=
initLimit=
syncLimit=
server.=zoo1::
server.=zoo2::
server.=zoo3::
“ server.id=host:port:port. ”指示了不同的 ZooKeeper 服务器的自身标识,作为集群的一部分的机器应该知道 ensemble 中的其它机器。用户可以从“ server.id=host:port:port. ”中读取相关的信息。 在服务器的 data( dataDir 参数所指定的目录)目录下创建一个文件名为 myid 的文件,这个文件中仅含有一行的内容,指定的是自身的 id 值。比如,服务器“ 1 ”应该在 myid 文件中写入“ 1 ”。这个 id 值必须是 ensemble 中唯一的,且大小在 1 到 255 之间。这一行配置中,第一个端口( port )是从( follower )机器连接到主( leader )机器的端口,第二个端口是用来进行 leader 选举的端口。在这个例子中,每台机器使用三个端口,分别是: clientPort ,2181 ; port , 2888 ; port , 3888 。
6、集群伪分布
在单机下模拟集群的ZooKeeper服务
在 zookeeper 配置文档中, clientPort参数用来设置客户端连接 zookeeper 的端口。
server.1=IP1:2887:3887 中,
IP1 指示的是组成 ZooKeeper 服务的机器 IP 地址,
2887 为用来进行 leader 选举的端口,
3887 为组成 ZooKeeper 服务的机器之间通信的端口。
集群伪分布模式我们使用每个配置文档模拟一台机器,也就是说,需要在单台机器上运行多个 zookeeper 实例。
但是,我们必须要保证各个配置文档的 clientPort 不能冲突。
下面是我们所配置的集群伪分布模式,通过 zoo1.cfg , zoo2.cfg , zoo3.cfg 模拟了三台机器的 ZooKeeper集群。
zoo1.cfg:
tickTime=2000
initLimit=
syncLimit=5
#注意路径格式
dataDir=E:/zookeeper-3.4.12/data/1
clientPort=
server.=localhost::
server.=localhost::
server.=localhost::
zoo2.cfg:
tickTime=
initLimit=
syncLimit=dataDir=E:/zookeeper-3.4.12/data/2
clientPort=
server.=localhost::
server.=localhost::
server.=localhost::
zoo3.cfg:
tickTime=
initLimit=
syncLimit=dataDir=E:/zookeeper-3.4.12/data/3
clientPort=
server.=localhost::
server.=localhost::
server.=localhost::
E:\zookeeper-3.4.12\data\1\myid、2\myid、3\myid中写对应得数字:1、2、3即可
启动配置:zkServer.cmd同样复制三份:zkServer-1.cmd、zkServer-2.cmd、zkServer-3.cmd
在每份配置中增加对应的配置文件:
set ZOOCFG=..\conf\zoo1.cfg
set ZOOCFG=..\conf\zoo2.cfg
set ZOOCFG=..\conf\zoo3.cfg
@echo off
REM Licensed to the Apache Software Foundation (ASF) under one or more
REM contributor license agreements. See the NOTICE file distributed with
REM this work for additional information regarding copyright ownership.
REM The ASF licenses this file to You under the Apache License, Version 2.0
REM (the "License"); you may not use this file except in compliance with
REM the License. You may obtain a copy of the License at
REM
REM http://www.apache.org/licenses/LICENSE-2.0
REM
REM Unless required by applicable law or agreed to in writing, software
REM distributed under the License is distributed on an "AS IS" BASIS,
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
REM See the License for the specific language governing permissions and
REM limitations under the License. setlocal
call "%~dp0zkEnv.cmd" set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
set ZOOCFG=..\conf\zoo1.cfg
echo on
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %* endlocal
7、启动:
运行:E:\zookeeper-3.4.12\bin\zkServer.cmd
伪集群则运行三个:zkServer-1.cmd、zkServer-2.cmd、zkServer-3.cmd
8、可以为zookeeper添加环境变量:
ZOOKEEPER_HOME: D:\zookeeper-3.4.8
Path: 在现有的值后面添加 ;%ZOOKEEPER_HOME%\bin;
9、运行过程遇到的问题:
dataDir路径配置错误,导致启动失败,报文件找不到,
应该是linux路径写法:E:/zookeeper-3.4.12/data/1 而不是
E:\zookeeper-3.4.12\data\1
2 安装运行kafka
1 下载安装文件: http://kafka.apache.org/downloads.html 2 解压文件(本文解压得到 E:\kafka_2.11-1.1.0) 3 打开E:\kafka_2.11-1.1.0\config\server.properties
4 把 log.dirs的值改成 log.dirs=E:\kafka_2.11-1.1.0\data\logs\kafka
5 E:\kafka_2.11-1.1.0\bin文件夹下的.sh命令脚本是在shell下运行的,此文件夹下还有个 windows文件夹,里面是windows下运行的.bat命令脚本
6 在E:\kafka_2.11-1.1.0文件夹中”Shift+鼠标右键”点击空白处打开命令提示窗口
7 输入并执行一下命令以打开kafka:
.\bin\windows\kafka-server-start.bat .\config\server.properties
启动报错:

解决方案:E:\kafka_2.11-1.1.0\bin\windows\kafka-run-class.bat,找到:
rem JVM performance options
IF ["%KAFKA_JVM_PERFORMANCE_OPTS%"] EQU [""] (
set KAFKA_JVM_PERFORMANCE_OPTS=-server -XX:+UseG1GC -XX:MaxGCPauseMillis= -XX:InitiatingHeapOccupancyPercent= -XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=true
)
去掉
-XX:+UseG1GC
kafka window环境搭建的更多相关文章
- kafka单机环境搭建及其基本使用
最近在搞kettle整合kafka producer插件,于是自己搭建了一套单机的kafka环境,以便用于测试.现整理如下的笔记,发上来和大家分享.后续还会有kafka的研究笔记,依然会与大家分享! ...
- window环境搭建zookeeper,kafka集群
为了演示集群的效果,这里准备一台虚拟机(window 7),在虚拟机中搭建了单IP多节点的zookeeper集群(多IP节点的也是同理的),并且在本机(win 7)和虚拟机中都安装了kafka. 前期 ...
- Kafka 分布式环境搭建
这篇文章将介绍如何搭建kafka环境,我们会从单机版开始,然后逐渐往分布式扩展.单机版的搭建官网上就有,比较容易实现,这里我就简单介绍下即可,而分布式的搭建官网却没有描述,我们最终的目的还是用分布式来 ...
- Kafka开发环境搭建(五)
如果你要利用代码来跑kafka的应用,那你最好先把官网给出的example先在单机环境和分布式环境下跑通,然后再逐步将原有的consumer.producer和broker替换成自己写的代码.所以在阅 ...
- Kafka分布式环境搭建 (二)赞
这篇文章将介绍如何搭建kafka环境,我们会从单机版开始,然后逐渐往分布式扩展.单机版的搭建官网上就有,比较容易实现,这里我就简单介绍下即可,而分布式的搭建官网却没有描述,我们最终的目的还是用分布式来 ...
- Kafka单机版环境搭建
使用版本:kafka_2.10-0.8.1.1 安装: -0.8.1.1.tgz -C ~/app/ 添加环境变量:.bash_profile export KAFKA_HOME=/home/spar ...
- kafka的环境搭建
kafka是一个高吞吐量的消息系统.隔离消息接收和处理过程(可理解为一个缓存) 1.kafka伪分布的部署 1.1.下载并解压 1.2.启动zk bin/zookeeper-server-start. ...
- kafka windows环境搭建 测试
http://www.cnblogs.com/alvingofast/p/kafka_deployment_on_windows.html 照着例子搭建成功
- kafka window环境下使用(内置zookeeper)
下载 kafka 官网下载最新版本(已集成 zookeeper) 解压到 D 盘的 kafka_2.12-2.3.0 运行 zookeeper 执行 zookeeper 运行命令 D:\kafka_2 ...
随机推荐
- 8 -- 深入使用Spring -- 4...1 为什么需要AOP
8.4.1 为什么需要AOP AOP专门用于处理系统中分布于各种模块(不同方法)中的交叉关注点的问题,在Java EE应用中,常常通过AOP来处理一些具有横切性质的系统级服务,如事务管理.安全检查.缓 ...
- 线程同步 –Mutex和Semaphore
上一篇介绍了同步事件EventWaitHandle,以及它的两个子类型AutoResetEvent和ManualResetEvent.下面接着介绍WaitHandle的另外两个子类型Mutex和Sem ...
- ios开发之-- tableview/collectionview获取当前点击的cell
方法如下: 一般collectionView 或者 tableview都有自带的点击函数,如下: , collectionView -(void)collectionView:(UICollectio ...
- c++的字节对齐
win32平台下的微软C编译器对齐策略: 1)结构体变量的首地址能够被其最宽数据类型成员的大小整除.编译器在为结构体变量开辟空间时,首先找到结构体中最宽的数据类型,然后寻找内存地址能被该数据类型大小整 ...
- sql 替换字符串
MSSQL替换语句: )),'abc.com','123.com') 例如: update PE_Article set Content=replace(cast(Content as varchar ...
- asp.net 验证码
Before proceeding with the topic first we must understand "What is a Captcha code?" and &q ...
- Qt Creator build遇到error lnk1158 无法运行rc.exe
解决办法: 将C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64 目录下的rc.exe 和rcdll.dll 复制到 C:\Prog ...
- U3D教程宝典之两步实现超实用的XML存档
两步实现超实用的XML存档 本套存档的优点:易使用,跨平台,防作弊(内容加密 + 防拷贝) 脚本下载地址 使用方法非常简单:把GameDataManager和XmlSaver两个脚本添加至工程后(1) ...
- centos6.4搭建ftp服务器
在centos环境下搭建ftp服务器,选择用vsftpd. 1.检测是否已经安装vsftpd # rpm -qa | grep vsftpd 如果已经安装vsftpd,会显示相应版本号.没有任何提示, ...
- adc转换原理
模数转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件.通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号.由于数字信号本身不具有实际意义,仅仅表示一个相对大 ...

