在阿里云购买了基础版配置的centOs,用以下指令完成了zookeeper环境的搭建
1.检查jdk是否已安装
java -version
默认情况都是没有安装的,用以下命令完成安装
yum search java|grep jdk //先列出yum库中的所有jdk yum install java-1.7.0-openjdk* -y //这里选择的是1.7(因为最近的项目都用1.7)
yum会自动帮忙配置环境变量
2.创建目录,下载和解压zookeeper
mkdir /home/zookeeper mkdir /home/data mkdir /home/logs cd /home/zookeeper wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz tar -zxvf zookeeper-3.4.10.tar.gz
3.配置zookeeper
cp /home/zookeeper/conf/zoo_sample.cfg /home/zookeeper/conf/zoo.cfg vim zoo.cfg #添加或修改配置 dataDir=/home/zookeeper/data dataLogDir=/home/zookeeper/logs clientPort=87 #这里是因为用的阿里云的安全规则配置只允许自己开发1-100间的端口,这里我配置开放的是87作为zookeeper的端口 server.l=118.190.146.40:2888:3888 # 注意是,server.数字1 对外暴露的ID:zookeeper服务间通讯端口:zookeeper与其他应用程序通讯端口
4.创建zookeeper的服务id文件
cd /home/zookeeper/data #这里我输入1之后不知道如何中止输入,直接用ctrl+x强制结束,结束后查看myid的文件内容为1 ,1为对应之前输入的server.数字1 表示是 zookeeper的服务号 cat>>myid 1
5.配置zookeeper的环境变量
cd ~/.bash_profile #添加 export ZOOKEEPER_HOME=/home/zookeeper/zookeeper-3.4.10 export PATH=$ZOOKEEPER_HOME/bin:$PATH #使配置的环境变量生效 source ~/.bash_profile #关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.service
自由互联热门推荐:PDF电子发票识别软件,一键识别电子发票并导入到Excel中!10大顶级数据挖掘软件!人工智能的十大作用!
6.zookeeper常用的指令
cd /home/zookeeper/zookeeper-3.4.10/bin #启动 zkServer.sh start #查看状态,也可以直接看同路径的日志文件 zkServer.sh status #停止 zkServer.sh stop
7.最后附上简单的测试zookeeper是否成功的JAVA代码
public static void main(String[] args) { //服务器的地址 String url = "99.99.99.99:87"; int sessionTimeout =50000; System.out.println("start zookeeper test"); try { ZooKeeper zk = new ZooKeeper(url, sessionTimeout, new Watcher(){ @Override public void process(WatchedEvent event) { // TODO Auto-generated method stub System.out.println("watcher:"+event); } }); List<String> nodes = zk.getChildren("/", true); if (nodes!=null) { for (String string : nodes) { System.out.println("node:"+string); } } zk.create("/test", "anyWords".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); nodes = zk.getChildren("/", true); if (nodes!=null) { for (String string : nodes) { System.out.println("node:"+string); } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (KeeperException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("test end"); }
8.完毕。
其他,现在有很多可以安装在windows环境下的可视化查看(甚至管理)zookeeper节点的工具。比如ZooInspector,也可以本地搭建一个。
原理和上面的测试代码应该是类似的,建立新的zookeeper连接,添加对应的图形化界面来管理。