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 ...
随机推荐
- C# winform开发嵌套Chrome内核浏览器(WebKit.net)开发(一)
https://www.cnblogs.com/Maxq/p/6566558.html WebKit.net是对WebKit的.Net封装, 使用它.net程序可以非常方便的集成和使用webkit作为 ...
- Nginx Session Sticky
nginx的粘性session主要通过nginx-sticky-module实现 1 下载 nginx-sticky-module 下载地址:https://code.google.com/p/ngi ...
- Python中的类(上)
在Python中,可以通过class关键字定义自己的类,然后通过自定义的类对象类创建实例对象. 例如,下面创建了一个Student的类,并且实现了这个类的初始化函数"__init__&quo ...
- IDEA maven项目下测试mybatis例子,使用mappper class或package引入mapper映射文件,总是报错Invalid bound statement(所有配置完全正确)
困扰几个小时,终于查到解决办法及原因(可以直接到最后看解决方案) 环境就是用IDEA搭建的maven项目,主要jar包引入配置如下 <dependencies> <dependenc ...
- PostgreSQL存储过程(5)-异常错误处理
1. 异常错误处理 在PL/pgSQL函数中,如果没有异常捕获,函数会在发生错误时直接退出,与其相关的事物也会随之回滚.我们可以通过使用带有EXCEPTION子句的BEGIN块来捕获异常并使其从中恢复 ...
- 使用dshow抓取摄像头数据时,回调函数时间为0的问题
在使用dshow抓取摄像头数据,调用dshow的回调函数,如果发现SampleTime一直为0,如下图 那极有可能是使用RenderStream函数连接Filter时,指定的第一个参数为 PIN_CA ...
- linux 信息收集脚本。转自insight-labs
找出所有.sh .pl .py .conf .cnf .ini .*history .*pass* (/usr/share目录里面的除外) 并且在当前目录zip打包.有些时候很多配置文件的权限配置不严 ...
- Python系统编程笔记
01. 进程与程序 编写完毕的代码,在没有运行的时候,称之为程序 正在运行着的代码,就称为进程 进程是系统分配资源的最小单位. 进程资源包括: 中间变量 代码 计数器 02. 通过os.fork()函 ...
- activity的启动模式有哪些?
Activity启动模式设置: <activity android:name=".MainActivity" android:launchMode="standar ...
- 查询SQlServer相同表结构差异
USE [数据库名] GO ); ); ); ); SET @DataName1='库1'; SET @DataName2='库2'; SET @TableName1='表1'; SET @Table ...