zookeeper_0_搭建集群模式以及遇到的问题
2018-11-08 16:33
417 查看
title: zookeeper搭建集群模式以及遇到的问题
tags: zookeeper
author: 辰砂
搭建步骤
一. 安装jdk(我准备的是1.8版本)
二.搭建zookeeper集群模式
1.环境准备
本地虚拟机准备三台虚拟机准备搭建
192.168.70.130 node1 192.168.70.131 node2 192.168.70.132 node3
在官网上下载zookeeper 的包并拷贝到三个节点上
scp zookeeper-3.5.0-alpha.tar.gz root@192.168.70.132:/home/taojian/software/zookeeper
更改文件,由于zookeeper会用到zoo.cfg,所以需要找到位置并修改
路径/home/taojian/software/zookeeper/zookeeper-3.5.0-alpha/conf 下面的 zoo_sample.cfg 文件需要改名 命令: mv zoo_sample.cfg zoo.cfg
更改zoo.cfg文件内容
initLimit=5 syncLimit=2 clientPort=2181 tickTime=2000 dataDir=/home/taojian/software/zookeeper/data dataLogDir=/home/taojian/software/zookeeper/datalog server.1=192.168.70.130:2888:3888 server.2=192.168.70.131:2888:3888 server.3=192.168.70.132:2888:3888
注意:
dataDir 和dataLogDir 里面的路径文件一定需要存在,同时需要在dataDir路径下面创建文件myid,表明当前的id。假如 192.168.70.130 这个节点,在zoo.cfg 的配置文件上是server.1在里面配置1就可以了
zoo.cfg 这个文件是三台机器上面都需要存在的,统一文件即可
验证服务
在不同的节点上面启动zookeeper服务
sh zkServer.sh start sh zkServer.sh status sh zkServer.sh stop
查看状态后出现了每一个zookeeper的身份说明运行成功
问题总结
1.在启动zookeeper服务的时候出现 UnkownHostException :未知的服务 这种情况的时候,可以查看你的防火墙的问题
firewall-cmd --state # 查看防火墙是否running systemctl stop firewalld.service # 关闭防火墙 systemctl disable firewalld.service # 开机防止启动防火墙 firewall-cmd --state
2.集群搭建完成后发现ip变动,vmfusion上面固定IP
1.在你本地终端查看 sudo vim /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf\n 2.修改 subnet 192.168.70.0 netmask 255.255.255.0 { # range是ip范围 range 192.168.70.128 192.168.70.254; option broadcast-address 192.168.70.255; option domain-name-servers 192.168.70.2; option domain-name localdomain; default-lease-time 1800; host CentOS7_node1 { # CentOS7_node1 你的虚拟机名字 hardware ethernet 00:50:56:27:40:E2; # 你的虚拟机节点的mac地址 fixed-address 192.168.70.130; #固定ip ,当然这个固定ip需要在上面的ip范围内 }
3.java如何连接zookeeper(原生的zookeeper的API,zkClient和Curator)
演示:原生的zookeeper
public class ZookeeperBase { /** zookeeper地址 */ static final String CONNECT_ADDR = "192.168.70.130:2181,192.168.70.131:2181,192.168.70.132:2181"; /** session超时时间 */ static final int SESSION_OUTTIME = 2000;//ms /** 信号量,阻塞程序执行,用于等待zookeeper连接成功,发送成功信号 */ static final CountDownLatch connectedSemaphore = new CountDownLatch(1); public static void main(String[] args) throws Exception{ ZooKeeper zk = new ZooKeeper(CONNECT_ADDR, SESSION_OUTTIME, new Watcher(){ @Override public void process(WatchedEvent event) { //获取事件的状态 KeeperState keeperState = event.getState(); EventType eventType = event.getType(); //如果是建立连接 if(KeeperState.SyncConnected == keeperState){ if(EventType.None == eventType){ //如果建立连接成功,则发送信号量,让后续阻塞程序向下执行 connectedSemaphore.countDown(); System.out.println("zk 建立连接"); } } } }); //进行阻塞 connectedSemaphore.await();
相关文章推荐
- 复制虚拟机vmware centos搭建集群节点过程中网络配置eth0和eth1遇到的问题以及NAT模式下虚拟机静态IP配置方法
- 一台虚拟机上搭建伪zookeeper集群遇到的问题--connect refused
- 09 redis集群的搭建 以及遇到的问题
- redis集群搭建 以及搭建过程中遇到的问题
- zookeeper集群搭建中遇到的问题
- 10 mongo集群的搭建 以及遇到的问题
- 搭建zookeeper集群遇到的问题整理
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十五)Structured Streaming:同一个topic中包含一组数据的多个部分,按照key它们拼接为一条记录(以及遇到的问题)。
- kubernetes集群搭建以及遇到的问题
- 09 redis集群的搭建 以及遇到的问题
- kubernetes集群搭建以及遇到的问题
- Ibatis的环境搭建以及遇到的问题解决
- 关于Resin在Eclipse或者Myeclipse上利用Debug模式部署的方法以及遇到的一些问题
- ZooKeeper之搭建伪集群模式。
- zookeeper+storm+cassandra的集群部署以及问题
- Kafka 0.9+Zookeeper3.4.6集群搭建、配置,新Client API的使用要点,高可用性测试,以及各种坑 (转载)
- redis集群搭建遇到问题--gem install redis报错
- 搭建简单FTP服务器以及过程中容易遇到的几个问题(一)
- RabbitMQ3.6.5集群搭建和遇到的问题
- Win7下PHP+Apache+MySql平台的搭建 以及遇到问题解决