系统运维

Undermoon - 手动设置 Redis 集群

时间:2010-12-5 17:23:32  作者:数据库   来源:数据库  查看:  评论:0
内容摘要:本教程将引导您完成手动设置 undermoon 集群的过程,以更好地了解 undermoon 的工作原理。架构我们将在一台机器上部署以下所有部件:mem_broker(内存代理)coordinator

本教程将引导您完成手动设置 undermoon 集群的动设过程,以更好地了解 undermoon 的集群工作原理。

架构

我们将在一台机器上部署以下所有部件:

mem_broker(内存代理)coordinator(协调器)2 个代理与 4 个 Redis 节点

构建二进制文件

$ cargo build

请注意,动设您还需要安装 Redis。集群

部署 Memory Broker

$ RUST_LOG=undermoon=debug,动设mem_broker=debug UNDERMOON_ADDRESS=127.0.0.1:7799 target/debug/mem_broker

部署 Coordinator

运行 coordinator 并指定 memory broker 地址。

$ RUST_LOG=undermoon=debug,集群coordinator=debug UNDERMOON_BROKER_AD

部署 Server Proxy 与 Redis

Chunk

有关详细说明,源码下载请参阅:Rust 写的动设 Undermoon Redis 集群 - Chunk。

运行 Server Proxy 与 Redis

运行 2 个服务器代理和 4 个 Redis 节点:

# You need to run each line in different terminals

# The 集群first half

$ redis-server --port 7001

$ redis-server --port 7002

$ RUST_LOG=undermoon=debug,server_proxy=debug UNDERMOON_ADDRESS=127.0.0.1:6001 target/debug/server_proxy

# The second Half

$ redis-server --port 7003

$ redis-server --port 7004

$ RUST_LOG=undermoon=debug,server_proxy=debug UNDERMOON_ADDRESS=127.0.0.1:6002 target/debug/server_proxy

将 Server Proxy 和 Redis 注册到 Memory Broker

Redis 集群永远无法在单台机器上创建。即使我们有足够的动设 node,Memory broker 也无法创建集群,集群因为它们似乎都在同一主机 127.0.0.1 中;

但是网站模板动设由于我们在一台机器上部署了整个 undermoon 集群,我们需要通过在发布的集群 json 中将 host 字段指定为 localhost1 和 localhost2 来明确告诉 memory broker 它们在不同的主机中。

curl -XPOST -H Content-Type: application/json "http://localhost:7799/api/v3/proxies/meta" -d { "proxy_address": "127.0.0.1:6001",动设 "nodes": ["127.0.0.1:7001", "127.0.0.1:7002"], "host": "localhost1"}

curl -XPOST -H Content-Type: application/json "http://localhost:7799/api/v3/proxies/meta" -d { "proxy_address": "127.0.0.1:6002", "nodes": ["127.0.0.1:7003", "127.0.0.1:7004"], "host": "localhost2"}

现在我们有 2 个服务器代理与 4 个节点。

$ curl http://localhost:7799/api/v3/proxies/addresses

{ "addresses":["127.0.0.1:6001",集群"127.0.0.1:6002"]}

$ curl http://localhost:7799/api/v3/proxies/meta/127.0.0.1:6001

{ "proxy":{ "address":"127.0.0.1:6001","epoch":2,"nodes":[],"free_nodes":["127.0.0.1:7001","127.0.0.1:7002"],"peers":[],"clusters_config":{ }}}

$ curl http://localhost:7799/api/v3/proxies/meta/127.0.0.1:6002

{ "proxy":{ "address":"127.0.0.1:6002","epoch":2,"nodes":[],"free_nodes":["127.0.0.1:7003","127.0.0.1:7004"],"peers":[],"clusters_config":{ }}}

创建集群

使用 4 个 Redis 节点创建一个名为 mycluster 的集群。云南idc服务商

$ curl -XPOST -H Content-Type: application/json http://localhost:7799/api/v3/clusters/meta/mycluster -d { "node_number": 4}

现在我们可以连接到集群:

$ redis-cli -h 127.0.0.1 -p 6001 -c

127.0.0.1:6001> cluster nodes

mycluster___________2261c530e98070a6____ 127.0.0.1:6001 myself,动设master - 0 0 3 connected 8192-16383

mycluster___________ad095468b9deeb2d____ 127.0.0.1:6002 master - 0 0 3 connected 0-8191

127.0.0.1:6001> get a

(nil)

127.0.0.1:6001> get b

-> Redirected to slot [3300] located at 127.0.0.1:6002

"1"
copyright © 2025 powered by 益强资讯全景  滇ICP备2023006006号-31sitemap