zookeeper

安装命令

  1. yum install zookeeper -y            (版本:zookeeper.x86_64      3.4.6-1)
  2. yum install zookeeper-lib -y  
 

(版本:zookeeper-lib.x86_64   3.4.6-1)

配置文件:/etc/zookeeper/zoo.cfg

作如下修改:

  1. maxClientCnxns=50
  2. tickTime=2000
  3. initLimit=10
  4. syncLimit=5
  5. dataDir=/var/lib/zookeeper/data        //保证目录存在,否则启动出错。
  6. dataLogDir=/var/lib/zookeeper/dateLogDir  
  7. clientPort=2181
  8. autopurge.purgeInterval=3
  9. autopurge.SnapRetainCount=3
  10. server.1=节点1存储网IP:2888:3888      //1,2,3对于在myid中写入
  11. server.2=节点2存储网IP:2888:3888
  12. server.3=节点3存储网IP :2888:3888
 

java环境变量:vim /etc/zookeeper /java.env

作如下修改:

  1. # zk buffer size 64M
  2. export JVMFLAGS="-Djute.maxbuffer=0x3FFFFC0 $JVMFLAGS"
  3. # java heap size 16GB
  4. export 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状态命令

  1. # service zookeeper start
  2. # service zookeeper status
  3. # yum install nmap-ncat -y
  4. #echo stat|nc localhost 2181
 

sheepdog

安装缺失包

  1. yum install automake.noarch -y    (版本:automake.noarch            1.13.4-3.el7)
  2. yum install libtool -y              (版本:libtool.x86_64               2.4.2-21.el7_2)
  3. yum install userspace-rcu -y       (版本:userspace-rcu.x86_64       0.7.9-1.el7)
  4. yum install userspace-rcu-devel -y  (版本:userspace-rcu-devel.x86_64  0.7.9-1.el7)
  5. yum install yasm -y               (版本:yasm.x86_64               1.2.0-4.el7)

将sheepdog的压缩包拷贝到任意目录下解压,编译命令

  1. cd sheepdog
  2. ./autogen.sh
  3. ./configure --enable-zookeeper --disable-corosync
  4. make
  5. make install

配置pc_san_conf.ini

  1. groupadd ebsadmin
  2. useradd -g ebsadmin ebsadmin
  3. mkdir /home/ebsadmin/serNode
  4. chown ebsadmin:ebsadmin serNode -R
  5. vim serNode/pc_san_conf.ini
 

注:看挂载了几个盘,根据挂载的盘,来写下面的文件

文件内容如下:

  1. [RAID]
  2. 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/obj12
  3. level =0
  4. [SHEEPDOG]
  5. 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

文件内容如下:

  1. ulimit -n 409600
  2. cmds=`grep "shdcmds"/home/ebsadmin/serNode/pc_san_conf.ini`&& SHEEP_OPTS=${cmds#shdcmds =}
  3. /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

文件内容如下:

  1. [Unit]
  2. Description=Sheepdog QEMU/KVM BlockStorage
  3. After=network.target
  4. Wants=syslog.target
  5. [Service]
  6. EnvironmentFile=-/etc/conf.d/sheepdog.conf
  7. EnvironmentFile=-/etc/sysconfig/sheepdog
  8. EnvironmentFile=-/etc/default/sheepdog
  9. ExecStart=/bin/sh -c '/home/ebsadmin/serNode/sheepdog'
  10. PIDFile=/var/run/sheep.pid
  11. Type=forking
  12. Restart=on-abort
  13. StartLimitInterval=10s
  14. StartLimitBurst=3
  15. [Install]
  16. 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集群搭建的更多相关文章

  1. windows下zookeeper伪集群搭建

    下载 http://www.apache.org/dyn/closer.cgi/zookeeper/ 解压 D:\Java\soft\zookeeper-3.4.6 伪集群 1.在 \zookeepe ...

  2. [过程记录]Centos7 下 Hadoop分布式集群搭建

    过程如下: 配置hosts vim /etc/hosts 格式: ip hostname ip hostname 设置免密登陆 首先:每台主机使用ssh命令连接其余主机 ssh 用户名@主机名 提示是 ...

  3. 分享知识-快乐自己:zookeeper 伪集群搭建

    1):单一 zookeeper  搭建步骤 2):zookeeper 伪集群搭建 1):新建一个集群目录 [root@zoodubbo opt]# mkdir zookeeper_cluster 2) ...

  4. zookeeper伪集群搭建

    zookeeper伪集群搭建 1. 下载zookeeper: https://zookeeper.apache.org/ 2. 解压: tar -zxvf zookeeper-3.4.14.tar.g ...

  5. 初识ZooKeeper与集群搭建实例

    原文链接:http://www.linuxidc.com/Linux/2015-02/114230.htm zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Ch ...

  6. Zookeeper+ActiveMQ集群搭建

    搭建三台虚拟机安装centos7.要提前安装好jdk环境 1.环境准备,搭建三台虚拟机ip分别是 192.168.192.130 192.168.192.131 192.168.192.134 Zoo ...

  7. Zookeeper分布式集群搭建

    实验条件:3台安装linux的机子,配置好Java环境. 步骤1:下载并分别解包到每台机子的/home/iHge2k目录下,附上下载地址:http://mirrors.cnnic.cn/apache/ ...

  8. 初始zookeeper与集群搭建实例

    zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,应用于分布式应用的协作服务, ...

  9. Zookeeper + Kafka 集群搭建

    第一步:准备 1. 操作系统 CentOS-7-x86_64-Everything-1511 2. 安装包 kafka_2.12-0.10.2.0.tgz zookeeper-3.4.9.tar.gz ...

随机推荐

  1. oracle字符串处理函数

    1.LOWER(string) 将输入的字符串转换成小写: 2.UPPER(string) 将输入的字符串转换成大写: 3.INITCAP(string) 将输入的字符串单词的首字母转换成大写(如果不 ...

  2. java jdk 环境变量设置

    我的电脑点右键,选择“属性”,选择“高级”标签,进入环境变量设置,分别设置如下三个环境变量: 设置JAVA_HOME: 一是为了方便引用,比如,JDK安装在C:\jdk1.6.0目录里,则设置JAVA ...

  3. 【Lucene】Apache Lucene全文检索引擎架构之入门实战1

    Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供.Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻.在Java开发环境里Lucene是一个成熟的 ...

  4. Docker镜像Export导出和Import导入

    在使用Docker时最头痛的无非无法获取仓库镜像,我们可以通过Export导出镜像备份,通过import导入镜像.导出镜像是通过容器进行导出,下面来看镜像对应的容器: root@default:~# ...

  5. php-fpm添加service服务

    原文:http://blog.csdn.net/whatday/article/details/50659992 php-fpm在5.3.2版本以后不支持service php-fpm start等命 ...

  6. .NET CORE 2.0小白笔记(六):

    跟着大牛的视频看,基本看不懂了,简单捋一遍视频,有个印象行啦,撸代码自己摸索一下吧! 新建项目: 这里注意<身份验证> 生成完毕后,修改一下配置 到这里,要初始化一下数据库,否则启动之后会 ...

  7. linux 登陆key生成

    1.登录A机器 2.ssh-keygen -t rsa,将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub Generating public/priv ...

  8. inotify+rsync

    backup_to_rsync.sh #!/bin/bash #source function library . /etc/init.d/functions rsync_host=rsync.eti ...

  9. oracle中直方图的使用

    本文从不绑定变量和绑定变量两种情况讨论直方图的作用 一.不绑定变量 SQL> create table test(name varchar2(10));表已创建.SQL> insert i ...

  10. Apache + Tomcat集群 + 负载均衡

    Part I: 取经处: http://www.ramkitech.com/2012/10/tomcat-clustering-series-simple-load.html  http://blog ...