注:以下 $()里面的内容都要自己修改
安装 zookeeper
下载 zookeeper
wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz
然后解压安装
tar -C /opt -xf zookeeper-3.4.8.tar.gz
cd /opt
mv zookeeper-3.4.8 zookeeper
chown root:root -R zookeeper/
cd zookeeper
cp conf/zoo_sample.cfg conf/zoo.cfg
将 zookeeper 加入环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/zookeeper/bin
使刚才的设置生效
source /etc/profile
编辑 zookeeper 的配置文件
vim /usr/local/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
dataLogDir=/usr/local/zookeeper/logs
dataDir=/usr/local/zookeeper/data
server.1= $(1.ip):2888:3888
server.2= $(2.ip):2888:3888
server.3= $(3.ip):2888:3888
修改完配置文件,创建 data 和 logs 的文件夹
mkdir -p /usr/local/zookeeper/logs
mkdir -p /usr/local/zookeeper/data
在各个安装 zookeeper 的服务器上分别执行以下命令
server.1
echo “1” > /opt/zookeeper/data/myid
server.2
echo “2” > /opt/zookeeper/data/myid
server.3
echo “3” > /opt/zookeeper/data/myid
启动
在 zookeeper 目录下
bin/zkServer.sh start
ps:在启动第一台 zookeeper 的时候可能会报错,等三台 zookeeper 全部启动完成之后就不会报错了。
安装 codis
安装 GO 语言
下载安装包
wget https://golang.org/dl/go1.7.3.linux-amd64.tar.gz
tar -zvxf go1.7.3.linux-amd64.tar.gz /usr/local
设置 go 的环境变量
GOROOT=/usr/local/go
export PATH=PATH:GOROOT/bin
让环境变量生效
codis 安装
下载源码到 $GOPATH/src/github.com/CodisLabs/codis
mkdir -p GOPATH/src/github.com/CodisLabs
cd _ && git clone https://github.com/CodisLabs/codis.git -b release3.1
离线安装 godep
离线安装 godep 方法:
运行 git clone https://github.com/tools/godep.git 下载 godep 源码;
将 godep 目录移动到 $GOPATH/src/github.com/tools/godep,并进入该目录;
运行命令 go install ./,该命令会将 godep 生成到 $GOPATH/bin 下。
编译 codis
在 codis 主目录下执行 make
启动及参数
codis dashboard
执行
./bin/codis-dashboard --default-config | tee dashboard.toml
生成配置文件:dashboard.toml 修改配置文件
vim dashboard.toml
将 product_auth = ""
改为 product_auth = “$(password)”
启动 codis dashboard
nohup ./bin/codis-dashboard --ncpu=4 --config=dashboard.toml \
--log=dashboard.log --log-level=WARN &
codis proxy
执行
./bin/codis-proxy --default-config | tee proxy.toml
生成配置文件:proxy.toml 修改配置文件
vim dashboard.toml
将 product_auth = ""
改为 product_auth = “$(password)”
启动 codis proxy,密码需与 dashboard 密码一致
nohup ./bin/codis-proxy --ncpu=4 --config=proxy.toml \
--log=proxy.log --log-level=WARN &
启动 codis-fe
执行
./bin/codis-admin --dashboard-list --zookeeper=127.0.0.1:2181 | tee codis.json
生成配置文件:codis.json 启动 FE
nohup ./bin/codis-fe --ncpu=4 --log=fe.log --log-level=WARN \
--dashboard-list=codis.json --listen=$(IP):8080 &
启动 codis-server
- 编辑 redis 配置文件 在 codis 主目录下执行以下命令
mkdir conf
cp extern/redis-3.2.4/redis.conf conf/
cp conf/redis.conf conf/redis-6379.conf
vim conf/redis-6379.conf
//修改以下内容
daemonize yes
port 6379
requirepass $(password) //此处密码应与 dashboard 和 proxy 密码一致
bind 0.0.0.0 // 设置监听 ip
//我修改的配置文件到此为止,最下面附上网上的配置文件,没经测试
cp conf/redis-6379.conf conf/redis-6380.conf
cp conf/redis-6379.conf conf/redis-6479.conf
……
vim conf/redis-$(port).conf
//修改端口
port $(port)
启动 codis-server./bin/codis-server /usr/local/src/github.com/CodisLabs/codis/conf/redis-$(port).conf
浏览器登录 $(ip):8080 添加即可
附官方说明文档//内有配置文件主要参数说明 redis.conf 考虑性能,主库关闭 aof 和 rdp,从库只开启 aof:
将 redis6379.conf 更改以下参数(主库):daemonize yespidfile /codisapp/run/codis/redis6379.pidport 6379timeout 86400tcp-keepalive 60loglevel noticelogfile /codisapp/logs/codis/redis6379.logdatabases 16save ""
save 900 1 ----关闭 aof
save 300 10
save 60 10000
stop-writes-on-bgsave-error nordbcompression yesdbfilename dump6379.rdbdir /codisapp/dbdat/redis_data_6379masterauth "xxxxx"slave-serve-stale-data yesrepl-disable-tcp-nodelay noslave-priority 100requirepass "xxxxx"maxmemory 10gbmaxmemory-policy allkeys-lruappendonly noappendfsync everysecno-appendfsync-on-rewrite yesauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mblua-time-limit 5000slowlog-log-slower-than 10000slowlog-max-len 128hash-max-ziplist-entries 512hash-max-ziplist-value 64list-max-ziplist-entries 512list-max-ziplist-value 64set-max-intset-entries 512zset-max-ziplist-entries 128zset-max-ziplist-value 64client-output-buffer-limit normal 0 0 0client-output-buffer-limit slave 0 0 0client-output-buffer-limit pubsub 0 0 0hz 10aof-rewrite-incremental-fsync yes
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于