codis 3.1 安装搭建
一.基本信息
1.服务器基本信息
本次测试只使用了一台服务器10.20.23.249
2. 环境信息
2.1 codis版本:3.1 版本
git clone https://github.com/CodisLabs/codis.git -b release3.1
2.2 Go使用版本:
2.3 jdk版本:jdk1.7.0_55
Oracle.com/otn-pub/Java/jdk/8u55-b14/jdk-8u111-linux-x64.tar.gz
2.4 zookeeper版本:zookeeper-3.4.8.tar.gz
二.部署codis
1. 相关组件安装配置
1.1 安装所需依赖包
三台主机上执行
yum install -y gcc make gcc-c++ automake lrzsz openssl-devel zlib-* bzip2-* readline* zlib-* bzip2-* git nmap unzip wget lsof xz net-tools mercurial vim
1.2 修改内核
三台主机上执行
vi /etc/sysctl.conf
vm.overcommit_memory = 1sysctl vm.overcommit_memory=1
手工执行:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
并加到 /etc/rc.local中
2.安装go
rpm -ivh Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install golang git -y
mkdir /opt/gopath
vim /etc/profile
export GOPATH=/opt/gopath
查看go版本:
go env GOPATH
3.安装jdk
cd /usr/java/
chmod +x jdk-7u55-linux-x64.rpm
rpm -ivh jdk-7u55-linux-x64.rpm
3.1配置java环境变量
vim /etc/profile
添加如下信息
export JAVA_HOME=/usr/local/jdk1.7.0_55
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
刷新配置文件:
source /etc/profile
4.安装zookeeper
4.1 安装zookeeper
cd /usr/local/src/
wget
tar zxf zookeeper-3.4.9.tar.gz
mv zookeeper-3.4.9 /usr/local/zookeeper
4.2 生成配置文件
cd /usr/local/zookeeper/conf
cp zoo_sample.cfg /opt/zoo.cfg
4.3 修改zookeeper配置文件
vim /opt/zoo.cfg
修改以下内容
2888表示zookeeper程序监听端口,3888表示zookeeper选举通信端口。
4.4 创建所需文件夹
mkdir zk1 zk2 zk3
4.5 生成myid
echo "1" > zk1/myid
echo "2" > zk2/myid
echo "3" > zk3/myid
cp zoo.cfg zk1/zk1.cfg
cp zoo.cfg zk2/zk2.cfg
cp zoo.cfg zk3/zk3.cfg
vim zk2/zk2.cfg
dataDir=/opt/zk2
vim zk3/zk3.cfg
dataDir=/opt/zk3
[root@linux-node1 opt]# grep '^[a-z]' zk1/zk1.cfg
tickTime=2000 #zookeeper服务器之间和客户端维持心跳的时间间隔,每段时间他们就会发送一个心跳,微秒
initLimit=10 #zookeeper进行选举,初始化连接时,最长能忍受的心跳间隔数,10次
syncLimit=5
dataDir=/opt/zk1 #数据存储的目录
clientPort=2181 #客户端连接上来的端口
server.1=10.20.23.249:2887:3887 #集群,1以及下面的2,3每一个群集都有一个唯一的id,就是myid的内容,,后面是集群的ip(不同服务器就会有不同的ip),第一个端口表示zookeeper会选出一个leader出来,三个集群之间交换信息的端口,第二个端口表示若是leader挂了,就要重新选举,就用这个端口就行选举,zookeeper也是无中心的
server.2=10.20.23.249:2888:3888
server.3=10.20.23.249:2889:3889
4.6 启动zookeeper
/usr/local/zookeeper/bin/zkServer.sh start /opt/zk1/zk1.cfg
/usr/local/zookeeper/bin/zkServer.sh start /opt/zk2/zk2.cfg
/usr/local/zookeeper/bin/zkServer.sh start /opt/zk3/zk3.cfg
4.7 关闭zookeeper
cd /usr/local/zookeeper/bin
./zkServer.sh stot
4.8 查看zk状态
查看状态:
[root@linux-node1 ~]# /usr/local/zookeeper/bin/zkServer.sh status /opt/zk1/zk1.cfg
ZooKeeper JMX enabled by default
Using config: /opt/zk1/zk1.cfg
Mode: follower
[root@linux-node1 ~]# /usr/local/zookeeper/bin/zkServer.sh status /opt/zk2/zk2.cfg
ZooKeeper JMX enabled by default
Using config: /opt/zk2/zk2.cfg
Mode: leader
4.9 查看相关信息:
/usr/local/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181
5.安装codis(三台主机上执行)
5.1 下载codis
mkdir /opt/gopath/src/github.com/CodisLabs -p
cd /opt/gopath/src/github.com/CodisLabs
git clone https://github.com/CodisLabs/codis.git -b release3.1
5.2 编译codis
cd /opt/gopath/src/github.com/CodisLabs/codis
make
5.3 查看bin
[root@data-1-1 codis]# ll bin/
总用量 111800
drwxr-xr-x 4 root root 4096 3月 7 00:37 assets
-rwxr-xr-x 1 root root 17398102 3月 7 00:37 codis-admin
-rwxr-xr-x 1 root root 18899624 3月 7 00:37 codis-dashboard
-rwxr-xr-x 1 root root 15356742 3月 7 00:37 codis-fe
-rwxr-xr-x 1 root root 15221328 3月 7 00:37 codis-ha
-rwxr-xr-x 1 root root 19154689 3月 7 00:37 codis-proxy
-rwxr-xr-x 1 root root 8873464 3月 7 00:36 codis-server
-rwxr-xr-x 1 root root 6311752 3月 7 00:35 codis-server-2.8.21
-rwxr-xr-x 1 root root 6555466 3月 7 00:36 redis-benchmark
-rwxr-xr-x 1 root root 6683191 3月 7 00:36 redis-cli
-rw-r--r-- 1 root root 167 3月 7 00:36 version