1. 程式人生 > 實用技巧 >Redis的安裝(os7離線)

Redis的安裝(os7離線)

Centos7離線安裝redis

1.1 下載、上傳、解壓redis4.0.11

下載地址:http://download.redis.io/releases/redis-4.0.11.tar.gz
下載後上傳到伺服器上,並解壓:
備註:這裡是上傳壓縮包到/opt/redis目錄下。

[root@CDH-143 redis]# tar -zxvf redis-4.0.11.tar.gz 
redis-4.0.11/
redis-4.0.11/.gitignore
......
redis-4.0.11/utils/whatisdoing.sh
[root@CDH-143 redis]# ls
redis-4.0.11 redis-4.0.11.tar.gz
[root@CDH-143 redis]# cd redis-4.0.11/
[root@CDH-143 redis-4.0.11]# ls
00-RELEASENOTES CONTRIBUTING deps Makefile README.md runtest runtest-sentinel src utils
BUGS COPYING INSTALL MANIFESTO redis.conf runtest-cluster sentinel.conf tests

1.2 安裝gcc

1)如果執行gcc –version出現以下資訊,表示已經安裝過gcc,可以跳過該步驟:

[boco@CDH-143 spark_job_monitor]$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[root@CDH-143 redis]# 

2)否則,如果執行make命令報下面錯誤,說明系統上沒有安裝C語言環境,需要安裝,在linux系統上的C環境是gcc,因此需要安裝gcc。

make[3]: gcc: Command not found
make[3]: *** [net.o] Error 127
make[3]: Leaving directory `/home/work/redis/deps/hiredis'
make[2]: *** [hiredis] Error 2
make[2]: Leaving directory `/home/work/redis/deps'
make[1]: [persist-settings] Error 2 (ignored)
CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/home/work/redis/src'
make: *** [all] Error 2

安裝gcc,

方式1:從centos7的系統安裝映象中提取:解壓映象檔案,進入"Packages"目錄,取出如下圖所示rpm包

方式2:訪問映象網站獲取:http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/,然後將其上傳

從裡面packages找出來,這些是從網上整理出來的(15個檔案不要漏掉!!)


解壓gcc.zip,編譯安裝

[root@CDH-143 soft]# unzip gcc.zip
[root@CDH-143 soft]# cd gcc
[root@CDH-143 soft]# rpm -Uvh *.rpm --nodeps --force

檢視gcc版本,出現以下資訊,表示安裝成功

[boco@CDH-143 spark_job_monitor]$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[root@CDH-143 redis]#

1.3 編譯安裝redis

[root@CDH-143 redis-4.0.11]# make MALLOC=libc
cd src && make all
。。。。。。。。
CC rax.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
INSTALL redis-check-aof
Hint: It's a good idea to run 'make test' ;)
make[1]: Leaving directory `/opt/redis/redis-4.0.11/src'
[root@CDH-143 redis-4.0.11]# 
[root@CDH-143 redis-4.0.11]# cd src && make install
CC Makefile.dep

Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install

編譯安裝成功。

1.4 啟動redis

[root@CDH-143 src]# ./redis-server
24496:C 11 Mar 13:49:56.298 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
24496:C 11 Mar 13:49:56.298 # Redis version=4.0.11, bits=64, commit=00000000, modified=0, pid=24496, just started
24496:C 11 Mar 13:49:56.298 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 4.0.11 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 18685
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                   
24496:M 11 Mar 13:49:56.302 # Server initialized 24496:M 11 Mar 13:49:56.303 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 24496:M 11 Mar 13:49:56.303 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 24496:M 11 Mar 13:49:56.303 * Ready to accept connections

啟動成功。
以下為設定redis開機自啟,並且新增到系統服務

1.4.1 複製redis配置檔案

[root@CDH-143 src]# mkdir /etc/redis
[root@CDH-143 src]# cd ..
[root@CDH-143 redis-4.0.11]# ls
00-RELEASENOTES CONTRIBUTING deps Makefile README.md runtest runtest-sentinel src utils
BUGS COPYING INSTALL MANIFESTO redis.conf runtest-cluster sentinel.conf tests
[root@CDH-143 redis-4.0.11]# cp redis.conf /etc/redis/6379.conf

修改redis啟動為後臺啟動:

[root@CDH-143 redis-4.0.11]# vi /etc/redis/6379.conf

配置說明

#設定埠號:
port 6379

#允許遠端連線:
bind 0.0.0.0

#允許後臺執行:
daemonize yes
#設定密碼:
requirepass 密碼

1.4.2 將啟動檔案拷貝到init.d中

[root@CDH-143 redis-4.0.11]# cp utils/redis_init_script /etc/init.d/redisd

1.4.3 修改啟動指令碼引數

[root@CDH-143 redis-4.0.11]# vi /etc/init.d/redisd

新增以下程式碼,:wq儲存退出

新增

# chkconfig: 2345 10 90
# description: Start and Stop redisd

修改:

EXEC=/opt/redis/redis-4.0.11/src/redis-server
CLIEXEC=/opt/redis/redis-4.0.11/src/redis-cli
PIDFILE=/opt/redis/redis-4.0.11/redis_${REDISPORT}.pid

1.4.4 增加指令碼執行許可權

[root@CDH-143 redis-4.0.11]# chmod +x /etc/init.d/redisd

1.4.5 增加系統服務

[root@CDH-143 redis-4.0.11]# chkconfig --add redisd
[root@CDH-143 redis-4.0.11]# chkconfig --list redisd

Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.

If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.

redisd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@CDH-143 redis-4.0.11]#

1.4.6 啟動redis服務測試

[root@CDH-143 redis-4.0.11]# service redisd start
Starting Redis server...
9084:C 11 Mar 15:23:36.469 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
9084:C 11 Mar 15:23:36.469 # Redis version=4.0.11, bits=64, commit=00000000, modified=0, pid=9084, just started
9084:C 11 Mar 15:23:36.469 # Configuration loaded
[root@CDH-143 redis-4.0.11]#
[root@CDH-143 redis-4.0.11]# ps -aux | grep redis
root 3575 0.0 0.0 38260 2140 ? Ssl 15:09 0:00 /opt/redis/redis-4.0.11/src/redis-server 127.0.0.1:6379
root 8870 0.0 0.0 112660 956 pts/2 S+ 15:22 0:00 grep --color=auto redis

配置完畢,重啟伺服器,測試是否成功

防火牆新增埠

[root@data21 src]# firewall-cmd --zone=public --list-ports
3306/tcp
[root@data21 src]# firewall-cmd --zone=public --add-port=6379/tcp --permanent
success
[root@data21 src]# firewall-cmd --zone=public --list-ports
3306/tcp
[root@data21 src]# firewall-cmd --zone=public --list-ports
3306/tcp
[root@data21 src]# systemctl restart firewalld
[root@data21 src]# firewall-cmd --zone=public --list-ports
3306/tcp 6379/tcp
[root@data21 src]# firewall-cmd --zone=public --list-ports
3306/tcp 6379/tcp

參考並修改自:https://www.cnblogs.com/yy3b2007com/p/10513752.html

redis叢集安裝
https://ld246.com/article/1533285549776