cods 安装部署之2-codis安装
1.codis依赖go环境
##codis依赖go环境 cd /usr/local/src #wget http://golangtc.com/static/go/1.8/go1.8.linux-amd64.tar.gz wget https://redirector.gvt1.com/edgedl/go/go1.8.5.linux-amd64.tar.gz --no-check-certificate tar -zxvf go1.8.5.linux-amd64.tar.gz mv go /usr/local mkdir /usr/local/go/work vim /etc/profile export GOARCH=amd64 export GOOS=linux export GOROOT=/usr/local/go export GOPATH=/usr/local/go/work export PATH=$PATH:$GOROOT/bin:$GOPATH/bin source /etc/profile [root@salt-master src]# go version go version go1.8 linux/amd64
2.安装codis
============================安装codis========================================
yum install gcc glibc gcc-c++ make git autoconf -y
mkdir $GOPATH/src/github.com/CodisLabs -p
cd $GOPATH/src/github.com/CodisLabs
git clone https://github.com/CodisLabs/codis.git -b release3.2
cd codis
make
[root@node01 codis]# ll /usr/local/go/work/src/github.com/CodisLabs/codis/bin/
total 104088
drwxr-xr-x 4 root root 4096 Apr 30 18:42 assets
-rwxr-xr-x 1 root root 15220177 Apr 30 18:42 codis-admin
-rwxr-xr-x 1 root root 16801198 Apr 30 18:41 codis-dashboard
-rwxr-xr-x 1 root root 14949889 Apr 30 18:42 codis-fe
-rwxr-xr-x 1 root root 13333633 Apr 30 18:42 codis-ha
-rwxr-xr-x 1 root root 18996769 Apr 30 18:42 codis-proxy
-rwxr-xr-x 1 root root 7985953 Apr 30 18:41 codis-server
-rwxr-xr-x 1 root root 5580703 Apr 30 18:41 redis-benchmark
-rwxr-xr-x 1 root root 5712499 Apr 30 18:41 redis-cli
-rwxr-xr-x 1 root root 7985953 Apr 30 18:41 redis-sentinel
-rw-r--r-- 1 root root 166 Apr 30 18:41 version
======================================codis 安装目录===============================================
mkdir /usr/local/codis/{data,log} -p
cp -ar /usr/local/go/work/src/github.com/CodisLabs/codis/bin /usr/local/codis/
cp -ar /usr/local/go/work/src/github.com/CodisLabs/codis/config /usr/local/codis/
cp -ar /usr/local/go/work/src/github.com/CodisLabs/codis/admin /usr/local/codis/
vim /etc/profile
export PATH=$PATH:/usr/local/codis/bin
source /etc/profile
3.codis-dashboard 部署
======================================codis-dashboard 部署=========================================== cd /usr/local/codis/config/ vim dashboard.toml [root@salt-master config]# grep -Ev '^#|^$' dashboard.toml coordinator_name = "zookeeper" coordinator_addr = "192.168.10.5:2181,192.168.10.6:2181,192.168.10.7:2181" product_name = "codis-ph" product_auth = "" admin_addr = "0.0.0.0:18080" migration_method = "semi-async" migration_parallel_slots = 100 migration_async_maxbulks = 200 migration_async_maxbytes = "32mb" migration_async_numkeys = 500 migration_timeout = "30s" sentinel_quorum = 2 sentinel_parallel_syncs = 1 sentinel_down_after = "30s" sentinel_failover_timeout = "5m" sentinel_notification_script = "" sentinel_client_reconfig_script = "" # 启动codis-dashboard服务,停止服务 /usr/local/codis/admin/codis-dashboard-admin.sh start /usr/local/codis/admin/codis-dashboard-admin.sh stop #nohup /usr/local/codis/bin/codis-dashboard --ncpu=2 -c /usr/local/codis/config/dashboard.toml --log=/usr/local/codis/log/dashboard.log --log-level=WARN & #/usr/local/codis/bin/codis-admin --dashboard=192.168.10.5:18080 --shutdown
4.codis-porxy 部署(本机启动了dashboard时)
======================================codis-porxy 部署(本机启动了dashboard时)================================================ cd /usr/local/codis/config/ [root@salt-master config]# vim proxy.toml [root@salt-master config]# grep -Ev '^#|^$' proxy.toml product_name = "codis-ph" product_auth = "" session_auth = "" admin_addr = "0.0.0.0:11080" proto_type = "tcp4" proxy_addr = "0.0.0.0:19000" jodis_name = "zookeeper" jodis_addr = "172.16.1.10:2181,172.16.1.11:2181,172.16.1.12:2181" jodis_timeout = "20s" jodis_compatible = false proxy_datacenter = "" proxy_max_clients = 1000 proxy_max_offheap_size = "1024mb" proxy_heap_placeholder = "256mb" backend_ping_period = "5s" backend_recv_bufsize = "128kb" backend_recv_timeout = "30s" backend_send_bufsize = "128kb" backend_send_timeout = "30s" backend_max_pipeline = 1024 backend_primary_only = false backend_primary_parallel = 1 backend_replica_parallel = 1 backend_keepalive_period = "75s" backend_number_databases = 16 session_recv_bufsize = "128kb" session_recv_timeout = "30m" session_send_bufsize = "64kb" session_send_timeout = "30s" session_max_pipeline = 10000 session_keepalive_period = "75s" session_break_on_failure = false metrics_report_server = "" metrics_report_period = "1s" metrics_report_influxdb_server = "" metrics_report_influxdb_period = "1s" metrics_report_influxdb_username = "" metrics_report_influxdb_password = "" metrics_report_influxdb_database = "" metrics_report_statsd_server = "" metrics_report_statsd_period = "1s" metrics_report_statsd_prefix = "" # 启动codis-proxy服务,关闭 /usr/local/codis/admin/codis-proxy-admin.sh start /usr/local/codis/admin/codis-proxy-admin.sh stop # 启动codis-proxy服务、关闭 #nohup /usr/local/codis/bin/codis-proxy --ncpu=2 --config=/usr/local/codis/config/proxy.toml --log=/usr/local/codis/log/proxy.log --log-level=WARN & #/usr/local/codis/bin/codis-admin --proxy=192.168.10.5:11080 --shutdown #/usr/local/codis/bin/codis-admin --proxy=192.168.10.5:11080 --auth="xxx"(有密码就加,没有就不加) --shutdown
5.codis-porxy 部署(本机没有启动了dashboard时)
======================================codis-porxy 部署(本机没有启动了dashboard时)================================================ cd /usr/local/codis/config/ [root@salt-master config]# vim proxy.toml [root@salt-master config]# grep -Ev '^#|^$' proxy.toml product_name = "codis-ph" product_auth = "" session_auth = "" admin_addr = "0.0.0.0:11080" proto_type = "tcp4" proxy_addr = "0.0.0.0:19000" jodis_name = "zookeeper" jodis_addr = "172.16.1.10:2181,172.16.1.11:2181,172.16.1.12:2181" jodis_timeout = "20s" jodis_compatible = false proxy_datacenter = "" proxy_max_clients = 1000 proxy_max_offheap_size = "1024mb" proxy_heap_placeholder = "256mb" backend_ping_period = "5s" backend_recv_bufsize = "128kb" backend_recv_timeout = "30s" backend_send_bufsize = "128kb" backend_send_timeout = "30s" backend_max_pipeline = 1024 backend_primary_only = false backend_primary_parallel = 1 backend_replica_parallel = 1 backend_keepalive_period = "75s" backend_number_databases = 16 session_recv_bufsize = "128kb" session_recv_timeout = "30m" session_send_bufsize = "64kb" session_send_timeout = "30s" session_max_pipeline = 10000 session_keepalive_period = "75s" session_break_on_failure = false metrics_report_server = "" metrics_report_period = "1s" metrics_report_influxdb_server = "" metrics_report_influxdb_period = "1s" metrics_report_influxdb_username = "" metrics_report_influxdb_password = "" metrics_report_influxdb_database = "" metrics_report_statsd_server = "" metrics_report_statsd_period = "1s" metrics_report_statsd_prefix = "" ;# 注意:修改codis-proxy服务启动脚本,把codis-dashboard-addr地址指向dashborad机器上,不然会报错。 vim /usr/local/codis/admin/codis-proxy-admin.sh 19 #CODIS_DASHBOARD_ADDR="127.0.0.1:18080" 20 CODIS_DASHBOARD_ADDR="172.16.1.10:18080" # 启动codis-proxy服务,关闭 /usr/local/codis/admin/codis-proxy-admin.sh start /usr/local/codis/admin/codis-proxy-admin.sh stop # 启动codis-proxy服务、关闭 #nohup /usr/local/codis/bin/codis-proxy --ncpu=2 --config=/usr/local/codis/config/proxy.toml --log=/usr/local/codis/log/proxy.log --log-level=WARN & #/usr/local/codis/bin/codis-admin --proxy=192.168.10.5:11080 --shutdown #/usr/local/codis/bin/codis-admin --proxy=192.168.10.5:11080 --auth="xxx"(有密码就加,没有就不加) --shutdown
6.codis-fe 部署
# Codis-FE文件生产,配置name及dashboard的地址
cd /usr/local/codis/config
vim codis-fe.json
[
{
"name": "codis-pinhui",
"dashboard": "192.169.10.5:18080"
}
]
;# codis自带了fe运行脚本,需要修改启动脚本,注释第40行,修改为41行
vim /usr/local/codis/admin/codis-fe-admin.sh
40 #nohup "$CODIS_FE_BIN" "--assets-dir=${CODIS_FE_ASSETS_DIR}" "--$COORDINATOR_NAME=$COORDINATOR_ADDR" \
41 nohup "$CODIS_FE_BIN" "--dashboard-list=/usr/local/codis/config/codis-fe.json" \
# 启动codis-fe服务,,停止
/usr/local/codis/admin/codis-fe-admin.sh start
/usr/local/codis/admin/codis-fe-admin.sh stop
# 启动codis-fe服务
#nohup /usr/local/codis/bin/codis-fe --ncpu=2 --log=/usr/local/codis/log/codis-fe.log --log-level=WARN --dashboard-list=/usr/local/codis/config/codis-fe.json --listen=0.0.0.0:18090 &
# 关闭codis-fe服务
#kill 进程
# 访问codis-fe
http://172.16.1.10:9090/#codis-pinhui
7.codis-server 部署
# 配置codis-server文件 [root@node04]# cd /usr/local/codis/config/ [root@node04 config]# grep -Ev "^$|^#" redis.conf bind 127.0.0.1 172.16.1.20 protected-mode yes port 6379 tcp-backlog 511 timeout 0 tcp-keepalive 300 daemonize yes supervised no pidfile /usr/local/codis/log/redis_6379.pid loglevel notice logfile "/usr/local/codis/log/redis_6379.log" databases 16 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir /usr/local/codis/data/ ... appendonly no appendfilename "appendonly.aof" ... # 配置codis-server启动脚本 [root@node04 config]# vim /usr/local/codis/admin/codis-server-admin.sh CODIS_SERVER_BIN=$CODIS_BIN_DIR/codis-server CODIS_SERVER_PID_FILE=/usr/local/codis/log/redis_6379.pid CODIS_SERVER_LOG_FILE=/usr/local/codis/log/redis_6379.log CODIS_SERVER_DAEMON_FILE=$CODIS_LOG_DIR/codis-server.out # 启动codis-server /usr/local/codis/admin/codis-server-admin.sh start /usr/local/codis/admin/codis-server-admin.sh stop
8.codis-server sentinel 部署
# 配置sentinel cd /usr/local/codis/config/ cp sentinel.conf sentinel.conf.bak # vim sentinel.conf bind 127.0.0.1 172.16.1.20 port 26379 daemonize yes logfile "/usr/local/codis/log/sentinel.log" pidfile "/usr/local/codis/log/sentinel.pid" # 启动sentinel服务 /usr/local/codis/bin/redis-sentinel /usr/local/codis/config/sentinel.conf
9.codis集群管理界面

http://blog.csdn.net/fuyuwei2015/article/details/71131780
https://segmentfault.com/a/1190000009365772
http://blog.51cto.com/xiumin/1954795
http://www.cnblogs.com/reblue520/p/6874925.html
https://github.com/CodisLabs/codis/blob/release3.2/doc/tutorial_zh.md
http://redisdoc.com/server/info.html

浙公网安备 33010602011771号