Redis 3.0.3集群搭建
Redis3.0版本之后支持Cluster,具体介绍redis集群我就不多说,了解请看redis中文简介。首先,直接访问redis.io官网,下载redis.t
Redis3.0版本之后支持Cluster,具体介绍redis集群我就不多说,了解请看redis中文简介。
首先,直接访问redis.io官网,下载redis.tar.gz,现在版本3.0.3,我下面已经在虚拟机启动了两个linux来部署redis。
1. 下载和解包
cd /usr/local/
wget
tar -zxvf redis-3.0.3.tar.gz
mv redis-3.0.3 redis
2. 编译安装
cd redis
make && make install
有些人在这里可能会碰到一个错误导致编译不过(如下)
make[1]: Entering directory `/redis/src'
CC adlist.o
In file included from adlist.c:34:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/redis/src'
make: *** [all] Error 2
原因是没有安装jemalloc内存分配器,可以安装jemalloc 或 直接 输入make MALLOC=libc && make install
3. 创建redis节点
我们将在两台Server上创建六个节点,每台3个,3主3从。
1)Server1
cd /usr/local/
mkdir redis_cluster //创建集群目录
mkdir 7000 7001 7002 //分别代表三个节点 其对应端口 7000 7001 7002
创建7000节点为例,
cd ./7000
cp /usr/local/redis/redis.conf ./ //拷贝到当前7000目录
vi redis.conf //编辑配置 主要修改一下几个参数
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000
port 7000 //端口7000
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes.conf //集群的配置 配置文件首次启动自动生成
cluster-node-timeout 5000 //请求超时 设置5秒够了
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
配置好了,就相应地把这个修改后的配置文件拷贝到 7001 7002目录,注意要修改监听端口port 7001 7002.
接下来,启动服务,进入节点目录
依次执行 redis-server redis.conf
可以看到生成了appendonly.aof nodes.conf
ps -ef | grep redis 查看是否启动成功
root 885 0.8 0.2 129452 2620 ? Ssl 20:10 0:21 redis-server *:7000 [cluster]
root 887 0.8 0.2 129452 2616 ? Ssl 20:10 0:21 redis-server *:7001 [cluster]
root 893 0.8 0.2 128356 2612 ? Ssl 20:10 0:21 redis-server *:7002 [cluster]
netstat -tnlp | grep redis 可以看到redis监听端口
tcp 0 0 0.0.0.0:7000 0.0.0.0:* LISTEN 885/redis-server *
tcp 0 0 0.0.0.0:7001 0.0.0.0:* LISTEN 887/redis-server *
tcp 0 0 0.0.0.0:7002 0.0.0.0:* LISTEN 893/redis-server *
tcp 0 0 0.0.0.0:17000 0.0.0.0:* LISTEN 885/redis-server *
tcp 0 0 0.0.0.0:17001 0.0.0.0:* LISTEN 887/redis-server *
tcp 0 0 0.0.0.0:17002 0.0.0.0:* LISTEN 893/redis-server *
我们除了看到 配置文件中设置的端口700* 还有700*+10000 (1700*), 前者是客户端访问的, 后者是集群内部节点之间访问的.
注意,在多台Server间搭建集群,如果开了防火墙的,需要设置iptables开放上面所有端口.
2) Server2
步骤和Server1一样, 设置端口 7003 7004 7005
4. 创建集群
前面已经准备好了搭建集群的redis节点,接下来我们要把这些节点都串连起来搭建集群。官方提供了一个工具:redis-trib.rb (/usr/local/redis/src/redis-trib.rb) 看后缀就知道这鸟东西不能直接执行,它是用ruby写的一个程序,所以我们还得安装ruby.
yum -y install ruby ruby-devel rubygems rpm-build //网上不明觉厉,都是这么安装的,就跟着这样玩吧
再用 gem 这个命令来安装 redis接口 gem貌似是ruby的一个工具包 反正没错就是了。
gem install redis //等一会儿就好了
当然,方便操作,两台Server都要安装。
上面的步骤完事了,接下来运行一下redis-trib.rb
/usr/local/redis/src/redis-trib.rb
Usage: redis-trib
reshard host:port
--to
--yes
--slots
--from
check host:port
call host:port command arg arg .. arg
set-timeout host:port milliseconds
add-node new_host:new_port existing_host:existing_port
--master-id
--slave
del-node host:port node_id
fix host:port
import host:port
--from
help (show this help)
create host1:port1 ... hostN:portN
--replicas
For check, fix, reshard, del-node, set-timeout you can specify the host and port of any working node in the cluster.
看到这,应该明白了吧, 就是靠上面这些操作 完成redis集群搭建的.
确认所有的节点都启动,接下来使用参数create 创建 (在Server1中来创建)

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











インターネットの急速な発展に伴い、高い同時実行性の問題がますます顕著になってきました。この問題に対応するために、Redis の登場が重要な解決策となっており、従来のリレーショナル データベースにおけるメモリの読み書きによる過剰な読み書きの負荷の問題を解決します。ただし、単一ノード Redis は、同時実行性が高い状況では依然としてパフォーマンスのボトルネックがあるため、Redis クラスターを使用する必要があります。この記事では、ThinkPHP6 を使用して Redis クラスターを実装する方法について説明します。 1. Redis Cluster の概要 Redis Cluster は、Redis が提供する公式クラスターです。

Redis を介して PHP データ キャッシュのクラスター デプロイメントを実装するにはどうすればよいですか?はじめに: PHP アプリケーションが高い同時実行性と大規模なトラフィックに直面すると、データベースのパフォーマンスのボトルネックが発生することがよくありますが、このとき、キャッシュ テクノロジを使用すると、システムのパフォーマンスと同時実行性を大幅に向上させることができます。 Redis は、高性能のメモリ内キー/値データベースとして、キャッシュ ソリューションの実装に広く使用されています。この記事では、パフォーマンスとスケーラビリティをさらに向上させるために、Redis を介して PHP データ キャッシュのクラスター デプロイメントを実装する方法を紹介します。 1. Redis Cluster Redis の概要

Redis および Node.js のクラスター ソリューション: 高可用性を実現する方法 はじめに: インターネットの急速な発展に伴い、データ処理はますます大規模かつ複雑になってきました。システムの高可用性とスケーラビリティを確保するには、分散クラスター アーキテクチャを使用して、大量のデータの保存と処理のニーズに対処する必要があります。高性能のインメモリ データベースとしての Redis を、バックエンド プログラミング言語としての Node.js と組み合わせることで、可用性の高い分散クラスター ソリューションを構築できます。この記事ではRedisとNode.jsを使って実装する方法を紹介します。

Redis は、強力なメモリ内キーと値のペアのストレージ データベースです。通常の RDBMS (リレーショナル データベース管理システム) よりも高いパフォーマンスと優れた拡張性を備えています。 Redis の利点の 1 つは、分散システムのコア テクノロジとして使用できることです。この記事では、Redis Cluster の概念と、PHP で Redis Cluster を使用する方法について説明します。 Redis クラスターとは何ですか?簡単に言えば、Redis クラスターは複数の Redis インスタンスの集合体です。 Redis クラスターでできること

Go 言語でデータベース機能を学習し、Redis クラスターで読み取りおよび書き込み操作を実装します。 はじめに: データベースは今日のインターネット アプリケーションに不可欠な部分であり、Go 言語はシンプルで効率的なプログラミング言語として、優れたデータベース操作機能も備えています。この記事では、Go 言語でデータベース関数を使用し、Redis クラスターで読み取りおよび書き込み操作を実装する方法を紹介します。 1. Go 言語でのデータベース機能 Go 言語でのデータベース操作は主に、database/sql パッケージを通じて実装されます。このパッケージは基本的なデータを提供します

Redis と PHP クラスター ソリューション: 高可用性とスケーラビリティを実現する方法 はじめに: Redis は、高速でスケーラブルなアプリケーションを構築するためによく使用される、オープン ソースの高性能インメモリ データベースです。一般的なサーバー側スクリプト言語として、PHP を Redis と併用して、高可用性とスケーラビリティのクラスター ソリューションを実現できます。この記事では、Redis と PHP を使用して高可用性とスケーラブルなクラスターを構築する方法を紹介し、コード例を通じて詳しく説明します。 1. Redis クラスター Re の構築、インストール、設定

Redis および Julia 言語を使用して高可用性クラスター機能を実装する方法 はじめに: インターネット ビジネスの発展に伴い、システムの可用性に対する要件はますます高くなっています。障害が発生した場合でもシステムがサービスを提供し続けることができるようにするために、高可用性はさまざまな業界で重要な要件の 1 つになっています。この記事では、Redis 言語と Julia 言語を使用して高可用性クラスター機能を実装する方法を紹介し、具体的なコード例を示します。 1. 高可用性クラスターとは何ですか? 高可用性クラスターは、複数のノードをまとめてシステム全体を形成します。

Redis は、高性能のオープンソース メモリ データ ストレージ サービスであり、その高速な読み取りおよび書き込み速度、永続的なストレージ、および複数のデータ構造のサポートにより、開発者の間でますます好まれています。ビジネスが成長し続けるにつれて、Redis のストレージ容量は需要を満たすことができなくなり、拡張する必要があります。この記事では、Redis クラスターの拡張計画とその実装の詳細について紹介します。 Redis クラスターの概念 Redis クラスターは、複数の Redis インスタンスを接続して大規模な Redis インスタンスのセットを形成することを指します。これにより、Redis が向上します。
