├── .gitignore ├── images └── aqzt.jpg ├── remove_proxy.sh ├── switch_hosts.sh ├── codis_server_conf2 ├── 7001.conf ├── 7002.conf ├── 7003.conf ├── 7004.conf ├── 7005.conf └── 7006.conf ├── README.md ├── codis_server_conf1 ├── 7001.conf └── 7002.conf ├── checkserver.sh ├── stop.sh ├── create_group_slot_d.sh ├── start_3.0.4.sh ├── create_group_slot_a.sh ├── start.sh ├── create_group_slot.sh ├── create_group_slot_c.sh └── create_group_slot_b.sh /.gitignore: -------------------------------------------------------------------------------- 1 | *.exe 2 | *.user 3 | *.log 4 | -------------------------------------------------------------------------------- /images/aqzt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ppabc/codis_quick/HEAD/images/aqzt.jpg -------------------------------------------------------------------------------- /remove_proxy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## fastcodis 2016-08.18 3 | ## http://www.aqzt.com 4 | ## http://www.aqzt.com/download/go.tar 5 | ## http://www.aqzt.com/download/jdk.tar 6 | ## http://www.aqzt.com/download/zk.tar 7 | ##email: ppabc@qq.com 8 | ##robert yu 9 | ##centos 7 10 | 11 | 12 | ##从codis3上查看有问题的proxy,获取PID,强制移除 13 | codis-admin --dashboard=192.168.56.102:18080 --remove-proxy --pid=5 --force 14 | 15 | -------------------------------------------------------------------------------- /switch_hosts.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## fastcodis 2016-04-22 3 | ## http://www.aqzt.com 4 | ## http://www.aqzt.com/download/go.tar 5 | ## http://www.aqzt.com/download/jdk.tar 6 | ## http://www.aqzt.com/download/zk.tar 7 | ##email: ppabc@qq.com 8 | ##robert yu 9 | ##centos 7 10 | yum install -y nmap 11 | _ports=$(nmap 192.168.1.12 -p 19000 |grep '19000' | awk '{print $2}') 12 | 13 | if [[ "${_ports}" == "open" ]] 14 | then 15 | echo "codis-dashboard is ok" 16 | else 17 | sed -i '/codis.aqzt.com/d' /etc/hosts 18 | echo "192.168.1.15 codis.aqzt.com" >> /etc/hosts 19 | fi -------------------------------------------------------------------------------- /codis_server_conf2/7001.conf: -------------------------------------------------------------------------------- 1 | daemonize yes 2 | pidfile /var/run/redis_7001.pid 3 | port 7001 4 | timeout 60 5 | loglevel warning 6 | logfile "/data/CodisLabs/codis/logs/codis-server-7001.log" 7 | databases 16 8 | rdbcompression yes 9 | dbfilename dump-7001.rdb 10 | dir /data/CodisLabs/codis/data 11 | maxclients 80000 12 | maxmemory 1gb 13 | maxmemory-policy volatile-lru 14 | appendonly yes 15 | appendfilename "appendonly7001.aof" 16 | appendfsync everysec 17 | no-appendfsync-on-rewrite yes 18 | auto-aof-rewrite-percentage 100 19 | auto-aof-rewrite-min-size 64mb 20 | slowlog-log-slower-than 10000 21 | slowlog-max-len 1024 22 | hz 50 23 | aof-rewrite-incremental-fsync yes 24 | -------------------------------------------------------------------------------- /codis_server_conf2/7002.conf: -------------------------------------------------------------------------------- 1 | daemonize yes 2 | pidfile /var/run/redis_7002.pid 3 | port 7002 4 | timeout 60 5 | loglevel warning 6 | logfile "/data/CodisLabs/codis/logs/codis-server-7002.log" 7 | databases 16 8 | rdbcompression yes 9 | dbfilename dump-7002.rdb 10 | dir /data/CodisLabs/codis/data 11 | maxclients 80000 12 | maxmemory 1gb 13 | maxmemory-policy volatile-lru 14 | appendonly yes 15 | appendfilename "appendonly7002.aof" 16 | appendfsync everysec 17 | no-appendfsync-on-rewrite yes 18 | auto-aof-rewrite-percentage 100 19 | auto-aof-rewrite-min-size 64mb 20 | slowlog-log-slower-than 10000 21 | slowlog-max-len 1024 22 | hz 50 23 | aof-rewrite-incremental-fsync yes 24 | -------------------------------------------------------------------------------- /codis_server_conf2/7003.conf: -------------------------------------------------------------------------------- 1 | daemonize yes 2 | pidfile /var/run/redis_7003.pid 3 | port 7003 4 | timeout 60 5 | loglevel warning 6 | logfile "/data/CodisLabs/codis/logs/codis-server-7003.log" 7 | databases 16 8 | rdbcompression yes 9 | dbfilename dump-7003.rdb 10 | dir /data/CodisLabs/codis/data 11 | maxclients 80000 12 | maxmemory 1gb 13 | maxmemory-policy volatile-lru 14 | appendonly yes 15 | appendfilename "appendonly7003.aof" 16 | appendfsync everysec 17 | no-appendfsync-on-rewrite yes 18 | auto-aof-rewrite-percentage 100 19 | auto-aof-rewrite-min-size 64mb 20 | slowlog-log-slower-than 10000 21 | slowlog-max-len 1024 22 | hz 50 23 | aof-rewrite-incremental-fsync yes 24 | -------------------------------------------------------------------------------- /codis_server_conf2/7004.conf: -------------------------------------------------------------------------------- 1 | daemonize yes 2 | pidfile /var/run/redis_7004.pid 3 | port 7004 4 | timeout 60 5 | loglevel warning 6 | logfile "/data/CodisLabs/codis/logs/codis-server-7004.log" 7 | databases 16 8 | rdbcompression yes 9 | dbfilename dump-7004.rdb 10 | dir /data/CodisLabs/codis/data 11 | maxclients 80000 12 | maxmemory 1gb 13 | maxmemory-policy volatile-lru 14 | appendonly yes 15 | appendfilename "appendonly7004.aof" 16 | appendfsync everysec 17 | no-appendfsync-on-rewrite yes 18 | auto-aof-rewrite-percentage 100 19 | auto-aof-rewrite-min-size 64mb 20 | slowlog-log-slower-than 10000 21 | slowlog-max-len 1024 22 | hz 50 23 | aof-rewrite-incremental-fsync yes 24 | -------------------------------------------------------------------------------- /codis_server_conf2/7005.conf: -------------------------------------------------------------------------------- 1 | daemonize yes 2 | pidfile /var/run/redis_7005.pid 3 | port 7005 4 | timeout 60 5 | loglevel warning 6 | logfile "/data/CodisLabs/codis/logs/codis-server-7005.log" 7 | databases 16 8 | rdbcompression yes 9 | dbfilename dump-7005.rdb 10 | dir /data/CodisLabs/codis/data 11 | maxclients 80000 12 | maxmemory 1gb 13 | maxmemory-policy volatile-lru 14 | appendonly yes 15 | appendfilename "appendonly7005.aof" 16 | appendfsync everysec 17 | no-appendfsync-on-rewrite yes 18 | auto-aof-rewrite-percentage 100 19 | auto-aof-rewrite-min-size 64mb 20 | slowlog-log-slower-than 10000 21 | slowlog-max-len 1024 22 | hz 50 23 | aof-rewrite-incremental-fsync yes 24 | -------------------------------------------------------------------------------- /codis_server_conf2/7006.conf: -------------------------------------------------------------------------------- 1 | daemonize yes 2 | pidfile /var/run/redis_7006.pid 3 | port 7006 4 | timeout 60 5 | loglevel warning 6 | logfile "/data/CodisLabs/codis/logs/codis-server-7006.log" 7 | databases 16 8 | rdbcompression yes 9 | dbfilename dump-7006.rdb 10 | dir /data/CodisLabs/codis/data 11 | maxclients 80000 12 | maxmemory 1gb 13 | maxmemory-policy volatile-lru 14 | appendonly yes 15 | appendfilename "appendonly7006.aof" 16 | appendfsync everysec 17 | no-appendfsync-on-rewrite yes 18 | auto-aof-rewrite-percentage 100 19 | auto-aof-rewrite-min-size 64mb 20 | slowlog-log-slower-than 10000 21 | slowlog-max-len 1024 22 | hz 50 23 | aof-rewrite-incremental-fsync yes 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | codis_quick 2 | =========== 3 | 实现centos7系统下快速安装codis3。 4 | 5 | 微信关注https://github.com/aqzt 6 | 7 | ![image](https://github.com/ppabc/codis_quick/raw/master/images/aqzt.jpg) 8 | 9 | codis版本:codis-3.0.3.tar.gz 10 | 11 | go使用版本:go1.5.2.linux-amd64.tar.gz 12 | 13 | jdk版本:jdk1.8.0_77 14 | 15 | zookeeper版本:zookeeper-3.4.8.tar.gz 16 | 17 | 文件路径/opt/目录下 18 | 19 | go 路径:/opt/go 20 | 21 | jdk路径:/opt/tomcat/jdk1.8.0_77 22 | 23 | zookeeper路径:/opt/zk 24 | 25 | codis路径:/opt/go/src/github.com/CodisLabs/codis 26 | 27 | 安装方法 28 | Usage: $SCRIPTNAME {start|stop|restart|install|uninstall} 29 | 30 | 例子:bash start.sh install 31 | 32 | 当输入install时,开始安装出现提示 33 | 34 | Please input this machine IP : > 35 | 36 | 输入本机IP即可 37 | 38 | 安装完成后访问http://IP地址:8080 -------------------------------------------------------------------------------- /codis_server_conf1/7001.conf: -------------------------------------------------------------------------------- 1 | daemonize yes 2 | pidfile /var/run/redis_7001.pid 3 | port 7001 4 | tcp-backlog 511 5 | timeout 0 6 | tcp-keepalive 0 7 | loglevel notice 8 | logfile "/opt/go/src/github.com/CodisLabs/codis/logs/codis-server-7001.log" 9 | databases 16 10 | save 900 1 11 | save 300 10 12 | save 60 10000 13 | stop-writes-on-bgsave-error yes 14 | rdbcompression yes 15 | rdbchecksum yes 16 | dbfilename dump-7001.rdb 17 | dir /opt/go/src/github.com/CodisLabs/codis/data 18 | slave-serve-stale-data yes 19 | slave-read-only yes 20 | repl-disable-tcp-nodelay no 21 | slave-priority 100 22 | maxmemory 1G 23 | appendonly no 24 | appendfilename "appendonly7001.aof" 25 | appendfsync everysec 26 | no-appendfsync-on-rewrite no 27 | auto-aof-rewrite-percentage 100 28 | auto-aof-rewrite-min-size 64mb 29 | lua-time-limit 5000 30 | slowlog-log-slower-than 10000 31 | slowlog-max-len 128 32 | latency-monitor-threshold 0 33 | notify-keyspace-events "" 34 | hash-max-ziplist-entries 512 35 | hash-max-ziplist-value 64 36 | list-max-ziplist-entries 512 37 | list-max-ziplist-value 64 38 | set-max-intset-entries 512 39 | zset-max-ziplist-entries 128 40 | zset-max-ziplist-value 64 41 | hll-sparse-max-bytes 3000 42 | activerehashing yes 43 | client-output-buffer-limit normal 0 0 0 44 | client-output-buffer-limit slave 256mb 64mb 60 45 | client-output-buffer-limit pubsub 32mb 8mb 60 46 | hz 10 47 | aof-rewrite-incremental-fsync yes 48 | -------------------------------------------------------------------------------- /codis_server_conf1/7002.conf: -------------------------------------------------------------------------------- 1 | daemonize yes 2 | pidfile /var/run/redis_7002.pid 3 | port 7002 4 | tcp-backlog 511 5 | timeout 0 6 | tcp-keepalive 0 7 | loglevel notice 8 | logfile "/opt/go/src/github.com/CodisLabs/codis/logs/codis-server-7002.log" 9 | databases 16 10 | save 900 1 11 | save 300 10 12 | save 60 10000 13 | stop-writes-on-bgsave-error yes 14 | rdbcompression yes 15 | rdbchecksum yes 16 | dbfilename dump-7002.rdb 17 | dir /opt/go/src/github.com/CodisLabs/codis/data 18 | slave-serve-stale-data yes 19 | slave-read-only yes 20 | repl-disable-tcp-nodelay no 21 | slave-priority 100 22 | maxmemory 1G 23 | appendonly no 24 | appendfilename "appendonly7002.aof" 25 | appendfsync everysec 26 | no-appendfsync-on-rewrite no 27 | auto-aof-rewrite-percentage 100 28 | auto-aof-rewrite-min-size 64mb 29 | lua-time-limit 5000 30 | slowlog-log-slower-than 10000 31 | slowlog-max-len 128 32 | latency-monitor-threshold 0 33 | notify-keyspace-events "" 34 | hash-max-ziplist-entries 512 35 | hash-max-ziplist-value 64 36 | list-max-ziplist-entries 512 37 | list-max-ziplist-value 64 38 | set-max-intset-entries 512 39 | zset-max-ziplist-entries 128 40 | zset-max-ziplist-value 64 41 | hll-sparse-max-bytes 3000 42 | activerehashing yes 43 | client-output-buffer-limit normal 0 0 0 44 | client-output-buffer-limit slave 256mb 64mb 60 45 | client-output-buffer-limit pubsub 32mb 8mb 60 46 | hz 10 47 | aof-rewrite-incremental-fsync yes 48 | -------------------------------------------------------------------------------- /checkserver.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ## fastcodis 2016-04-22 3 | ## http://www.aqzt.com 4 | ## http://www.aqzt.com/download/go.tar 5 | ## http://www.aqzt.com/download/jdk.tar 6 | ## http://www.aqzt.com/download/zk.tar 7 | ##email: ppabc@qq.com 8 | ##robert yu 9 | ##centos 7 10 | source /etc/profile 11 | 12 | restartproxy() 13 | { 14 | cd /opt/go/src/github.com/CodisLabs/codis/scripts 15 | sh start_codis_proxy.sh 16 | } 17 | 18 | restartdashboard() 19 | { 20 | cd /opt/go/src/github.com/CodisLabs/codis/scripts 21 | sh start_codis_dashboard.sh 22 | } 23 | 24 | restartcodis_fe() 25 | { 26 | cd /opt/go/src/github.com/CodisLabs/codis/scripts 27 | sh start_codis_fe.sh 28 | } 29 | 30 | _proxy=$(ps -ef | grep "codis-proxy" | grep -v grep) 31 | _dashboard=$(ps -ef | grep "codis-dashboard" | grep -v grep) 32 | _codis_fe=$(ps -ef | grep "codis-fe" | grep -v grep) 33 | 34 | if [[ "${_proxy}aa" == "aa" ]] 35 | then 36 | restartproxy; 37 | else 38 | cd /opt/go/src/github.com/CodisLabs/codis/scripts 39 | _proxy=$(cat /opt/go/src/github.com/CodisLabs/codis/logs/proxy.log* | tail -n 1 | grep "wait to be online") 40 | if [[ "${_proxy}aa" != "aa" ]] 41 | then 42 | #kill the proxy 43 | pid=$(ps -ef | grep "codis-proxy" | grep -v grep | awk '{print $2}') 44 | kill $pid 45 | restartproxy; 46 | fi 47 | fi 48 | 49 | if [[ "${_dashboard}aa" == "aa" ]] 50 | then 51 | restartdashboard; 52 | else 53 | echo "codis-dashboard is ok" 54 | fi 55 | 56 | if [[ "${_codis_fe}aa" == "aa" ]] 57 | then 58 | restartcodis_fe; 59 | else 60 | echo "codis-dashboard is ok" 61 | fi 62 | 63 | 64 | -------------------------------------------------------------------------------- /stop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## fastcodis 2016-08-24 3 | ## http://www.aqzt.com 4 | ## http://www.aqzt.com/download/go.tar 5 | ## http://www.aqzt.com/download/jdk.tar 6 | ## http://www.aqzt.com/download/zk.tar 7 | ##email: ppabc@qq.com 8 | ##robert yu 9 | ##centos 7 10 | 11 | 12 | ## 停止 codis3 13 | ps -ef | grep 'codis' | grep 'codis-ha' | grep -v 'grep' | awk '{print $2}' | xargs kill 14 | ps -ef | grep 'codis' | grep 'codis-fe' | grep -v 'grep' | awk '{print $2}' | xargs kill 15 | ps -ef | grep 'codis' | grep '7001' | grep -v 'grep' | awk '{print $2}' | xargs kill 16 | ps -ef | grep 'codis' | grep '7002' | grep -v 'grep' | awk '{print $2}' | xargs kill 17 | ps -ef | grep 'codis' | grep '7003' | grep -v 'grep' | awk '{print $2}' | xargs kill 18 | ps -ef | grep 'codis' | grep '7004' | grep -v 'grep' | awk '{print $2}' | xargs kill 19 | ps -ef | grep 'codis' | grep '7005' | grep -v 'grep' | awk '{print $2}' | xargs kill 20 | ps -ef | grep 'codis' | grep '7006' | grep -v 'grep' | awk '{print $2}' | xargs kill 21 | ps -ef | grep 'codis' | grep '7007' | grep -v 'grep' | awk '{print $2}' | xargs kill 22 | ps -ef | grep 'codis' | grep '7008' | grep -v 'grep' | awk '{print $2}' | xargs kill 23 | ps -ef | grep 'codis' | grep '7009' | grep -v 'grep' | awk '{print $2}' | xargs kill 24 | ps -ef | grep 'codis' | grep '7010' | grep -v 'grep' | awk '{print $2}' | xargs kill 25 | ps -ef | grep 'codis' | grep '7011' | grep -v 'grep' | awk '{print $2}' | xargs kill 26 | ps -ef | grep 'codis' | grep '7012' | grep -v 'grep' | awk '{print $2}' | xargs kill 27 | ps -ef | grep 'codis' | grep '7013' | grep -v 'grep' | awk '{print $2}' | xargs kill 28 | ps -ef | grep 'codis' | grep '7014' | grep -v 'grep' | awk '{print $2}' | xargs kill 29 | ps -ef | grep 'codis' | grep '7015' | grep -v 'grep' | awk '{print $2}' | xargs kill 30 | ps -ef | grep 'codis' | grep '7016' | grep -v 'grep' | awk '{print $2}' | xargs kill 31 | ps -ef | grep 'codis' | grep 'codis-proxy' | grep -v 'grep' | awk '{print $2}' | xargs kill 32 | ps -ef | grep 'codis' | grep 'codis-dashboard' | grep -v 'grep' | awk '{print $2}' | xargs kill 33 | sleep 3s 34 | ps aux |grep codis 35 | echo ok 36 | 37 | -------------------------------------------------------------------------------- /create_group_slot_d.sh: -------------------------------------------------------------------------------- 1 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --list-group 2 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --create-group --gid=1 3 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --create-group --gid=2 4 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --create-group --gid=3 5 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --create-group --gid=4 6 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --create-group --gid=5 7 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --create-group --gid=6 8 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --create-group --gid=7 9 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --create-group --gid=8 10 | 11 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --group-status 12 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --group-add --gid=1 --addr=127.0.0.1:7001 13 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --group-add --gid=2 --addr=127.0.0.1:7002 14 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --group-add --gid=3 --addr=127.0.0.1:7003 15 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --group-add --gid=4 --addr=127.0.0.1:7004 16 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --group-add --gid=5 --addr=127.0.0.1:7005 17 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --group-add --gid=6 --addr=127.0.0.1:7006 18 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --group-add --gid=7 --addr=127.0.0.1:7007 19 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --group-add --gid=8 --addr=127.0.0.1:7008 20 | 21 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --sync-action --create --addr=127.0.0.1:7001 22 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --sync-action --create --addr=127.0.0.1:7002 23 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --sync-action --create --addr=127.0.0.1:7003 24 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --sync-action --create --addr=127.0.0.1:7004 25 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --sync-action --create --addr=127.0.0.1:7005 26 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --sync-action --create --addr=127.0.0.1:7006 27 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --sync-action --create --addr=127.0.0.1:7007 28 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --sync-action --create --addr=127.0.0.1:7008 29 | 30 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --slot-action --create-range --beg=0 --end=200 --gid=1 31 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --slot-action --create-range --beg=201 --end=400 --gid=2 32 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --slot-action --create-range --beg=401 --end=500 --gid=3 33 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --slot-action --create-range --beg=501 --end=600 --gid=4 34 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --slot-action --create-range --beg=601 --end=700 --gid=5 35 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --slot-action --create-range --beg=701 --end=800 --gid=6 36 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --slot-action --create-range --beg=801 --end=900 --gid=7 37 | /opt/codis/codis-admin --dashboard=127.0.0.1:18080 --slot-action --create-range --beg=901 --end=1023 --gid=8 38 | -------------------------------------------------------------------------------- /start_3.0.4.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## fastcodis 2016-10-11 3 | ## http://www.aqzt.com 4 | ## email: ppabc@qq.com 5 | ## robert yu 6 | ## centos 7 7 | 8 | Install_C(){ 9 | yum install -y gcc make gcc-c++ automake lrzsz openssl-devel zlib-* bzip2-* readline* zlib-* bzip2-* git nmap unzip wget lsof xz net-tools 10 | cd /opt/ 11 | 12 | ###可以使用官网3.0.4包 13 | 14 | cat >>/etc/profile<>/etc/hosts 26 | sed -i "s/192.168.10.131/$IP/g" /etc/hosts 27 | mkdir -p /data/zookeeper/ 28 | echo 1 > /data/zookeeper/myid 29 | sed -i "s/192.168.10.131/$IP/g" /opt/codis/etc/codis.json 30 | sed -i "s/192.168.10.131/$IP/g" /opt/codis/etc/dashboard.toml 31 | sed -i "s/192.168.10.131/$IP/g" /opt/codis/scripts/start_codis_ha.sh 32 | sed -i "s/192.168.10.131/$IP/g" /opt/codis/scripts/start_codis_proxy.sh 33 | sed -i "s/192.168.10.131/$IP/g" /opt/codis/scripts/redis-key.sh 34 | Start_C 35 | } 36 | 37 | Start_C(){ 38 | source /etc/profile 39 | cd /opt/zk/bin 40 | /opt/zk/bin/zkServer.sh start 41 | sleep 9s 42 | cd /opt/codis/scripts 43 | sh start_codis_dashboard.sh 44 | sleep 3s 45 | sh start_codis_proxy.sh 46 | sh start_codis_server.sh 47 | sh start_codis_fe.sh 48 | sleep 3s 49 | sh start_codis_ha.sh 50 | sleep 3s 51 | echo ok 52 | } 53 | 54 | Stop_C(){ 55 | source /etc/profile 56 | cd /opt/zk/bin 57 | ps -ef | grep 'codis-ha' | grep -v 'grep' | awk '{print $2}' | xargs kill 58 | ps -ef | grep 'codis-fe' | grep -v 'grep' | awk '{print $2}' | xargs kill 59 | ps -ef | grep '7001' | grep -v 'grep' | awk '{print $2}' | xargs kill 60 | ps -ef | grep '7002' | grep -v 'grep' | awk '{print $2}' | xargs kill 61 | ps -ef | grep 'codis-proxy' | grep -v 'grep' | awk '{print $2}' | xargs kill 62 | ps -ef | grep 'codis-dashboard' | grep -v 'grep' | awk '{print $2}' | xargs kill 63 | sleep 3s 64 | cd /opt/zk/bin 65 | /opt/zk/bin/zkServer.sh stop 66 | 67 | echo ok 68 | } 69 | 70 | Restart_C(){ 71 | Stop_C 72 | sleep 3s 73 | Start_C 74 | } 75 | 76 | Install_A(){ 77 | read -p "Please input this machine IP : > " IP 78 | if [ "$IP" == "" ];then 79 | echo -en "\033[32;49;1m It is empty\n" 80 | echo -en "\033[39;49;0m" 81 | elif [ $IP == '127.0.0.1' ]; then 82 | echo -en "\033[32;49;1m It is not standardized\n" 83 | echo -en "\033[39;49;0m" 84 | else 85 | IPADDR=$IP 86 | regex="\b(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])\b" 87 | ckStep2=`echo $IP | egrep $regex | wc -l` 88 | if [ $ckStep2 -eq 0 ] 89 | then 90 | echo "The string $IPADDR is not a correct ipaddr!!!" 91 | exit 0 92 | else 93 | echo $1 94 | Install_C 95 | fi 96 | echo -en "\033[32;49;1m Setup Complete\n" 97 | echo -en "\033[39;49;0m" 98 | fi 99 | echo ok 100 | } 101 | 102 | Uninstall_A(){ 103 | Stop_C 104 | sed -i '/ZooKeeper/d' /etc/hosts 105 | sed -i '/opt/d' /etc/profile 106 | rm -rf /opt/go 107 | rm -rf /opt/tomcat 108 | rm -rf /opt/zk 109 | echo ok 110 | } 111 | case "$1" in 112 | start) 113 | Start_C 114 | ;; 115 | stop) 116 | Stop_C 117 | ;; 118 | restart) 119 | Restart_C 120 | ;; 121 | install) 122 | Install_A 123 | ;; 124 | uninstall) 125 | Uninstall_A 126 | ;; 127 | *) 128 | echo "Usage: $SCRIPTNAME {start|stop|restart|install|uninstall}" >&2 129 | exit 3 130 | ;; 131 | esac 132 | exit 0 133 | -------------------------------------------------------------------------------- /create_group_slot_a.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## codis_quick 2016-08-24 3 | ## http://www.aqzt.com 4 | ## http://www.aqzt.com/download/go.tar 5 | ## http://www.aqzt.com/download/jdk.tar 6 | ## http://www.aqzt.com/download/zk.tar 7 | ##email: ppabc@qq.com 8 | ##robert yu 9 | ##centos 7 10 | 11 | 12 | ##codis3 新建6个组 13 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --list-group 14 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --create-group --gid=1 15 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --create-group --gid=2 16 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --create-group --gid=3 17 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --create-group --gid=4 18 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --create-group --gid=5 19 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --create-group --gid=6 20 | 21 | ##codis3 6个组分别加入codis-server地址 22 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --group-status 23 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --group-add --gid=1 --addr=192.168.56.101:7001 24 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --group-add --gid=2 --addr=192.168.56.101:7002 25 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --group-add --gid=3 --addr=192.168.56.101:7003 26 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --group-add --gid=4 --addr=192.168.56.101:7004 27 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --group-add --gid=5 --addr=192.168.56.101:7005 28 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --group-add --gid=6 --addr=192.168.56.101:7006 29 | 30 | #sync每个codis-server地址 31 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --sync-action --create --addr=192.168.56.101:7001 32 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --sync-action --create --addr=192.168.56.101:7002 33 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --sync-action --create --addr=192.168.56.101:7003 34 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --sync-action --create --addr=192.168.56.101:7004 35 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --sync-action --create --addr=192.168.56.101:7005 36 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --sync-action --create --addr=192.168.56.101:7006 37 | 38 | 39 | #分slot槽到每个组对应 40 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --slot-action --create-range --beg=0 --end=200 --gid=1 41 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --slot-action --create-range --beg=201 --end=400 --gid=2 42 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --slot-action --create-range --beg=401 --end=600 --gid=3 43 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --slot-action --create-range --beg=601 --end=800 --gid=4 44 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --slot-action --create-range --beg=801 --end=900 --gid=5 45 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.101:18080 --slot-action --create-range --beg=901 --end=1023 --gid=6 46 | 47 | -------------------------------------------------------------------------------- /start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## fastcodis 2016-04-22 3 | ## http://www.aqzt.com 4 | ## http://www.aqzt.com/download/go.tar 5 | ## http://www.aqzt.com/download/jdk.tar 6 | ## http://www.aqzt.com/download/zk.tar 7 | ##email: ppabc@qq.com 8 | ##robert yu 9 | ##centos 7 10 | 11 | Install_C(){ 12 | yum install -y gcc make gcc-c++ automake lrzsz openssl-devel zlib-* bzip2-* readline* zlib-* bzip2-* git nmap unzip wget lsof xz net-tools 13 | cd /opt/ 14 | wget http://www.aqzt.com/download/go.tar 15 | wget http://www.aqzt.com/download/jdk.tar 16 | wget http://www.aqzt.com/download/zk.tar 17 | tar zxvf go.tar 18 | tar zxvf jdk.tar 19 | tar zxvf zk.tar 20 | 21 | cat >>/etc/profile<>/etc/hosts 33 | sed -i "s/192.168.10.131/$IP/g" /etc/hosts 34 | mkdir -p /data/zookeeper/ 35 | echo 1 > /data/zookeeper/myid 36 | sed -i "s/192.168.10.131/$IP/g" /opt/go/src/github.com/CodisLabs/codis/etc/codis.json 37 | sed -i "s/192.168.10.131/$IP/g" /opt/go/src/github.com/CodisLabs/codis/etc/dashboard.toml 38 | sed -i "s/192.168.10.131/$IP/g" /opt/go/src/github.com/CodisLabs/codis/scripts/start_codis_ha.sh 39 | sed -i "s/192.168.10.131/$IP/g" /opt/go/src/github.com/CodisLabs/codis/scripts/start_codis_proxy.sh 40 | sed -i "s/192.168.10.131/$IP/g" /opt/go/src/github.com/CodisLabs/codis/scripts/redis-key.sh 41 | Start_C 42 | } 43 | 44 | Start_C(){ 45 | source /etc/profile 46 | cd /opt/zk/bin 47 | /opt/zk/bin/zkServer.sh start 48 | sleep 9s 49 | cd /opt/go/src/github.com/CodisLabs/codis/scripts 50 | sh start_codis_dashboard.sh 51 | sleep 3s 52 | sh start_codis_proxy.sh 53 | sh start_codis_server.sh 54 | sh start_codis_fe.sh 55 | sleep 3s 56 | sh start_codis_ha.sh 57 | sleep 3s 58 | echo ok 59 | } 60 | 61 | Stop_C(){ 62 | source /etc/profile 63 | cd /opt/zk/bin 64 | ps -ef | grep 'codis-ha' | grep -v 'grep' | awk '{print $2}' | xargs kill 65 | ps -ef | grep 'codis-fe' | grep -v 'grep' | awk '{print $2}' | xargs kill 66 | ps -ef | grep '7001' | grep -v 'grep' | awk '{print $2}' | xargs kill 67 | ps -ef | grep '7002' | grep -v 'grep' | awk '{print $2}' | xargs kill 68 | ps -ef | grep 'codis-proxy' | grep -v 'grep' | awk '{print $2}' | xargs kill 69 | ps -ef | grep 'codis-dashboard' | grep -v 'grep' | awk '{print $2}' | xargs kill 70 | sleep 3s 71 | cd /opt/zk/bin 72 | /opt/zk/bin/zkServer.sh stop 73 | 74 | echo ok 75 | } 76 | 77 | Restart_C(){ 78 | Stop_C 79 | sleep 3s 80 | Start_C 81 | } 82 | 83 | Install_A(){ 84 | read -p "Please input this machine IP : > " IP 85 | if [ "$IP" == "" ];then 86 | echo -en "\033[32;49;1m It is empty\n" 87 | echo -en "\033[39;49;0m" 88 | elif [ $IP == '127.0.0.1' ]; then 89 | echo -en "\033[32;49;1m It is not standardized\n" 90 | echo -en "\033[39;49;0m" 91 | else 92 | IPADDR=$IP 93 | regex="\b(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])\b" 94 | ckStep2=`echo $IP | egrep $regex | wc -l` 95 | if [ $ckStep2 -eq 0 ] 96 | then 97 | echo "The string $IPADDR is not a correct ipaddr!!!" 98 | exit 0 99 | else 100 | echo $1 101 | Install_C 102 | fi 103 | echo -en "\033[32;49;1m Setup Complete\n" 104 | echo -en "\033[39;49;0m" 105 | fi 106 | echo ok 107 | } 108 | 109 | Uninstall_A(){ 110 | Stop_C 111 | sed -i '/ZooKeeper/d' /etc/hosts 112 | sed -i '/opt/d' /etc/profile 113 | rm -rf /opt/go 114 | rm -rf /opt/tomcat 115 | rm -rf /opt/zk 116 | echo ok 117 | } 118 | case "$1" in 119 | start) 120 | Start_C 121 | ;; 122 | stop) 123 | Stop_C 124 | ;; 125 | restart) 126 | Restart_C 127 | ;; 128 | install) 129 | Install_A 130 | ;; 131 | uninstall) 132 | Uninstall_A 133 | ;; 134 | *) 135 | echo "Usage: $SCRIPTNAME {start|stop|restart|install|uninstall}" >&2 136 | exit 3 137 | ;; 138 | esac 139 | exit 0 140 | -------------------------------------------------------------------------------- /create_group_slot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## codis_quick 2016-08.18 3 | ## http://www.aqzt.com 4 | ## http://www.aqzt.com/download/go.tar 5 | ## http://www.aqzt.com/download/jdk.tar 6 | ## http://www.aqzt.com/download/zk.tar 7 | ##email: ppabc@qq.com 8 | ##robert yu 9 | ##centos 7 10 | 11 | 12 | ##codis3 新建6个组 13 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --list-group 14 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --create-group --gid=1 15 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --create-group --gid=2 16 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --create-group --gid=3 17 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --create-group --gid=4 18 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --create-group --gid=5 19 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --create-group --gid=6 20 | 21 | ##codis3 6个组分别加入codis-server地址 22 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --group-status 23 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --group-add --gid=1 --addr=192.168.56.102:7001 24 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --group-add --gid=1 --addr=192.168.56.103:7002 25 | 26 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --group-add --gid=2 --addr=192.168.56.102:7002 27 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --group-add --gid=2 --addr=192.168.56.103:7003 28 | 29 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --group-add --gid=3 --addr=192.168.56.102:7003 30 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --group-add --gid=3 --addr=192.168.56.103:7004 31 | 32 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --group-add --gid=4 --addr=192.168.56.102:7004 33 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --group-add --gid=4 --addr=192.168.56.103:7005 34 | 35 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --group-add --gid=5 --addr=192.168.56.102:7005 36 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --group-add --gid=5 --addr=192.168.56.106:7001 37 | 38 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --group-add --gid=6 --addr=192.168.56.103:7001 39 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --group-add --gid=6 --addr=192.168.56.106:7002 40 | 41 | ##空闲codis-server,预留codis-server地址 42 | #192.168.56.106:7003 43 | #192.168.56.106:7004 44 | #192.168.56.106:7005 45 | 46 | #sync每个codis-server地址 47 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.102:7001 48 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.102:7002 49 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.102:7003 50 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.102:7004 51 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.102:7005 52 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.103:7001 53 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.103:7002 54 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.103:7003 55 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.103:7004 56 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.103:7005 57 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.106:7001 58 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.106:7002 59 | #/opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.106:7003 60 | #/opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.106:7004 61 | #/opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --sync-action --create --addr=192.168.56.106:7005 62 | 63 | #分slot槽到每个组对应 64 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --slot-action --create-range --beg=0 --end=200 --gid=1 65 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --slot-action --create-range --beg=201 --end=400 --gid=2 66 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --slot-action --create-range --beg=401 --end=600 --gid=3 67 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --slot-action --create-range --beg=601 --end=800 --gid=4 68 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --slot-action --create-range --beg=801 --end=1000 --gid=5 69 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.102:18080 --slot-action --create-range --beg=1001 --end=1023 --gid=6 70 | 71 | -------------------------------------------------------------------------------- /create_group_slot_c.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## codis_quick 2016-10-11 3 | ## http://www.aqzt.com 4 | ##email: ppabc@qq.com 5 | ##robert yu 6 | ##centos 7 7 | 8 | ##codis3 新建6个组 9 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --list-group 10 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --create-group --gid=1 11 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --create-group --gid=2 12 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --create-group --gid=3 13 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --create-group --gid=4 14 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --create-group --gid=5 15 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --create-group --gid=6 16 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --create-group --gid=7 17 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --create-group --gid=8 18 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --create-group --gid=9 19 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --create-group --gid=10 20 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --create-group --gid=11 21 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --create-group --gid=12 22 | 23 | 24 | ##codis3 6个组分别加入codis-server地址 25 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-status 26 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=1 --addr=192.168.21.183:7001 27 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=2 --addr=192.168.21.183:7002 28 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=3 --addr=192.168.21.183:7003 29 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=4 --addr=192.168.21.183:7004 30 | 31 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=5 --addr=192.168.21.230:7001 32 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=6 --addr=192.168.21.230:7002 33 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=7 --addr=192.168.21.230:7003 34 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=8 --addr=192.168.21.230:7004 35 | 36 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=9 --addr=192.168.21.231:7001 37 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=10 --addr=192.168.21.231:7002 38 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=11 --addr=192.168.21.231:7003 39 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=12 --addr=192.168.21.231:7004 40 | 41 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=1 --addr=192.168.21.231:7005 42 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=2 --addr=192.168.21.231:7006 43 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=3 --addr=192.168.21.231:7007 44 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=4 --addr=192.168.21.231:7008 45 | 46 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=5 --addr=192.168.21.183:7005 47 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=6 --addr=192.168.21.183:7006 48 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=7 --addr=192.168.21.183:7007 49 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=8 --addr=192.168.21.183:7008 50 | 51 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=9 --addr=192.168.21.230:7005 52 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=10 --addr=192.168.21.230:7006 53 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=11 --addr=192.168.21.230:7007 54 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --group-add --gid=12 --addr=192.168.21.230:7008 55 | 56 | 57 | #sync每个codis-server地址 58 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.183:7001 59 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.183:7002 60 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.183:7003 61 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.183:7004 62 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.183:7005 63 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.183:7006 64 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.183:7007 65 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.183:7008 66 | 67 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.231:7001 68 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.231:7002 69 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.231:7003 70 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.231:7004 71 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.231:7005 72 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.231:7006 73 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.231:7007 74 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.231:7008 75 | 76 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.230:7001 77 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.230:7002 78 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.230:7003 79 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.230:7004 80 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.230:7005 81 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.230:7006 82 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.230:7007 83 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --sync-action --create --addr=192.168.21.230:7008 84 | 85 | 86 | #分slot槽到每个组对应 87 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --slot-action --create-range --beg=0 --end=85 --gid=1 88 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --slot-action --create-range --beg=86 --end=170 --gid=2 89 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --slot-action --create-range --beg=171 --end=255 --gid=3 90 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --slot-action --create-range --beg=256 --end=340 --gid=4 91 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --slot-action --create-range --beg=341 --end=425 --gid=5 92 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --slot-action --create-range --beg=426 --end=510 --gid=6 93 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --slot-action --create-range --beg=511 --end=595 --gid=7 94 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --slot-action --create-range --beg=596 --end=680 --gid=8 95 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --slot-action --create-range --beg=681 --end=765 --gid=9 96 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --slot-action --create-range --beg=766 --end=850 --gid=10 97 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --slot-action --create-range --beg=851 --end=935 --gid=11 98 | /opt/codis/codis-admin --dashboard=192.168.21.183:18080 --slot-action --create-range --beg=936 --end=1023 --gid=12 99 | 100 | 101 | -------------------------------------------------------------------------------- /create_group_slot_b.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## codis_quick 2016-08-26 3 | ## http://www.aqzt.com 4 | ## http://www.aqzt.com/download/go.tar 5 | ## http://www.aqzt.com/download/jdk.tar 6 | ## http://www.aqzt.com/download/zk.tar 7 | ##email: ppabc@qq.com 8 | ##robert yu 9 | ##centos 7 10 | 11 | 12 | ##codis3 新建6个组 13 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --list-group 14 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=1 15 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=2 16 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=3 17 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=4 18 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=5 19 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=6 20 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=7 21 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=8 22 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=9 23 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=10 24 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=11 25 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=12 26 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=13 27 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=14 28 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --create-group --gid=15 29 | 30 | 31 | ##codis3 6个组分别加入codis-server地址 32 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-status 33 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=1 --addr=192.168.56.225:7001 34 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=2 --addr=192.168.56.225:7002 35 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=3 --addr=192.168.56.225:7003 36 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=4 --addr=192.168.56.225:7004 37 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=5 --addr=192.168.56.225:7005 38 | 39 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=6 --addr=192.168.56.236:7001 40 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=7 --addr=192.168.56.236:7002 41 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=8 --addr=192.168.56.236:7003 42 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=9 --addr=192.168.56.236:7004 43 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=10 --addr=192.168.56.236:7005 44 | 45 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=11 --addr=192.168.56.227:7001 46 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=12 --addr=192.168.56.227:7002 47 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=13 --addr=192.168.56.227:7003 48 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=14 --addr=192.168.56.227:7004 49 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=15 --addr=192.168.56.227:7005 50 | 51 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=1 --addr=192.168.56.227:7006 52 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=2 --addr=192.168.56.227:7007 53 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=3 --addr=192.168.56.227:7008 54 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=4 --addr=192.168.56.227:7009 55 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=5 --addr=192.168.56.227:7010 56 | 57 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=6 --addr=192.168.56.225:7006 58 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=7 --addr=192.168.56.225:7007 59 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=8 --addr=192.168.56.225:7008 60 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=9 --addr=192.168.56.225:7009 61 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=10 --addr=192.168.56.225:7010 62 | 63 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=11 --addr=192.168.56.236:7006 64 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=12 --addr=192.168.56.236:7007 65 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=13 --addr=192.168.56.236:7008 66 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=14 --addr=192.168.56.236:7009 67 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --group-add --gid=15 --addr=192.168.56.236:7010 68 | 69 | 70 | 71 | #sync每个codis-server地址 72 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.225:7001 73 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.225:7002 74 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.225:7003 75 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.225:7004 76 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.225:7005 77 | 78 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.225:7006 79 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.225:7007 80 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.225:7008 81 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.225:7009 82 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.225:7010 83 | 84 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.227:7001 85 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.227:7002 86 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.227:7003 87 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.227:7004 88 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.227:7005 89 | 90 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.227:7006 91 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.227:7007 92 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.227:7008 93 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.227:7009 94 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.227:7010 95 | 96 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.236:7001 97 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.236:7002 98 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.236:7003 99 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.236:7004 100 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.236:7005 101 | 102 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.236:7006 103 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.236:7007 104 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.236:7008 105 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.236:7009 106 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --sync-action --create --addr=192.168.56.236:7010 107 | 108 | 109 | 110 | 111 | #分slot槽到每个组对应 112 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=0 --end=70 --gid=1 113 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=71 --end=140 --gid=2 114 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=141 --end=210 --gid=3 115 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=211 --end=280 --gid=4 116 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=281 --end=350 --gid=5 117 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=351 --end=420 --gid=6 118 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=421 --end=490 --gid=7 119 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=491 --end=560 --gid=8 120 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=561 --end=630 --gid=9 121 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=631 --end=700 --gid=10 122 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=701 --end=770 --gid=11 123 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=771 --end=840 --gid=12 124 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=841 --end=910 --gid=13 125 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=911 --end=980 --gid=14 126 | /opt/go/src/github.com/CodisLabs/codis/bin/codis-admin --dashboard=192.168.56.225:18080 --slot-action --create-range --beg=981 --end=1023 --gid=15 127 | 128 | --------------------------------------------------------------------------------