Codis 安装

本贴最后更新于 2918 天前,其中的信息可能已经东海扬尘

注:以下 $()里面的内容都要自己修改

安装 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

相关帖子

回帖

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...