centos7下Zookeeper+sheepdog集群搭建

摘要:
Set dateLogDir:create mkdir/var/lib/zookeeper/dateLogDir#在当前方案中,分别连接一个SATA硬盘#Mkfs。ext4目标文件/dev/***#mkdir/var/lib/zookeeper/dateLogDir#mount/dev/**/var/lib/zookeeper/dataLogDir#blkid/dev/***获取UUID#settings/etc/fstab,使用vim/etc/fstab在末尾添加以下行:#UUID=046498f8-a077-40b9-af84-7f8e9eed9afd/var/lib/zookeeper/dateLogDirext4defaults00配置启动脚本:/etc/init.d/zookeeper注释输出:#source/etc/rc.d/init.d/functions修改#daemon-userzookeeperzkServer.shsstart到zkServer.shsstart修改#damon-userzookeeper.zkServer.hsstop修改checkstatus(){status–p$PIDFILE${JAVA_HOME}/bin/javaRETVAL=$?

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.cfgserver.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 startzkServer.sh start

修改#daemon -user zookeeper zkServer.sh stopzkServer.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
 

centos7下Zookeeper+sheepdog集群搭建第1张

 

 

 

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

centos7下Zookeeper+sheepdog集群搭建第2张

#service sheepdog start

#systemctl status sheepdog.servic

 

验证功能好使

centos7下Zookeeper+sheepdog集群搭建第3张

 

遇到的问题:

1、配置pc_san_conf.ini时填写的路径不对,以为是填写盘符,按如上填写即可,注意创建shd目录。

2.、因为之前安装过sheepdog,导致sheep和dog的版本不一致,删除/usr/bin和/usr/sbin/下的dog,然后重新编译。

 

 

 

 

 



来自为知笔记(Wiz)



免责声明:文章转载自《centos7下Zookeeper+sheepdog集群搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Windows环境下安装Hadoop+Hive的使用案例Opencv2系列学习笔记2(图像的遍历)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Ajax的完整兼容各种浏览器版本代码

<script type="text/javascript"> function createAjax(){var request=false;//window对象中有XMLHttpRequest存在就是非IE,有可能是(IE7,IE8)if(window.XMLHttpRequest){request=new XMLHttpRequest()...

zookeeper集群

zookeeper集群 官方网站: http://zookeeper.apache.org/ http://zookeeper.apache.org/doc/r3.4.8/zookeeperAdmin.html 环境: CentOS 7.1 zookeeper-3.4.8 jdk-1.8 官方推荐奇数节点,这里以3节点为例 一.安装jdk 略...

zookeeper适用场景:配置文件同步

问题导读:1.本文三个角色之间是什么关系?2.三个角色的作用是什么?3.如何代码实现这三个角色的作用?在 zookeeper适用场景:zookeeper解决了哪些问题有关于分布式集群配置文件同步问题的描述,本文介绍如何把zk应用到配置文件分发的场景。假设有三个角色 trigger:发布最新的配置文件数据,发送指令和数据给zk_agent,实现是下面的tr...

Zookeeper系列一:Zookeeper基础命令操作

基础命令操作 启动zk服务 ./zkServer.sh start [root@localhost bin]# ./zkServer.sh ZooKeeper JMX enabled by default Using config: /usr/home/zookeeper-3.4.11/bin/../conf/zoo.cfg Usage: ./zkSe...

sqlsugar

下载地址:https://github.com/sunkaixuan/SqlSugar SqlSugar是.NET版本,SqlSugarCore是.NET CORE版本,根据你的项目选择你的引用dll 优点:   很多人都会问您这款ORM有哪些特点,有什么竞争力,我归纳出以上几点供你参考 高性能 ,不夸张的说,去掉Sql在数据库执行的时间,SqlSuga...

CL.exe

CL.exe  CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可运行文件 (.exe) 或动态链接库文件 (DLL)。 注意,全部编译器选项都区分大写和小写。 若要编译但不链接,请使用 /c。 使用 NMAKE...