zookeeper基本安装文档
zookeeper
检查是否安装JDK
rpm -qa|grep -E '^open[jre|jdk]|j[re|dk]'
卸载已安装JDK
rpm -qa|grep Java|xargs rpm -e --nodeps
yum安装jdk
yum search java|grep jdk yum install java-1.8.0-openjdk
检查安装是否成功
java -versionjava version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
下载并安装
cd /root wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz tar -xvf zookeeper-3.4.11.tar.gz mv ./zookeeper-3.4.11 /usr/local/zookeeper mkdir /usr/local/zookeeper/var mkdir /usr/local/zookeeper/var/log echo 1 > /usr/local/zookeeper/var/log/myid cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
修改配置
vim /usr/local/zookeeper/conf/zoo.cfgtickTime=2000 initLimit=5 syncLimit=2 dataDir=/usr/local/zookeeper/var/log dataLogDir=/usr/local/zookeeper/var/log clientPort=2181 # 多台server在下面配置即可,如果单台服务器构建多个server,则每个server用过的端口不能重复使用 # 格式: server.[n]=[server_ip]:[server与leader交互端口]:[server选举leader端口] # server.1=172.31.9.59:2182:2183 # server.2=172.31.9.60:2182:2183 # server.3=172.31.9.61:2182:2183 maxClientCnxns=60 minSessionTimeout=60 maxSessionTimeout=120 # purgeInterval含义: 0-禁用自动清除 1-使用自动清除 autopurge.purgeInterval=1ESC :wq
安装zookeeper-c
cd /usr/local/zookeeper/src/c./configuremake make install
防火墙开启
systemctl enable firewalld systemctl start firewalld firewall-cmd --zone=public --permanent --add-port=2181/tcp firewall-cmd --zone=public --permanent --add-port=2182/tcp firewall-cmd --zone=public --permanent --add-port=2183/tcp firewall-cmd --reload
单元文件
# 进入单元文件目录 cd /etc/systemd/system# 创建redis单元文件,格式为: [单元文件名].[单元文件类型] vim zookeeper.service[Unit] Description=开机启动zookeeper. After=default.target network.target[Service] User=root Group=root Type=forking PIDFile=/usr/local/zookeeper/var/log/zookeeper_server.pid ExecStart=/usr/local/zookeeper/bin/zkServer.sh start ExecReload=/usr/local/zookeeper/bin/zkServer.sh restart ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop PrivateTmp=false Restart=always[Install] WantedBy=multi-user.targetESC :wq
安装php扩展:zookeeper参考链接
cd /root wget https://pecl.php.net/get/zookeeper-0.4.0.tgz tar -zxvf zookeeper-0.4.0.tgz cd zookeeper-0.4.0/phpize ./configure make make install
安装php扩展libzookeeper参考链接
cd /root wget https://github.com/Timandes/libzookeeper/archive/v0.7.2.tar.gz tar -xvf v0.7.2.tar.gz cd libzookeeper-0.7.2phpize ./configure make make install# 用来调起zookeeper-admin,仓库地址: https://github.com/Timandes/zookeeper-admin.git
修改php.ini
vim /usr/local/php/lib/php.iniextension=libzookeeper.so extension=zookeeper.soESC :wq
PHP使用进程公共锁
# 出了$zc的作用域之后,锁将不存在 $zc = new \Zookeeper('127.0.0.1:2181'); //或者 //$zc = new \Zookeeper(); //$zc->connect('127.0.0.1:2181'); $zookeeper_key = '/xxx'; if ($zc->exists($zookeeper_key)) {//如果锁存在,则程序正在运行,不运行新的程序return false; }else{//如果锁文件不存在,则创建进程锁文件,运行程序$acl = [['perms' => \Zookeeper::PERM_ALL,//共享锁(用来跨进程执行某个程序)'scheme' => 'world','id' => 'anyone',]];//尝试创建锁$zookeeper_key_res = $zc->create($zookeeper_key, null, $acl, \Zookeeper::EPHEMERAL);//临时锁(可共享的)if ($zookeeper_key_res == $zookeeper_key) {//创建锁成功运行程序//做些什么,比如等待10秒sleep(10);$zc->delete($zookeeper_key);//其实不执行也会删除,因为这是一个临时锁,且return之后不再能取到$zcreturn true;} else {//创建锁失败不运行程序return false;} }
zookeeper基本安装文档相关推荐
- Docker软件安装文档
软件安装文档 文章目录 软件安装文档 虚拟机安装 系统死锁问题 JDK11安装 Docker安装 Docker-Compose安装 MySQL安装 MySQL8安装 Docker-Compose安装M ...
- ELK安装文档及相关优化
前言:随着硬件成本的不断低廉,我们可以存储更多数据内容,也会对各数据加以利用,其中一项很重要的数据内容便是日志文件,无论是访问日志还是系统日志或是应用日志,都显得十分重要,而怎么加以利用一直是一个难题 ...
- mysql数据库21_Mysql5.7.21安装文档
Mysql5.7.21安装文档 发布时间:2020-06-27 13:59:56 来源:51CTO 阅读:946 作者:PengChonggui --1.创建用户组mysql,创建用户mysql并将其 ...
- Subversion(SVN)安装文档
Subversion(SVN)安装文档 SVN中文网址(操作手册) http://www.iusesvn.com/ 软件版本(当前版本): subversion-1.6.17.tar.gz su ...
- GitLab安装文档
GitLab安装文档 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务. GitLab与GitHub的功能相似,通常企业使用GitLab在局 ...
- Oracle 11g 单实例安装文档
这里介绍在Red Hat Enterprise Linux Server release 5.7 (Tikanga)下安装ORACLE 11.2.0.1.0的过程,本文仅仅是为了写这样安装指导文档而整 ...
- KVM 标准化安装文档
KVM 标准化安装文档 转载于:https://blog.51cto.com/wangwei007/600111
- hadoop2.6.5安装文档及解决root用户无法ssh localhost的问题
hadoop2.6.5官方安装文档 解决root用户无法ssh localhost的问题:
- 转自 David dai linux平台 oracle 数据库 安装文档
Oracle 官方的安装文档 http://download.oracle.com/docs/cd/B28359_01/install.111/b32002/toc.htm 一. 安装相关包 1.1 ...
- php oracle817,Oracle 817 For Linux/Unix安装文档-数据库专栏,ORACLE
oracle 817安装文档 1. 创建dba组和oracle用户 root@hz_cmode # groupadd dba root@hz_cmode # useradd -m -d /o ...
最新文章
- 做事范围是多么多么重要
- 字符集与编码(四)——Unicode
- 浅谈 RocketMQ、Kafka、Pulsar 的事务消息
- 关于搜狐焦点房产的数据分析
- SAP两款CRM产品各方面比较:SAP CRM vs SAP Cloud for Customer
- 隐藏网页文件的后缀(IIS测试通过)!
- 前端技术学习之选择器(十三)
- 6. 区别值类型和引用类型。
- NPAPI:JS的Number,在接口中可能是int32,也可能是double
- matlab的火山图,ggplot绘制火山图
- E2-AEN: End-to-End Incremental Learning with Adaptively Expandable Network
- The Auto-extending innodb_system data file './ibdata1' is of a different size 6400 pages (rounded do
- cin gt gt n是c语言中的什么,c++中cinna是什么意思
- 2017爱创课堂vue.js视频完整版
- 再说说微软为什么会转型成功
- 北斗GPS同步时钟(授时系统)技术原理详解
- 计算机二级Python嵩天老师Mooc学习笔记:天天向上的力量
- 李嘉诚的人生感悟(ZT)
- 你还不清楚某个系统文件的作用吗?Windows系统文件详解【大全】
- 在无网络时使用Unity Hub
热门文章
- 无需编码生成信息系统_无需编码即可逐步进行花分类
- 单片机定时报警C语言程序,单片机控制的简易定时报警器电路设计( - 控制/MCU - 电子发烧友网...
- python更换证件照背景
- 大型网站seo方案_网站seo完整的优化方案
- 在程序中表示什么_程序开发中:什么是前后端分离?你搞清楚了吗?
- R实践 第二篇:创建数据集
- Grunt usemin前端自动化打包流程
- Office 365系列(1)------Office 365邮箱申请及初步配置说明
- 用python调用ICTCLAS50进行中文分词
- C#接口编程实例解析[转]