正确的启动姿势 在各redis机上启动codis服务: ./bin/codis-server ./conf/redis6379.conf & ./bin/codis-server ./conf/redis6380.conf & 在管理机上启动: nohup ./bin/codis-dashboard --ncpu=4 --config=./conf/dashboard.conf --log=./logs/dashboard.log --log-level=WARN & 查看是否正常启动: more ./logs/dashboard.log日期 如果有错误提示(不正确的关闭方式引起的,不能直接关闭或使用kill -9关闭codis-dashboard进程,只能使用kill的方式关闭codis-dashboard服务),则进行如下操作: cd /opt/zookeeper-3.4.6/bin/ ./zkCli.sh rmr /codis3 #执行这个语句后所有的组、添加的服务器及添加的代理等配置都将丢失,相关于重新配置 关机时做以下操作就不会有这个问题了: ./bin/codis-admin --proxy=192.168.10.60:11080 --auth="" --shutdown ./bin/codis-admin --dashboard=192.168.10.60:18080 --remove-proxy --force -x 192.168.10.60:11080 在代理机上启动代理服务: nohup ./bin/codis-proxy --ncpu=4 --config=./conf/proxy.conf --log=./logs/proxy.log --log-level=WARN & 在配置机启动codis-fe配置管理界面: nohup ./bin/codis-fe --ncpu=4 --log=./logs/fe.log --log-level=WARN --dashboard-list=./conf/codis.json --listen=192.168.10.60:18090 & ### Codis集群搭建知识点 #### 一、Go语言环境配置 **目的:** Codis是用Go语言编写的,因此需要在服务器上安装并配置Go环境。 **步骤:** 1. **下载Go语言安装包:** ```shell wget https://golang.org/dl/go1.7.3.linux-amd64.tar.gz tar -zvxf go1.7.3.linux-amd64.tar.gz -C /opt/go ``` 这里下载的是Go 1.7.3版本的安装包,并将其解压到`/opt/go`目录下。 2. **创建工作目录:** ```shell mkdir /opt/gowork ``` 3. **配置环境变量:** ```shell vi /etc/profile ``` 在文件末尾添加以下内容: ```bash export GOROOT=/opt/go export PATH=$PATH:$GOROOT/bin export GOPATH=/opt/gowork ``` 其中,`GOPATH`指定了Go的工作目录,这里是`/opt/gowork`。 4. **使环境变量生效:** ```shell source /etc/profile ``` 5. **验证Go语言安装:** ```shell go version ``` 如果输出Go版本信息,则说明安装成功。 #### 二、Zookeeper集群搭建 **目的:** Codis使用Zookeeper作为分布式协调服务。 **步骤:** 1. **创建数据和日志目录:** ```shell mkdir /opt/zookeeper-3.4.6/data mkdir /opt/zookeeper-3.4.6/logs ``` 2. **配置Zookeeper:** ```shell vim /opt/zookeeper-3.4.6/conf/zoo.cfg ``` 编辑`zoo.cfg`文件,添加以下内容: ```properties tickTime=2000 initLimit=5 syncLimit=2 dataDir=/opt/zookeeper-3.4.6/data dataLogDir=/opt/zookeeper-3.4.6/logs clientPort=2181 server.1=codis-61:2888:3888 server.2=codis-62:2888:3888 server.3=codis-63:2888:3888 ``` 需要注意的是,每台Zookeeper服务器都需要配置不同的`server.ID`,例如`codis-61`对应`1`,以此类推。 3. **配置hosts文件:** ```shell vim /etc/hosts ``` 添加Zookeeper服务器的IP地址和主机名映射: ```plaintext 192.168.10.61 codis-61 192.168.10.62 codis-62 192.168.10.63 codis-63 ``` 4. **设置myid文件:** ```shell echo "1" > /opt/zookeeper-3.4.6/data/myid ``` 对于`codis-61`服务器,其`myid`文件中的值应为`1`,`codis-62`为`2`,`codis-63`为`3`。 5. **启动Zookeeper:** ```shell cd /opt/zookeeper-3.4.6/bin ./zkServer.sh start ``` 启动命令后,可以通过`./zkServer.sh status`检查状态,确认Zookeeper运行正常。 #### 三、Codis集群搭建 **步骤:** 1. **下载并安装Codis:** ```shell cd /opt/gowork yum -y install git ``` 安装Git工具后,有两种方法下载Codis: - 方法1:使用Go工具下载(如果遇到问题可以尝试第二种方法): ```shell go get -u -d github.com/CodisLabs/codis ``` - 方法2:直接从GitHub仓库克隆Codis: ```shell mkdir -p src/github.com/CodisLabs git clone https://github.com/CodisLabs/codis.git make make gotest ``` 成功后会在`bin`目录下看到新生成的文件。 2. **配置Redis实例:** 在每个安装了Codis的服务器上,需要配置多个Redis实例。例如,以两个实例为例,每个实例都需要配置相应的`redis6379.conf`和`redis6380.conf`文件,这些文件中包含了Redis服务的具体配置。 3. **启动Codis服务:** - 在各Redis机器上启动Codis服务: ```shell ./bin/codis-server ./conf/redis6379.conf & ./bin/codis-server ./conf/redis6380.conf & ``` - 在管理机上启动Codis Dashboard: ```shell nohup ./bin/codis-dashboard --ncpu=4 --config=./conf/dashboard.conf --log=./logs/dashboard.log --log-level=WARN & ``` 可以通过检查`./logs/dashboard.log`文件来确认是否启动成功。 - 在代理机上启动代理服务: ```shell nohup ./bin/codis-proxy --ncpu=4 --config=./conf/proxy.conf --log=./logs/proxy.log --log-level=WARN & ``` - 在配置机上启动Codis FE配置管理界面: ```shell nohup ./bin/codis-fe --ncpu=4 --log=./logs/fe.log --log-level=WARN --dashboard-list=./conf/codis.json --listen=192.168.10.60:18090 & ``` 4. **关闭Codis服务:** - 正确关闭Codis服务非常重要,避免直接关闭或使用`kill -9`关闭服务。正确的做法是: ```shell ./bin/codis-admin --proxy=192.168.10.60:11080 --auth="" --shutdown ./bin/codis-admin --dashboard=192.168.10.60:18080 --remove-proxy --force -x 192.168.10.60:11080 ``` 5. **监控和故障排查:** - 如果出现错误,可以通过`more ./logs/dashboard.log`查看日志,了解错误信息。 - 如果发现错误是因为不正确的关闭方式引起,可以使用Zookeeper客户端清除配置: ```shell cd /opt/zookeeper-3.4.6/bin ./zkCli.sh rmr /codis3 ``` 通过以上步骤,可以完成Codis集群的基本搭建,包括Go语言环境配置、Zookeeper集群搭建以及Codis服务的启动和关闭。此外,还应注意监控服务运行状态,并在出现问题时能够及时处理。
剩余25页未读,继续阅读
- 粉丝: 1
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 山东联通-海信IP501H-GK6323V100C-1+8G-4.4.2-当贝桌面-卡刷包
- IMG_6338.PNG
- 典范相关分析-CCorA:R语言实现代码+示例数据
- IMG_6337.PNG
- 首发花粥商城兼容彩虹商城简介模板
- C#/WinForm演示退火算法(源码)
- 如何在 IntelliJ IDEA 中去掉 Java 方法注释后的空行.md
- C语言版base64编解码算法实现
- iflytek TextBrewer Ner任务的增强版,TextBrewer是一个基于pytorch的、为实现NLP中的知识蒸馏任务而设计的工具包
- iflytek TextBrewer Ner任务的增强版,TextBrewer是一个基于pytorch的、为实现NLP中的知识蒸馏任务而设计的工具包