centos7下Zookeeper+sheepdog集群搭建
zookeeper
安装命令
yum install zookeeper -y (版本:zookeeper.x86_64 3.4.6-1)yum install zookeeper-lib -y
(版本:zookeeper-lib.x86_64 3.4.6-1)
配置文件:/etc/zookeeper/zoo.cfg
作如下修改:
maxClientCnxns=50tickTime=2000initLimit=10syncLimit=5dataDir=/var/lib/zookeeper/data //保证目录存在,否则启动出错。dataLogDir=/var/lib/zookeeper/dateLogDirclientPort=2181autopurge.purgeInterval=3autopurge.SnapRetainCount=3server.1=节点1存储网IP:2888:3888 //1,2,3对于在myid中写入server.2=节点2存储网IP:2888:3888server.3=节点3存储网IP :2888:3888
java环境变量:vim /etc/zookeeper /java.env
作如下修改:
# zk buffer size 64Mexport JVMFLAGS="-Djute.maxbuffer=0x3FFFFC0 $JVMFLAGS"# java heap size 16GBexport JVMFLAGS="-Xms16g -Xmx16g $JVMFLAGS" //注意两个16G要改
注:设置为内存的1/4,测试域设置为16G
java环境变量设置:/etc/zookeeper/zookeeper-env.sh
做如下修改:
export JAVA_HOME=/usr
myid文件:创建 vim /var/lib/zookeeper/data/myid
内容如下:
根据/etc/zookeeper/zoo.cfg中server.X设置,一般值为1或者2或者3。
设置dateLogDir:创建 mkdir /var/lib/zookeeper/dateLogDir
#现行方案中,单独挂载一个SATA硬盘。(部署环境中选择zk节点上的/dev/sdl)
#mkfs.ext4 -T largefile /dev/*** (选择一块独立磁盘)
#mkdir /var/lib/zookeeper/dateLogDir
#mount /dev/*** /var/lib/zookeeper/dateLogDir
#blkid /dev/*** 获取UUID
#设置/etc/fstab,用vim /etc/fstab在最后添加如下行
#UUID=046498f8-a077-40b9-af84-7f8e9eed9afd /var/lib/zookeeper/dateLogDir ext4 defaults 0 0
配置启动脚本:/etc/init.d/zookeeper
注释掉:#source /etc/rc.d/init.d/functions
修改#daemon -user zookeeper zkServer.sh start为zkServer.sh start
修改#daemon -user zookeeper zkServer.sh stop为zkServer.sh stop
修改
checkstatus() {
status –p $PIDFILE ${JAVA_HOME} /bin/java
RETVAL=$?
}
为
status() {
zkServer.sh status
RETVAL=$?
return $RETVAL
}
并修改service status的函数入口:
status)
status
;;
检查zk状态命令
# service zookeeper start# service zookeeper status# yum install nmap-ncat -y#echo stat|nc localhost 2181

sheepdog
安装缺失包
yum install automake.noarch -y (版本:automake.noarch 1.13.4-3.el7)yum install libtool -y (版本:libtool.x86_64 2.4.2-21.el7_2)yum install userspace-rcu -y (版本:userspace-rcu.x86_64 0.7.9-1.el7)yum install userspace-rcu-devel -y (版本:userspace-rcu-devel.x86_64 0.7.9-1.el7)yum install yasm -y (版本:yasm.x86_64 1.2.0-4.el7)
将sheepdog的压缩包拷贝到任意目录下解压,编译命令
cd sheepdog./autogen.sh./configure --enable-zookeeper --disable-corosyncmakemake install
配置pc_san_conf.ini
groupadd ebsadminuseradd -g ebsadmin ebsadminmkdir /home/ebsadmin/serNodechown ebsadmin:ebsadmin serNode -Rvim serNode/pc_san_conf.ini
注:看挂载了几个盘,根据挂载的盘,来写下面的文件
文件内容如下:
[RAID]storage.path =/shd/meta,/shd/obj1,/shd/obj2,/shd/obj3,/shd/obj4,/shd/obj5,/shd/obj6,/shd/obj7,/shd/obj8,/shd/obj9,/shd/obj10,/shd/obj11,/shd/obj12level =0[SHEEPDOG]shdcmds =/shd/meta,/shd/obj1,/shd/obj2,/shd/obj3,/shd/obj4,/shd/obj5,/shd/obj6,/shd/obj7,/shd/obj8,/shd/obj9,/shd/obj10,/shd/obj11,/shd/obj12 -p 7000-c zookeeper:172.18.12.144:2181,172.18.12.53:2181,172.18.12.17:2181-ldir=/var/log -z 1-i host=172.18.12.5,port=7001-y 172.16.172.5--nosync
启动配置/home/ebsadmin/serNode/sheepdog
创建sheepdog文件:[root@lrr2 serNode]# touch sheepdog
文件内容如下:
ulimit -n 409600cmds=`grep "shdcmds"/home/ebsadmin/serNode/pc_san_conf.ini`&& SHEEP_OPTS=${cmds#shdcmds =}/usr/sbin/sheep --pidfile /var/run/sheep.pid $(if[-z "$SHEEP_OPTS"]; then echo "--cluster local --log dst=syslog --upgrade /var/lib/sheepdog";else echo $SHEEP_OPTS; fi)
修改文件权限chmod +x /home/ebsadmin/serNode/sheepdog
启动配置/usr/lib/systemd/system/sheepdog.service
文件内容如下:
[Unit]Description=Sheepdog QEMU/KVM BlockStorageAfter=network.targetWants=syslog.target[Service]EnvironmentFile=-/etc/conf.d/sheepdog.confEnvironmentFile=-/etc/sysconfig/sheepdogEnvironmentFile=-/etc/default/sheepdogExecStart=/bin/sh -c '/home/ebsadmin/serNode/sheepdog'PIDFile=/var/run/sheep.pidType=forkingRestart=on-abortStartLimitInterval=10sStartLimitBurst=3[Install]WantedBy=multi-user.target
验证sheepdog是否安装成功
[root@lrr2 /]# type sheep

#service sheepdog start
#systemctl status sheepdog.servic
验证功能好使

遇到的问题:
1、配置pc_san_conf.ini时填写的路径不对,以为是填写盘符,按如上填写即可,注意创建shd目录。
2.、因为之前安装过sheepdog,导致sheep和dog的版本不一致,删除/usr/bin和/usr/sbin/下的dog,然后重新编译。
centos7下Zookeeper+sheepdog集群搭建的更多相关文章
- windows下zookeeper伪集群搭建
下载 http://www.apache.org/dyn/closer.cgi/zookeeper/ 解压 D:\Java\soft\zookeeper-3.4.6 伪集群 1.在 \zookeepe ...
- [过程记录]Centos7 下 Hadoop分布式集群搭建
过程如下: 配置hosts vim /etc/hosts 格式: ip hostname ip hostname 设置免密登陆 首先:每台主机使用ssh命令连接其余主机 ssh 用户名@主机名 提示是 ...
- 分享知识-快乐自己:zookeeper 伪集群搭建
1):单一 zookeeper 搭建步骤 2):zookeeper 伪集群搭建 1):新建一个集群目录 [root@zoodubbo opt]# mkdir zookeeper_cluster 2) ...
- zookeeper伪集群搭建
zookeeper伪集群搭建 1. 下载zookeeper: https://zookeeper.apache.org/ 2. 解压: tar -zxvf zookeeper-3.4.14.tar.g ...
- 初识ZooKeeper与集群搭建实例
原文链接:http://www.linuxidc.com/Linux/2015-02/114230.htm zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Ch ...
- Zookeeper+ActiveMQ集群搭建
搭建三台虚拟机安装centos7.要提前安装好jdk环境 1.环境准备,搭建三台虚拟机ip分别是 192.168.192.130 192.168.192.131 192.168.192.134 Zoo ...
- Zookeeper分布式集群搭建
实验条件:3台安装linux的机子,配置好Java环境. 步骤1:下载并分别解包到每台机子的/home/iHge2k目录下,附上下载地址:http://mirrors.cnnic.cn/apache/ ...
- 初始zookeeper与集群搭建实例
zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,应用于分布式应用的协作服务, ...
- Zookeeper + Kafka 集群搭建
第一步:准备 1. 操作系统 CentOS-7-x86_64-Everything-1511 2. 安装包 kafka_2.12-0.10.2.0.tgz zookeeper-3.4.9.tar.gz ...
随机推荐
- Memcache遍历查询所有键值的方法
直接举个Telnet命令行下遍历memcached所有key的方法: stats items STAT items:7:number1 STATitems:7:age188 END stats c ...
- 安装Reshaper后Intellisense失效
安装Reshaper后Intellisense失效或希望用vs2017的Intellisense功能 安装完毕后,IDE 的智能提示(Intellisense)便会默认使用 Resharper 的提示 ...
- nightwatch-js ----并发运行
从v0.5开始nightwatch支持并发测试.通过在命令行中指定多个环境来工作,用逗号分隔.例如: $ nightwatch -e default,chrome 这样可以在多个相同或是不同的浏览器上 ...
- redis 的安装与启动
1.redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. Redis 是一个高性能的key-val ...
- JSTL JSP页面推断某个cookie的值和读取值....
<c:if test="${cookie['woshop'].value eq '1'}"> <div> ...
- 千万级的大表!MySQL这样优化更好
对于一个千万级的大表,现在可能更多的是亿级数据量,很多人第一反应是各种切分,可结果总是事半功倍,或许正是我们优化顺序的不正确.下面我们来谈谈怎样的优化顺序可以让效果更好. MySQL数据库一般都是按照 ...
- 通过google地图的webservice根据城市名称获取经纬度
谷歌Geocoding webservice接口获取经纬度信息,由于获取地点的数量级太大,2000多条记录,从response的xml格式中取出该地点的经纬度信息.google有访问限制,如果超出25 ...
- spring boot日志配置
spring boot的application.properties提供了日志的配置,但我还是习惯于老的logback的使用方式.以下内容介绍如何在springboot中使用自定义的logback. ...
- TP框架---thinkphp中ajax分页
//点击类别后要显示的内容 public function pagechuli3()//这个方法的功能是根据ajax传过来的值查询数据,再将查询出来的数据返回到ajax,返回的默认是JSON类型. { ...
- 洛谷P1073 最优贸易==codevs1173 最优贸易
P1073 最优贸易 题目描述 C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市.任意两个 城市之间最多只有一条道路直接相连.这 m 条道路中有一部分为单向通行的道路,一 ...