谈谈架构之codis服务器集群安装搭建

   

一、服务器配置说明

  1、准备三台阿里云服务器

    server1:121.196.224.162 

    

    server2:121.196.224.61

    server3:121.196.224.73

 

   2、所需软件

    go1.4.1.linux-amd64.tar、zookeeper-3.4.6.tar

   3、角色分配    

3.1、zookeeper集群
10.46.66.69
10.47.52.209 
10.47.48.192

3.2、codis-config
10.47.52.209 

3.3、codis-proxy
10.47.52.209 
10.47.48.192

3.4、codis-server
10.47.52.209:6379 master
10.47.48.192:6379 slave

二、Zookeeper安装

  1、将zookeeper-3.4.6.tar.gz传输到三台服务器的/home/software目录下(本次操作分别在三台服务器上均执行)

  

  2、将zookeeper-3.4.6.tar.gz解压到/usr/local目录下、执行命令:tar -xzf zookeeper-3.4.6.tar.gz -C /usr/local

  

  3、将/usr/local/zookeeper-3.4.6/conf目录下的zoo_sample.cfg更名为zoo.cfg;然后执行命令: cd /usr/local/zookeeper-3.4.6/conf/ && mv zoo_sample.cfg zoo.cfg &

  4、修改zoo.cfg文件

   执行命令:vim zoo.cfg;

     修改:dataDir=/usr/local/zookeeper-3.4.6/tmp/zookeeper;存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能

   追加:在文件末尾追加 server.1=10.46.66.69:2888:3888,server.2=10.47.52.209:2888:3888,server.3=10.47.48.192:2888:3888;右边可以配置两个端口,第一个端口用于F和L之间的数据同步和其它通信,第二个端口用于Leader选举过程中投票通信

   酌情修改:  

tickTime=2000 :ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime
initLimit=10:Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在 initLimit 时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了
syncLimit=5:在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。注意:不要把这个参数设置得过大,否则可能会掩盖一些问题
clientPort=2181:客户端连接server的端口,即对外服务端口,一般设置为2181。
dataLogDir=/usr/local/zookeeper-3.4.6/logs

  5、在zoo.cfg文件中的dataDir所设置的目录(/usr/local/zookeeper-3.4.6/tmp/zookeeper)下创建myid文件

    执行命令:mkdir -p /usr/local/zookeeper-3.4.6/tmp/zookeeper;

    echo "1" > /usr/local/zookeeper-3.4.6/tmp/zookeeper/myid((myid:三台zookeeper服务器依次是1、2、3))

    

  6、启动zookeeper

         执行命令: cd /usr/local/zookeeper-3.4.6/bin ; ./zkServer.sh start

 

 

  7、查询zookeeper状态

         执行命令:cd /usr/local/zookeeper-3.4.6/bin

                              ./zkServer.sh status

 

这里zookeeper就安装成功了。

三、安装go 

  1、将go1.4.1.linux-amd64.tar.gz传输到三台服务器的/home/software目录下(本此操作分别在两台coidis服务器上均执行)

  2、将go1.4.1.linux-amd64.tar.gz解压到/usr/local目录下

  3、执行命令:tar -xzf go1.4.1.linux-amd64.tar.gz -C /usr/local

    

  4、设置环境变量

  执行命令:vim /etc/profile

  

  执行立即生效命令:source /etc/profile

  5、测试go

    在/home/software编译一个hello.go测试文件

  

 

四、安装codis

 1、安装git

   执行命令:

      sudo apt-get update

      sudo apt-get install git

 2、获取codis

  执行命令:go get -u -d github.com/CodisLabs/codis

3、下载并编译godep

  执行命令:go get github.com/tools/godep

执行命令:cp godep /usr/local/go/bin/godep

4、到$GOPATH/src/github.com/CodisLabs/codis目录执行make命令编译代码

5、创建配置文件(/etc/codis/config_*.ini)   (配置文件随便放置)

 

在10.47.52.209上启动dashboard:执行命令:cd /usr/local/codis/src/github.com/CodisLabs/codis/ && ./bin/codis-config -c /etc/codis/config_209.ini dashboard &

初始化:slot

最后用火狐浏览器打开:*.*.*.*:18087/admin

 

配置codis-server

1、创建配置文件(/etc/codis/6379.conf)   (配置文件随便放置)

2、启动codis-server

  执行命令:cd /usr/local/codis/src/github.com/CodisLabs/codis/bin/;./codis-server /etc/codis/6379.conf

./codis-server /etc/codis/6379.conf

  

五、web操作

  1、添加组

 

 

2、添加服务

 

    

3、给组1分配slots

    

六、配置codis-proxy

 执行命令:/usr/local/codis/src/github.com/CodisLabs/codis/bin/codis-proxy  -c /etc/codis/config_209.ini -L /data/log/codis-proxy_209.log  --cpu=2 --addr=0.0.0.0:19000 --http-addr=0.0.0.0:11000 &

    

     /usr/local/codis/src/github.com/CodisLabs/codis/bin/codis-proxy  -c /etc/codis/config_192.ini -L /data/log/codis-proxy_192.log  --cpu=2 --addr=0.0.0.0:19000 --http-addr=0.0.0.0:11000 &

    

最后:codis集群就搭建完成了,谢谢啦。。。

文章作者介绍:

来自于小豹科技的lee-公司专注于软件基础研发平台,目前公司正在研发一款基于Netty的插件式的API网关-小豹API网关。 希望与对OpenAPI、微服务、API网关、Service Mesh等感兴趣的朋友多交流。 有兴趣的朋友请加QQ群244054462。

posted @ 2018-01-18 17:00  风吹鸡鸡一边甩  阅读(371)  评论(1)    收藏  举报