Redisインストール+クラスタ+パフォーマンスモニタリング

4112 ワード

最近、プロジェクトがオンラインになります.人手の問題で、いろいろな研究が行われています.この2、3日、redisクラスタの配置の問題を終えたばかりで、みんなとおしゃべりをしています.
一、Redis取付
*以下はLinux環境で実行する、システムubuntu 16.04
1.安定版のダウンロード
sudo wget http://download.redis.io/redis-stable.tar.gz

2.解凍
sudo tar -zxvf redis-stable.tar.gz

3.GCCエディタがなければインストール
sudo apt-get install gcc

4.編集、インストール
cd redis-stable
make
make install PREFIX=    

5.Redis構成
cd   4    /bin
cp redis-stable  /redis.conf ./
#           redis  ,       

  redis cluster       (        ):
bind IP    #       ,  127.0.0.1
port 6379 #    
daemonize yes #     
#          ,masterauth requirepass    ,       ,      
masterauth   
requirepass   (    )
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000

6.サービス開始
              ,      reids.conf,  port,           
          bin   ,  port   
./redis-server redis.conf

二、Redisクラスタ
現在、redisクラスタソリューションは2つあります.
1. Twemproxy
これはTwitterが発表したソリューションで、簡単に言えば上層部にエージェントを追加して配布を担当し、clientエンドクラスタソリューションに属し、現在多くのアプリケーションが採用しているソリューションです.
LVS、Twemproxy、Keepalived、Redis主従モデルを使うことができて、面倒な感じがして、しかもオンライン拡張ノードの能力がなくて、会社の経済能力は有限で、最初から十分なノードを予約することができなくて、それから官推のredis cluster方案を発見して、Twemproxyを放棄しました.
2. Redis Cluster
Redis3.0以降、公式に発表されたserverエンドクラスタスキーム
メリット:
(1)       

(2)         (Twemproxy                )

(3)      ,      

(4)      

(5)       

必要に応じて、最終ソリューションの選択:redis cluster+プライマリ・スレーブ・モード
構成について説明します
1.ruby環境のインストール
sudo apt-get install ruby
sudo apt-get install rubygems
sudo gem install redis  # ruby redis   

2.パスワードを設定する場合は、ここでいくつかの構成を変更します.
実行gem environment INSTALLATION DIRECTORY
cd     +/gems/redis-xxx/lib/redis/
vim client.rb
password => "  "  #  password     

3.パスワードを設定する別の方法もあります
最初にredisはパスワードを設定しないで、クラスタが立ち上がった後、configコマンドでredisサービスごとに構成を変更します.
configset masterauth   
config set requirepass   
config rewrite

4.クラスタの構成
cd redis    
cp redis-stable  /src/redis-trib.rb ./
./redis-trib.rb create --replicas 1 192.168.1.222:6379 192.168.1.223:6379 192.168.1.224:6379 192.168.1.225:6379192.168.1.226:6379 192.168.1.227:6379  # replicas 1    ,       

各ノードの状況を次のように確認できます.
./redis-trib.rb check 192.168.1.222:6379

三、Redis性能モニタリング
redis-cli自体はmonitor機能を提供し、強力な機能を備えていますが、monitorの性能消費は大きく、短期的にデバッグを開始するだけで、長期的な性能監視ソリューションとして使用できません.
ここではredis-monitorを選択し、クラスタ、python作成をサポートし、web端末があります.
1.python環境のインストール(redis-monitorはpython 2.7ベース)
sudo apt-get install python2.7 python2.7-dev

2.build依存パッケージのインストール-一部のpipインストールパッケージではlibsslとlibeventコンパイル環境が必要
sudo apt-get install build-essential libssl-dev libevent-dev libjpeg-devlibxml2-dev libxslt-dev

3.pip–パッケージ管理ツールのインストール
sudo apt-get install python-pip

4.redis-monitorのダウンロード
git clone https://github.com/LittlePeng/redis-monitor.git

5.インストール依存
cd redis-monitor
pip install -r requirements.txt

6.バックグラウンドモード起動サービス
cd redis-monitor/src
pythonredis_monitor_daemon.py   #     
python redis_live_daemon.py   # web,port:8888

  :127.0.0.1:8888/index.html