redis3.2.2 安裝(linux下)
redis3.2.2 安裝
轉載:https://blog.csdn.net/u010719917/article/details/52763158
一、redis3.2.2 安裝:
1、配置本地yum源:
cd /etc/yum.repos.d
建立檔案public.repo
vi public.repo
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///ios/Server
enabled=1
gpgcheck=1
gpgkey=file:///ios/RPM-GPG-KEY-oracle
2、下載redis
http://download.redis.io/releases/redis-3.2.2.tar.gz
3、安裝
cd /usr/local
tar xvf redis-3.2.2.tar.gz
cd redis-3.2.2
make
顯示缺gcc
安裝命令如下:
yum -y install gcc*
再執行make 顯示如下
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 `/data0/src/redis-2.6.2/src'
make: *** [all] Error 2
解決辦法是:
make MALLOC=libc
最後顯示
CC redis-check-rdb.o
CC geo.o
LINK redis-server
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
INSTALL redis-check-rdb
CC redis-check-aof.o
LINK redis-check-aof
Hint: It's a good idea to run 'make test' ;)
make[1]: Leaving directory `/usr/local/redis-3.2.2/src'
執行make test顯示如下
cd src && make test
make[1]: Entering directory `/usr/local/redis-3.2.2/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/usr/local/redis-3.2.2/src'
make: *** [test] Error 2
說明需要tcl 8.5 以上的版本
安裝命令如下:
yum -y install tcl-8.5*
安裝完之後在/usr/local/redis-3.2.2下執行
make test
最後顯示錶示成功安裝完畢:
169 seconds - unit/geo
302 seconds - unit/type/list-2
301 seconds - integration/replication-4
311 seconds - integration/replication-3
166 seconds - unit/hyperloglog
321 seconds - unit/obuf-limits
\o/ All tests passed without errors!
Cleanup: may take some time... OK
make[1]: Leaving directory `/usr/local/redis-3.2.2/src'
4.啟動服務
關閉防火牆
service iptables stop
chkconfig iptables off
編譯完成後,在Src目錄下,有四個可執行檔案redis-server、redis-benchmark、redis-cli和redis.conf。然後拷貝到一個目錄下。
mkdir /usr/redis
cd src
cp redis-server /usr/redis
cp redis-benchmark /usr/redis
cp redis-cli /usr/redis
cd ..
cp redis.conf /usr/redis
cd /usr/redis
啟動Redis服務。
$ ./redis-server redis.conf
然後用客戶端測試一下是否啟動成功。
5.測試
$ ./redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
二.在同一臺伺服器上新增加一臺redis 對應埠8887
1、cp -r /usr/redis /usr/redis2
2、修改配置/usr/redis2/redis.conf
port 6379 改為 port 8887
pidfile /var/run/redis_6379.pid pidfile 改為 /var/run/redis_8887.pid
3. 開啟6379、8887的redis
redis-cli -h 10.3.2.12 -p 6379
redis-cli -h 10.3.2.12 -p 8887
三、6379作master ,8887作slave ,開啟replication
如何配置Replication:
見如下步驟:
1). 同時啟動兩個Redis伺服器,可以考慮在同一臺機器上啟動兩個Redis伺服器,分別監聽不同的埠,如6379和8887。
2). 在Slave伺服器上執行一下命令:
/> redis-cli -p 8887 #這裡我們假設Slave的埠號是8887
redis 10.3.2.12:8887> slaveof 10.3.2.12 6379 #我們假設Master和Slave在同一臺主機,Master的埠為6379
OK
上面的方式只是保證了在執行slaveof命令之後,redis_8887成為了redis_6379的slave,一旦服務(redis_8887)重新啟動之後,他們之間的複製關係將終止。
如果希望長期保證這兩個伺服器之間的Replication關係,可以在redis_8887的配置檔案中做如下修改:
/> cd /etc/redis #切換Redis伺服器配置檔案所在的目錄。
/> ls
6379.conf 8887.conf
/> vi 8887.conf
將
# slaveof <masterip> <masterport>
改為
slaveof 10.3.2.12 6379
儲存退出。
這樣就可以保證Redis_8887服務程式在每次啟動後都會主動建立與Redis_6379的Replication連線了
關閉 redis-cli -h 10.3.2.12 -p 8887 shutdown
啟動 ./redis-server redis.conf