CentOS 7 x64 Codis 群集 以及 单机   docker

# 要安装zookeeper

wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

tar zxvf zookeeper-3.4.6.tar.gz

mv zookeeper-3.4.6 /opt/local/zookeeper

mkdir /opt/local/zookeeper/logs

cd /opt/local/zookeeper/conf/

cp zoo_sample.cfg zoo.cfg

vi zoo.cfg     修改配置文件

修改 dataDir

dataDir=/opt/local/zookeeper/data

并增加 日志

dataLogDir=/opt/local/zookeeper/logs

启动 zookeeper

/opt/local/zookeeper/bin/zkServer.sh start

以下为群集配置

-------------------------------------------------------

tickTime=2000

initLimit=5

syncLimit=2

dataDir=/opt/local/zookeeper/data

dataLogDir=/opt/local/zookeeper/logs

clientPort=2181

server.1=0.0.0.0:2888:3888

server.2=172.16.32.33:2888:3888

server.3=172.16.32.40:2888:3888

#maxClientCnxns=60

#autopurge.snapRetainCount=3

#autopurge.purgeInterval=1

-------------------------------------------------------

echo 1 > /opt/local/zookeeper/data/myid

echo 2 > /opt/local/zookeeper/data/myid

echo 3 > /opt/local/zookeeper/data/myid

启动 zookeeper

/opt/local/zookeeper/bin/zkServer.sh start

查看启动状态

/opt/local/zookeeper/bin/zkServer.sh status

# 首先安装 go 语言

wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz

tar zxvf go1.4.2.linux-amd64.tar.gz

mv go /usr/local/

# 配置环境变量

vi /etc/profile

export GOROOT=/usr/local/go

export PATH=$PATH:$GOROOT/bin

export GOPATH=/usr/local/codis

source /etc/profile

执行

go version

查看版本

安装codis

yum install -y git

go get -u -d github.com/wandoulabs/codis #这个需要几分钟下载共30M文件

package github.com/wandoulabs/codis

imports github.com/wandoulabs/codis

imports github.com/wandoulabs/codis: no buildable Go source

files in /usr/local/codis/src/github.com/wandoulabs/codis

cd /usr/local/codis/src/github.com/wandoulabs/codis

# 安装配置

./bootstrap.sh    #这个需要十几分钟共下载50M文件

make gotest

# 将编译好后,把bin目录和一些脚本复制过去/usr/local/codis目录下:

mkdir -p /usr/local/codis/{logs,conf,scripts}

mkdir -p /opt/local/codis_server/{logs,conf,data}

cp -rf bin /usr/local/codis/

cp sample/config.ini /usr/local/codis/conf/

cp sample/redis_conf/6381.conf /opt/local/codis_server/conf/

cp -rf /usr/local/codis/src/github.com/wandoulabs/codis/sample/*.sh /usr/local/codis/scripts/

cp -rf /usr/local/codis/src/github.com/wandoulabs/codis/sample/usage.md /usr/local/codis/scripts/

cp /usr/local/codis/src/github.com/wandoulabs/codis/extern/redis-2.8.21/src/redis-cli /usr/local/codis/bin/redis-cli-2.8.21

ln -s /usr/local/codis/bin/redis-cli-2.8.21 /usr/local/codis/bin/redis-cli

# 修改配置文件

cd  /usr/local/codis/conf

vi config.ini

# 修改IP,配置WEB管理 默认 18087 端口

dashboard_addr

( zk  配置 zookeeper 地址,单机配置一个,群集配置多个~已,号隔开 )

proxy_id=codis_proxy_1  配置为唯一

product=     # zookeeper 节点信息

cd /opt/local/codis_server/conf/

# 修改redis 配置文件

6381.conf

cp 两份 分别为 6379.conf    6380.conf  为 主与从配置

# 修改里面的配置端口与配置 需要修改的配置如下:

daemonize yes      #后台模式运行

pidfile  var/run/redis_6379.pid   #pid 文件

port 6379          #运行端口

timeout 50         #请求超时时间,默认0

logfile "/opt/local/codis_server/logs/codis_6379.log"   #日志文件

save 900 1                    #打开保存快照的条件( 第一个*表示多长时间 , 第三个*表示执行多少次写操作 )

save 300 10

save 60 10000

dbfilename 6379.rdb                     #数据快照保存的名字

dir /opt/local/codis_server/data        #数据快照的保存目录

appendfilename "6379_appendonly.aof"    #Redis更加高效的数据库备份及灾难恢复方式。

appendfsync everysec                    # ( always: always表示每次有写操作都进行同步. everysec: 表示对写操作进行累积,每秒同步一次 )

# 启动codis-server服务

/usr/local/codis/bin/codis-server /opt/local/codis_server/conf/6379.conf

/usr/local/codis/bin/codis-server /opt/local/codis_server/conf/6380.conf

# 修改 dashboard 启动脚本

vi /usr/local/codis/scripts/start_dashboard.sh

# 修改为如下路径:

nohup /usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini -L /opt/local/codis_server/logs/dashboard.log dashboard --addr=:18087 --http-log=/opt/local/codis_server/logs/requests.log &>/dev/

null &

# 启动

/usr/local/codis/scripts/start_dashboard.sh

# 访问dashboard

http://localhost:18087/admin/

------------------------------------------------------------------------------------

dashboard  禁止使用 kill -9 结束进程

如果使用kill -9 或者 意外关机导致进程关闭,需要将zookeeper 节点信息删除才能启动。

或者修改 config.ini 中的 product  选项,填写不相同的节点。

------------------------------------------------------------------------------------

# 添加redis组

/usr/local/codis/scripts/

vi /usr/local/codis/scripts/add_group.sh

-------------------------------------------------------------------------------------------------------------------------------------------

#!/bin/sh

let group=0

for port in 638{0..3}; do

let group="1+group"

echo "add group $group with a master(localhost:$port), Notice: do not use localhost when in produciton"

/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini -L /opt/local/codis_server/logs/cconfig.log server add $group localhost:$port master

done

-------------------------------------------------------------------------------------------------------------------------------------------

运行 /usr/local/codis/scripts/add_group.sh   自动添加

# Server Groups  -- > New Server Group -- > Add New Redis Instance

#通过管理页面添加组ID,为组添加主从实例,一个组里只能有一个redis-master:

第一个主一个从,默认每个组里面第一个实例是主

group_1

127.0.0.1:6379   master

127.0.0.1:6380   slave

group_2

..............

group_3

..............

group_4

..............

必须有4组或以上,否则报错

# 修改脚本,初始化槽

vi /usr/local/codis/scripts/initslot.sh

---------------------------------------------------------------------------------------------------------------

#!/bin/sh

echo "slots initializing..."

/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini slot init -f

echo "done"

echo "set slot ranges to server groups..."

for ((i=0;i<4;i++)); do

let beg="256*i"

let end="256*i + 255"

let group="1+i"

/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini slot range-set $beg $end $group online

done

echo "done"

----------------------------------------------------------------------------------------------------------------

# 启动脚本  ( 初始化solt是在group设置好之后 )

/usr/local/codis/scripts/initslot.sh

# 修改start_proxy.sh,启动codis-proxy服务

vi /usr/local/codis/scripts/start_proxy.sh

----------------------------------------------------------------------------------------------------------------------------------------

#!/bin/sh

echo "shut down proxy_1..."

/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini proxy offline proxy_1

echo "done"

echo "start new proxy..."

nohup /usr/local/codis/bin/codis-proxy --log-level info -c /usr/local/codis/conf/config.ini -L /opt/local/codis_server/logs/proxy.log  --cpu=8 --addr=0.0.0.0:19000 --http-addr=0.0.0.0:11000 &

echo "done"

echo "sleep 3s"

sleep 3

tail -n 30 /opt/local/codis_server/logs/proxy.log

------------------------------------------------------------------------------------------------------------------------------------------

vi /usr/local/codis/scripts/set_proxy_online.sh

------------------------------------------------------------------------------------------------------------------------------------------

#!/bin/sh

echo "set proxy_1 online"

/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini proxy online proxy_1

echo "done"

------------------------------------------------------------------------------------------------------------------------------------------

# 启动proxy

/usr/local/codis/scripts/start_proxy.sh

# 上线proxy

/usr/local/codis/scripts/set_proxy_online.sh

docker

172.16.1.52

docker run -h="Codis" --name Codis -d -v /opt/upload/zookeeper:/opt/local/zookeeper/data -v /opt/upload/codis/data:/opt/local/codis_server/data -v /opt/upload/codis/logs:/opt/local/codis_server/logs -p 2181:2181 -p 22:22 -p 6379:6379 -p 6380:6380 -p 19000:19000 -p 18087:18087 -p 11000:11000 centos/mx-codis

----------------------------------------------------------------------------------------

群集版 codis_proxy

docker 需要配置 固定IP模式,否则 ip addr 读取的为 docker 容器的网卡ip

----------------------------------------------------------------------------------------

时间: 2024-07-28 19:08:20

CentOS 7 x64 Codis 群集 以及 单机   docker的相关文章

CentOS 7 x64 docker 初试

CentOS 7 x64 docker 使用 CentOS 7 安装 docker yum search docker  查看是否 有docker包 yum info docker  版本为1.3.2 yum -y install docker 安装docker docker --version Docker version 1.3.2, build 39fa2fa/1.3.2 关闭 firewalld  与 Selinux service docker start 启动 systemctl e

codis 3.2单机安装环境集群

codis 3.2单机安装环境集群 一.软件环境 系统:centos 6.5 Jdk:jdk-8u111-linux-x64.gz go : go1.7.3.linux-amd64.tar.gz zookeeper: zookeeper-3.4.6.tar.gz 本机IP:172.16.40.131 软件下载地址: codis:https://github.com/CodisLabs/codis zookeeper:https://zookeeper.apache.org/ go:http://

编译安装 Centos 7 x64 + tengine.2.0.3 (实测+笔记)

环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:CentOS Linux release 7.0.1406 安装步骤: 1.系统环境 1.1 更新系统 [[email protected] ~]# yum update -y 1.2 查看环境 [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) [[email protected] ~]#

CentOS 7 x64 安装 Ceph

CentOS 7  x64 安装 Ceph 二, 实验环境 节点            IP                 主机名                  系统 MON         172.24.0.13           ceph-mon0             CentOS 7 X64 MDS         172.24.0.13           ceph-mds0             CentOS 7 X64 OSD0        172.24.0.14  

OpenStack 入门学习之二:在CentOS 6.5上使用RDO单机安装icehouse

本文主要介绍如何在CentOS6.5上通过RDO来安装icehouse,由于安装的过程中涉及的软件较多,以及依赖关系比较复杂,建议使用一个全新的操作系统来进行安装. 安装步骤具体如下 (1)安装操作系统 使用光盘或镜像文件安装操作系统. 分区的时候需要划分一个逻辑区,并且建立一个名称叫cinder-volumes的组.这个逻辑卷组会被cinder使用. 创建的效果类似于: 创建过程请参考:http://www.centos.org/docs/5/html/Deployment_Guide-en-

[转帖]CentOS 7 x64 安装 Ceph

https://www.cnblogs.com/jicki/p/5801712.html 改天尝试一下. k8s 可以使用ceph 作为 pv和pvc的后端存储. CentOS 7  x64 安装 Ceph 二, 实验环境 节点            IP                 主机名                  系统 MON         172.24.0.13           ceph-mon0             CentOS 7 X64 MDS        

Centos 7 ASP.NET Core 1.0 Docker部署

先决条件 64位,内核3.10以上,查看当前的内核版本,打开一个终端使用uname -r显示您的内核版本 ? ? ? ? ? ? 安装 sudo yum update ? ? sudo tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7/ enabled=1 gpgcheck=1

实战Centos系统部署Codis集群服务

导读 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务. 一.Codis简介 Codis 是 Wandoujia Infrastructu

centos 下yum命令无法正常安装docker问题

docker安装前检查你对应centos版本,一般要高与3.8版本才支持[email protected] ~]# uname -aLinux bogon 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux在安装docker时出现如下错误信息,[[email protected] ~]# yum -y install dockerLoaded plugins: f