1,zookeeper伪集群部署
    部署在192.168.0.210服务器上
    
    下载
    去官网将3.4.6版本的zookeeper下载下来到/app目录下解压
    首先我们使用wget命令来下载zookeeper压缩包
    

 
     tar xzvf zookeeper-3.4.6.tar.gz
    生成 zookeeper-3.4.6目录,将这个目录复制三份,执行以下命令
    cd /app
    cp -r /app/zookeeper-3.4.6 zookeeper3.4.6-1
    cp -r /app/zookeeper-3.4.6 zookeeper3.4.6-2
    cp -r /app/zookeeper-3.4.6 zookeeper3.4.6-3
    然后分别建立软连接
    ln -s zookeeper3.4.6-1 zookeeper1
    ln -s zookeeper3.4.6-2 zookeeper2
    ln -s zookeeper3.4.6-3 zookeeper3
    这些操作完以后状态如下:
    
    下面开始修改配置文件
     先修改zookeeper1的,2和3的类似
     cd /app/zookeeper1/conf
     vim zoo.cfg
     
     zookeeper默认端口是2181,因为是在一个机器上起来三个,端口不能一样,所以三个zookeeper的配置文件端口号依次改成2191,2192,2193
     然后在服务器中创建dataDir和dataLogDir对应的两个目录
     创建好之后需要进入刚刚创建的data目录下新建一个名为myid的文件,内容是1
     需要注意的地方就是 server.X 这个数字就是对应 data/myid中的数字。你在3个server的myid文件中分别写入了1,2,3,那么每个server中的zoo.cfg都配server.1,server.2,server.3就OK了。
     因为在同一台机器上,后面连着的2个端口3个server都不要一样,否则端口冲突,其中第一个端口用来集群成员的信息交换,第二个端口是在leader挂掉时专门用来进行选举leader所用。
     
     另外两个按照上面的操作再做一遍,需要注意的就是配置文件的端口也就是clientPort的端口号不要一样,我配置的分别是2191,2192,2193,/data/myid这个文件的内容分别是1,2,3
 
     启动
      分别进入三个服务器的zookeeperx/bin(x分别代表123)目录下,启动服务
       ./zkServer.sh start 
      启动完成后,查看服务器状态,
      ./zkServer.sh status
     (因为是集群,所以要三个服务器都启动成功后状态才会正常)
    
     接入客户端
     进入任意一个服务器的zookeeper/bin目录下,启动一个客户端,接入服务。
      ./zkCli.sh –server localhost:2191
2,安装go(如果该服务器没有安装go)
     见B.2.1.5   2,go安装
3,安装codis
     见B2.1.5    3,codis安装
4,启动codis
     在192.168.0.210上启动6个codis实例,3主3从,日志以及文件路径如下

redis
pid
log
rdb
192.168.0.210:7000 /var/run/redis-7000.pid /var/logs/redis/redis-7000.log /data/redis/dump-7000.rdb
192.168.0.210:7001 /var/run/redis-7001.pid /var/logs/redis/redis-7001.log /data/redis/dump-7001.rdb
192.168.0.210:7002 /var/run/redis-7002.pid /var/logs/redis/redis-7002.log /data/redis/dump-7002.rdb
192.168.0.210:7003 /var/run/redis-7003.pid /var/logs/redis/redis-7003.log /data/redis/dump-7003.rdb
192.168.0.210:7004 /var/run/redis-7004.pid /var/logs/redis/redis-7004.log /data/redis/dump-7004.rdb
192.168.0.210:7005 /var/run/redis-7005.pid /var/logs/redis/redis-7005.log /data/redis/dump-7005.rdb

具体操作如下:

1、启动 dashboard(codis-config上操作)

修改config.ini文件

cd /usr/local/go/gows/src/github.com/wandoulabs/codis/

vim config-new.ini

保存退出

nohup bin/codis-config -c config-new.ini dashboard > /data/log/dashboard.log 2>&1 &

2、初始化 slots (codis-config上操作)

bin/codis-config -c config-new.ini slot init

3、启动 Codis Redis , 和官方的Redis Server参数一样(codis-server上操作)

在当前目录增加一个redisconf的目录,在里面添加6个redis的配置文件

如图

后缀就是这个实例的端口号,内容的端口号,pid文件,rdb文件名,日志名都要特殊修改。

bin/codis-server redisconf/redis-7000.conf
bin/codis-server redisconf/redis-7001.conf
bin/codis-server redisconf/redis-7002.conf
bin/codis-server redisconf/redis-7003.conf
bin/codis-server redisconf/redis-7004.conf
bin/codis-server redisconf/redis-7005.conf

4、添加 Redis Server Group , 每一个 Server Group 作为一个 Redis 服务器组存在, 只允许有一个 master, 可以有多个 slave, group id 仅支持大于等于1的整数(codis-config上操作)

cd /data/go/src/github.com/wandoulabs/codis/
bin/codis-config -c config-new.ini server add 1 192.168.0.210:7000 master
bin/codis-config -c config-new.ini server add 1 192.168.0.210:7001 slave
bin/codis-config -c config-new.ini server add 2 192.168.0.210:7002 master
bin/codis-config -c config-new.ini server add 2 192.168.0.210:7003 slave
bin/codis-config -c config-new.ini server add 3 192.168.0.210:7004 master
bin/codis-config -c config-new.ini server add 3 192.168.0.210:7005 slave

5、设置 server group 服务的 slot 范围 Codis 采用 Pre-sharding 的技术来实现数据的分片, 默认分成 1024 个 slots (0-1023), 对于每个key来说, 通过以下公式确定所属的 Slot Id : SlotId = crc32(key) % 1024 每一个 slot 都会有一个特定的 server group id 来表示这个 slot 的数据由哪个 server group 来提供.(codis-config上操作)

bin/codis-config -c config-new.ini slot range-set 0 300 1 online 
bin/codis-config -c config-new.ini slot range-set 301 700 2 online 
bin/codis-config -c config-new.ini slot range-set 701 1023 3 online

6、启动 codis-proxy  (codis-proxy上操作)

nohup bin/codis-proxy  -c config-new.ini -L /data/log/codis-proxy_2191.log  --cpu=4 --addr=0.0.0.0:19000 --http-addr=0.0.0.0:11000 > /data/log/codisproxy.log 2>&1 &(启动多个代理就修改一下config.ini文件的代理名字,改一下addr和http-addr的端口号,可以+1,然后再用这个命令执行这个文件
,例如
bin/codis-proxy  -c config-new.ini -L /data/log/codis-proxy_2192.log  --cpu=4 --addr=0.0.0.0:19001 --http-addr=0.0.0.0:11001 &
)

5,体验页面控制

访问这个链接

http://192.168.0.210:18087/admin/

然后可以自己玩了。

6,java客户端jodis

纤细见

https://github.com/wandoulabs/codis/tree/master/extern/jodis

伪集群zookeeper模式下codis的部署安装的更多相关文章

  1. 基于Hadoop分布式集群YARN模式下的TensorFlowOnSpark平台搭建

    1. 介绍 在过去几年中,神经网络已经有了很壮观的进展,现在他们几乎已经是图像识别和自动翻译领域中最强者[1].为了从海量数据中获得洞察力,需要部署分布式深度学习.现有的DL框架通常需要为深度学习设置 ...

  2. Spark运行模式_本地伪集群运行模式(单机模拟集群)

    这种运行模式,和Local[N]很像,不同的是,它会在单机启动多个进程来模拟集群下的分布式场景,而不像Local[N]这种多个线程只能在一个进程下委屈求全的共享资源.通常也是用来验证开发出来的应用程序 ...

  3. win10环境下搭建zookeeper伪集群

    一.下载zookeeper https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 这里笔者下载的是zookeeper-3.3.6 二.配置zoo ...

  4. zookeeper windows伪集群搭建

    1.下载zookeeper http://mirror.bit.edu.cn/apache/zookeeper/ 解压后,目录重命名为zookeeper1,进入 conf目录,把zoo_sample. ...

  5. Zookeeper集群搭建(单机多节点,伪集群,docker-compose集群)

    Zookeeper介绍 原理简介 ZooKeeper是一个分布式的.开源的分布式应用程序协调服务.它公开了一组简单的原语,分布式应用程序可以在此基础上实现更高级别的同步.配置维护.组和命名服务.它的设 ...

  6. Zookeeper集群搭建(多节点,单机伪集群,Docker集群)

    Zookeeper介绍 原理简介 ZooKeeper是一个分布式的.开源的分布式应用程序协调服务.它公开了一组简单的原语,分布式应用程序可以在此基础上实现更高级别的同步.配置维护.组和命名服务.它的设 ...

  7. zookeeper在windows下的伪集群模式

    参考:zookeeper在windows下的伪集群模式 踩到的坑: 注意windows下路径需要使用\ dataDir=D:\Program Files\Java\zookeeper-3.4.10-c ...

  8. Windows环境下Zookeeper的安装和部署(单机模式和伪集群模式)

    第一部分:单机模式 1)下载地址:http://www.pirbot.com/mirrors/apache/zookeeper/,建议下载stable版本 2)解压缩 将下载好的压缩包解压到指定目录, ...

  9. STORM_0004_windows下zookeeper的伪集群的搭建

    -----------------------------------------------------START------------------------------------------ ...

随机推荐

  1. 命令行下 mysql 不是内部或外部命令排查方法

    首先确定你没有更改过MySQL的安装目录.如果你进行过改名或者更改了你的路径,那么要在相应的配置文件中更改你的你路径.找到C:\Windows\my.ini文件,更改你配置的文件路径,改成你修改后的路 ...

  2. Webwork 学习之路【06】Action 调用

    一路走来,终于要开始 webwork 核心业务类的总结,webwork 通过对客户端传递的 web 参数重新包装,进行执行业务 Action 类,并反馈执行结果,本篇源码分析对应下图 WebWork ...

  3. Theano1.1-安装

    之前一直想弄theano,可是python不是很懂,在学习了一段时间之后开始安装theano.当然官网上的安装资料是全,可是也太繁琐了.这里介绍的是最简单,最方面的安装theano的方法.官网首页:h ...

  4. C8051逆向电阻屏:头儿拍脑袋说电阻屏IC好赚钱3块钱成本能卖20几块。,一个月不分昼夜逆向成功后头儿说电阻屏已经被市场淘汰请放弃治疗。

    参考: 书籍,<圈圈教你玩USB>  C8051F单片机快速入门:http://www.waveshare.net/Left_Column/C8051F_Application_Notes ...

  5. Laravel如何优雅的使用Swoole

    背景 正在做一个智能家居的项目(钱低的吓死人怎么办),接收下位机(就是控制智能家居硬件模块的HUB)协议解析,Web端维护硬件状态,利用APP交互.由于下位机数据是发送到服务器的XXX端口,所以必须对 ...

  6. Android几种打开SQLite的方法

    第一种:用SQLiteOpenHelper辅助类 SQLiteOpenHelper类可以用来创建或打开数据库,两个关键的方法:onCreate(SQLiteDatabase db)和onUpgrade ...

  7. spring配置属性的两种方式

    spring配置属性有两种方式,第一种方式通过context命名空间中的property-placeholder标签 <context:property-placeholder location ...

  8. python基础-编码_if条件判断

    一.第一句Python代码 在 /home/dev/ 目录下创建 hello.py 文件,内容如下: [root@python-3 scripts]# cat hello.py #!/usr/bin/ ...

  9. 【URAL 1018】Binary Apple Tree

    http://vjudge.net/problem/17662 loli蜜汁(面向高一)树形dp水题 #include<cstdio> #include<cstring> #i ...

  10. nodeJS+bootstarp+mongodb整一个TODO小例子

    又是一个简单的小玩意儿, 不过有个大玩意儿,就是nosql的mongodb(文件大小:130M),  你要下载一个mongdodb, 去官方网站下载 安装以后在mongodb的命令行目录下执行 mon ...