Zookeeper 安装和安排

3.此外大家需要安排Kafka监听所有的网卡:listeners=
PLAINTEXT://0.0.0.0:9092

 

2.要使经纪人指向正确的网卡地址,那么我们就需要指定host.name =
192.168.168.3,让代理之间通信使用其中网络

集群格局

集群情势的配置和伪集群基本一致.
出于集群形式下, 各server部署在不同的机械上,
由此各server的conf/zoo.cfg文件可以完全一样.
下边是一个演示:

Bash代码  

  1. tickTime=2000    
  2. initLimit=5    
  3. syncLimit=2    
  4. dataDir=/home/zookeeper/data    
  5. dataLogDir=/home/zookeeper/logs    
  6. clientPort=4180  
  7. server.43=10.1.39.43:2888:3888  
  8. server.47=10.1.39.47:2888:3888    
  9. server.48=10.1.39.48:2888:3888  

演示中布置了3台zookeeper server, 分别部署在10.1.39.43, 10.1.39.47,
10.1.39.48上. 需要留意的是,
各server的dataDir目录下的myid文件中的数字必须不同.

10.1.39.43 server的myid为43, 10.1.39.47 server的myid为47, 10.1.39.48
server的myid为48.

我们先来看下Kafka多少个参数的演讲:

单机格局

点击这里下载zookeeper的安装包之后,
解压到合适目录. 进入zookeeper目录下的conf子目录, 创造zoo.cfg:

Bash代码  

  1. tickTime=2000    
  2. dataDir=/Users/apple/zookeeper/data    
  3. dataLogDir=/Users/apple/zookeeper/logs    
  4. clientPort=2181   

参数表达:

  • tick提姆e: zookeeper中使用的主导时间单位, 毫秒值.
  • dataDir: 数据目录. 可以是随便目录.
  • dataLogDir: log目录, 同样可以是擅自目录. 假如没有安装该参数,
    将采纳和dataDir相同的设置.
  • clientPort: 监听client连接的端口号.

至今, zookeeper的单机形式已经配备好了. 启动server只需运行脚本:

Bash代码  

  1. bin/zkServer.sh start  

 Server启动之后, 就足以启动client连接server了, 执行脚本:

Bash代码  

  1. bin/zkCli.sh -server localhost:2181  

 

大数额平台服务器处于多少个网络中,其中内部网络用来展开数据互换和测算,配置万兆光纤网卡和光纤互换机;外部网络用来为此外机关提供服务,数据接口,这里运用的是千兆网络.Kafka的商户集群处于内部网络中,而外部网络需要订阅消费Kafka中的留数据,就需要拜访内网这里我们需要加上接个配置以使Kafka可以由另外网来做客:

伪集群情势

所谓伪集群, 是指在单台机器中启动三个zookeeper进程, 并组成一个集群.
以启动3个zookeeper进程为例.

将zookeeper的目录拷贝2份:

Bash代码  

  1. |–zookeeper0  
  2. |–zookeeper1  
  3. |–zookeeper2  

 更改zookeeper0/conf/zoo.cfg文件为:

Bash代码  

  1. tickTime=2000    
  2. initLimit=5    
  3. syncLimit=2    
  4. dataDir=/Users/apple/zookeeper0/data    
  5. dataLogDir=/Users/apple/zookeeper0/logs    
  6. clientPort=4180  
  7. server.0=127.0.0.1:8880:7770    
  8. server.1=127.0.0.1:8881:7771    
  9. server.2=127.0.0.1:8882:7772  

增产了多少个参数, 其含义如下:

  • initLimit: zookeeper集群中的包含多台server, 其中一台为leader,
    集群中另外的server为follower. initLimit参数配置伊始化连接时,
    follower和leader之间的最长心跳时间. 此时该参数设置为5,
    表明时间限制为5倍tick提姆(Tim)e, 即5*2000=10000ms=10s.
  • syncLimit: 该参数配置leader和follower之间发送新闻,
    请求和回应的最大时间长度. 此时该参数设置为2,
    表达时间范围为2倍tickTime, 即4000ms.
  • server.X=A:B:C 其中X是一个数字, 表示这是第几号server.
    A是该server所在的IP地址.
    B配置该server和集群中的leader交流音信所选择的端口.
    C配置选举leader时所运用的端口. 由于配备的是伪集群格局,
    所以各样server的B, C参数必须不同.

参照zookeeper0/conf/zoo.cfg, 配置zookeeper1/conf/zoo.cfg,
和zookeeper2/conf/zoo.cfg文件. 只需更改dataDir, dataLogDir,
clientPort参数即可.

在事先安装的dataDir中新建myid文件, 写入一个数字,
该数字代表这是第几号server.
该数字必须和zoo.cfg文件中的server.X中的X一一对应.
/Users/apple/zookeeper0/data/myid文件中写入0,
/Users/apple/zookeeper1/data/myid文件中写入1,
/Users/apple/zookeeper2/data/myid文件中写入2.

独家进入/Users/apple/zookeeper0/bin, /Users/apple/zookeeper1/bin,
/Users/apple/zookeeper2/bin两个目录, 启动server.
肆意采用一个server目录, 启动客户端:

Bash代码  

  1. bin/zkCli.sh -server localhost:2181 
  • 1
  • 2
  • 3

Zookeeper的装置和配备相当简便, 既可以安排成单机情势,
也足以配备成集群格局. 上边将各自举办介绍.

从官方的表明上,大家可以明白:

  • 1
  • 2
  • 3
#listeners=PLAINTEXT://:9092
#advertised.listeners=PLAINTEXT://your.host.name:9092
zookeeper.connect=localhost:2181

http://www.tuicool.com/articles/ye6Bfi

#listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://x.x.x.x:9092
zookeeper.connect=localhost:2181
advertised.host.name 主机名发布到ZooKeeper供客户使用。在IaaS环境中,这可能需要与代理绑定的接口不同。如果未设置,则将使用“host.name”的值(如果已配置)。否则,它将使用从java.net.InetAddress.getCanonicalHostName()返回的值。

主机名

经纪人的主机名。如果这个设置,它只会绑定到这个地址。如果没有设置,它将绑定到所有接口

听众

监听器列表 – 用逗号分隔的URI列表及其协议。指定主机名为0.0.0.0以绑定到所有接口。保留主机名为空以绑定到默认界面。合法侦听器列表的示例:PLAINTEXT:// myhost:9092,TRACE://:9091 PLAINTEXT://0.0.0.0:9092,TRACE:// localhost:9093

  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

Kafka不能集群外网访问问题迎刃而解情势  
上课本地消费者和劳动者不能够利用远程Kafka服务器的处理办法

 

1.要使远程客户端和代办通信的时候针对正确的主机那么就需要指定advertised.host.name
= bigdata3参数,这里bigdata3需要配置到主机中

条件表明:  
Kafka服务器:  
阿里云VPC网络服务器,内网IP:10.10.10.10,绑定的弹性IP(外网IP)XXXX,是单机测试环境,ZK和Kafka都在一台机械上,使用默认端口,kakfa是9092,动物园管理员是2181.kafka版本:kafka_2.11-0.10.1.0

 

有关advertised.listeners这么些布局的含义,官网有说明:  
如果不同于下边的监听器,监听器可以发表给ZooKeeper供客户使用。在IaaS环境中,这可能需要与代理绑定的接口不同。假使没有设置,值  listeners 将被使用。  
详情:http//kafka.apache.org/documentation/#configuration

测试发现本机,可以正常发布音信,消费音信,可是公司机器不可以。

Kafka是默认配置,没有改动:

  • 1
  • 2
  • 3

有没有不需要绑定hosts,更伟大上的方案吗?有!  
2,经各样测试后意识,修改kafka的advertised.listeners配置即可:

http://blog.csdn.net/fengcai19/article/details/54695874?utm\_source=itdadao&utm\_medium=referral

亲测,有了这么些布局,Kafka就会忽视听众配置。

  • 1
  • 2
  • 3

劳动搭建好Kafka服务后,机本。测试 OK,外面机器却不可能访问,十分千奇百怪。

打响通过测试,完美解决问题。

看日志发现是主机名不能辨认,所以最简便易行的方案就是:  
1,本机绑定主机,即修改/ etc / hosts,添加10.10.10.10主机名到hosts文件。

发表评论

电子邮件地址不会被公开。 必填项已用*标注