zoukankan      html  css  js  c++  java
  • 伪集群zookeeper模式下codis的部署安装

    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

  • 相关阅读:
    I-string_2019牛客暑期多校训练营(第四场)
    hackerrank Palindromic Border
    hackerrank Circular Palindromes
    uoj424
    bzoj5384
    uoj450
    QTP 表格的导入导出异常信息 笔记
    QTP基本循环异常遍历(代码方式实现)
    QTP基本循环正常遍历(代码方式实现)
    《大道至简》读后感
  • 原文地址:https://www.cnblogs.com/wxd0108/p/4864631.html
Copyright © 2011-2022 走看看