redhat6.5 redis單節點多例項3A叢集搭建
在進行搭建redis3M 叢集之前,首先要明白如何在單節點上完成redis的搭建。
單節點單例項搭建可以參看這個網:https://www.cnblogs.com/butterflies/p/9628207.html
完成單節點的redis搭建之後,修改配置檔案,開啟叢集模式,修改配置檔案生成的目錄,修改位對應的埠,即可完成單節點多例項的redis叢集搭建。
一:多例項配置檔案生成和修改
1 配置檔案拷貝
cp /usr/local/redis/etc/redis.conf /usr/local/redis/etc/nodes7000.conf
cp /usr/local/redis/etc/redis.conf /usr/local/redis/etc/nodes7001.conf
cp /usr/local/redis/etc/redis.conf /usr/local/redis/etc/nodes7002.conf
2 配置檔案修改
vim /usr/local/redis/etc/nodes7000.conf (其他的配置檔案按需修改)
主要修改的有3個地方(前提是單例項已經搭建成功的redis的配置檔案,即daemons已經修改位後臺執行模式)
修改1:開啟叢集模式(大約在配置檔案的814行左右),需要將配置檔案的cluster-enabled yes前面的#去掉,截圖如下
修改2:新增修改生成的叢集配置檔案。本例是以7000的例項為例,nodes-7000.conf的配置檔案不需要手動建立,改檔案會在配置檔案所在的目錄自動生成(啟動節點後生成的)。
修改3:每個例項對應不同的埠,所以需要在配置檔案中新增相應的埠。Redis預設的埠是6379,本例中是使用的7000埠,所以需要修改
3 啟動例項,檢測是否成功啟動
啟動時需要指定啟動的配置檔案,啟動後可以使用ps檢視程序,使用netstat命令檢視對應的埠是否監聽。出現如下截圖表示正常
二:叢集節點互通和槽位分配
所以叢集節點互通,是指不同節點之間相互通訊,讓彼此明白對方的存在。方便在後期對資料進行處理。槽位分配是方便節點資源充分利用的手段。Redis一共只有16383個槽位,資料是根據槽位進行儲存的。如果各個節點的資源不同,可以考慮個性化分配槽位。
1 節點互通
節點互通之前,需要將所有的節點全部啟動起來,成功啟動後所有的節點如下圖所示:
截圖中可以看出,不同的例項啟動在不同的埠,都是以叢集的方式啟動
1.1 登陸節點,檢視叢集資訊
登陸節點之後,可以使用cluster info檢視叢集資訊,從下面的截圖中可以看到,目前叢集知道的節點就只有一個,我們需要新增其他兩個節點到叢集。
1.2 登陸叢集,新增節點到叢集
登陸集群后可以使用cluster meet IP port來完成節點的新增,新增完成後我們同樣使用cluster info來檢視叢集的資訊。另外可以使用cluster nodes來檢視叢集中所有的節點的資訊。如下的截圖所示:
上面的截圖中IP地址之前的字串表示的是節點的id,類似於節點的識別號,我們在從叢集中刪除節點的時候會用到。
以下截圖是叢集新增節點的截圖
2 槽位分配
槽位總共16383個,因為是測試環境,使用的是均分槽位分配。現場可視情況具體分配。
分配的命令如下:
Redis-cli –h IP –p port cluster addslots {xx..xx}
命令執行成功後,會出現ok,如下截圖所示。
3 檢驗
通過命令從一個節點上連線到叢集,然後隨便建立一個鍵值對,然後在從另一個節點登陸叢集,獲取健對應的值。操作步驟如下截圖
單節點多例項的redis叢集搭建到此結束。