您的位置:首页 > 数据库 > Redis

从零开始安装Redis 集群(Linux CenOS7)

2020-01-11 14:44 706 查看
  • 安装

    vim

    [code][root@localhost java]# rpm -qa|grep vim
    vim-minimal-7.4.629-6.el7.x86_64
    [root@localhost java]# yum -y install vim*
    ...
    复制代码

安装jdk

  • 使用
    FileZilla
    上传
    jdk
    到Linux系统的
    /home/software
[code][root@localhost software]# mkdir /usr/java
...
[root@localhost software]# mkdir /home/software
...
[root@localhost software]# tar -zxvf jdk-8u231-linux-x64.tar.gz
...
[root@localhost software]# mv jdk1.8.0_231 /usr/java/
...
复制代码
  • 配置java环境变量
[code]  [root@localhost java]# vim /etc/profile
...
#最下方添加下面三条
export JAVA_HOME=/usr/java/jdk1.8.0_231
export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
...
[root@localhost java]# source /etc/profile
[root@localhost java]# java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
复制代码

安装Redis

  • redis.io/download 下载稳定版本

  • 使用

    FileZilla
    上传
    redis
    到Linux系统的
    /home/software

  • 解压压缩包

    [code][root@localhost software]# tar -zxvf redis-5.0.7.tar.gz
    复制代码

    因为需要编译和生成redis,因此需要安装

    gcc

    [code][root@localhost software]# yum -y install gcc-c++
    ...
    已安装:
    gcc-c++.x86_64 0:4.8.5-39.el7
    
    作为依赖被安装:
    cpp.x86_64 0:4.8.5-39.el7              gcc.x86_64 0:4.8.5-39.el7  glibc-devel.x86_64 0:2.17-292.el7  glibc-headers.x86_64 0:2.17-292.el7  kernel-headers.x86_64 0:3.10.0-1062.9.1.el7  libmpc.x86_64 0:1.0.1-3.el7
    libstdc++-devel.x86_64 0:4.8.5-39.el7  mpfr.x86_64 0:3.1.1-4.el7
    
    完毕!
    复制代码

    进入

    redis-5.0.7
    解压目录,执行安装:

    [code][root@localhost redis-5.0.7]# make && make install
    复制代码
  • 配置Redis

    [code][root@localhost utils]# ll
    总用量 52
    -rw-rw-r--. 1 root root  593 11月 20 01:05 build-static-symbols.tcl
    -rw-rw-r--. 1 root root 1303 11月 20 01:05 cluster_fail_time.tcl
    -rw-rw-r--. 1 root root 1098 11月 20 01:05 corrupt_rdb.c
    drwxrwxr-x. 2 root root   60 11月 20 01:05 create-cluster
    -rwxrwxr-x. 1 root root 2149 11月 20 01:05 generate-command-help.rb
    drwxrwxr-x. 3 root root   31 11月 20 01:05 graphs
    drwxrwxr-x. 2 root root   39 11月 20 01:05 hashtable
    drwxrwxr-x. 2 root root   70 11月 20 01:05 hyperloglog
    -rwxrwxr-x. 1 root root 9567 11月 20 01:05 install_server.sh
    drwxrwxr-x. 2 root root   63 11月 20 01:05 lru
    -rw-rw-r--. 1 root root 1277 11月 20 01:05 redis-copy.rb
    -rwxrwxr-x. 1 root root 1352 11月 20 01:05 redis_init_script
    -rwxrwxr-x. 1 root root 1047 11月 20 01:05 redis_init_script.tpl
    -rw-rw-r--. 1 root root 1762 11月 20 01:05 redis-sha1.rb
    drwxrwxr-x. 2 root root  135 11月 20 01:05 releasetools
    -rwxrwxr-x. 1 root root 3787 11月 20 01:05 speed-regression.tcl
    -rwxrwxr-x. 1 root root  693 11月 20 01:05 whatisdoing.sh
    复制代码

    如上所示,在

    utils
    目录下,有一个
    redis_init_script
    文件,复制该文件到
    /etc/init.d/
    目录下,目的是为了配置redis为开机自启动。

    [code][root@localhost utils]# cp redis_init_script  /etc/init.d/
    [root@localhost utils]# mkdir /usr/local/redis -p
    [root@localhost redis-5.0.7]# cp redis.conf /usr/local/redis/
    
    复制代码

    创建

    /usr/local/redis
    目录,用于存放redis配置文件。

  • 修改redis配置文件

    [code]################################# GENERAL #####################################
    
    # 修改daemonize no为yes,目的是启动redis以后台进程运行
    daemonize yes
    # 修改redis工作路径(数据存储位置)
    dir /usr/local/redis/workingdb
    # 代表可以被远程访问,不受ip限制
    #bind 127.0.0.1
    bind 0.0.0.0
    # 修改密码
    requirepass 12345678
    复制代码
  • 修改

    redis_init_script
    文件中redis核心配置,修改文件权限

    [code]
    REDISPORT=6379
    EXEC=/usr/local/bin/redis-server
    CLIEXEC=/usr/local/bin/redis-cli
    
    PIDFILE=/var/run/redis_${REDISPORT}.pid
    CONF="/usr/local/redis/redis.conf"
    [root@localhost init.d]# chmod 777 redis_init_script
    #启动redis
    [root@localhost init.d]# ./redis_init_script start
    
    复制代码
  • 设置开机自启动

      /etc/init.d
      路径下的启动脚本文件中添加
      #chkconfig: 22345 10 90
      &
      #description: Start and Stop redis
    [code][root@iZ2ze7s2v0b78922wia32rZ init.d]# vim redis_init_script
    #!/bin/sh
    #
    # Simple Redis init.d script conceived to work on Linux systems
    # as it does use of the /proc filesystem.
    
    ### BEGIN INIT INFO
    # Provides:     redis_6379
    # Default-Start:        2 3 4 5
    # Default-Stop:         0 1 6
    # Short-Description:    Redis data structure server
    # Description:          Redis data structure server. See https://redis.io
    ### END INIT INFO
    
    #chkconfig: 22345 10 90
    #description: Start and Stop redis
    
    REDISPORT=6379
    EXEC=/usr/local/bin/redis-server
    CLIEXEC=/usr/local/bin/redis-cli
    
    PIDFILE=/var/run/redis_${REDISPORT}.pid
    CONF="/usr/local/redis/redis.conf"
    复制代码
    1. 执行

      chkconfig redis_init_script on
      ,启动配置.

    2. 关闭redis

      [code][root@localhost redis]# /etc/init.d/redis_init_script stop
      Stopping ...
      (error) NOAUTH Authentication required.
      Waiting for Redis to shutdown ...
      Waiting for Redis to shutdown ...
      [root@localhost redis]# vim /etc/init.d/redis_init_script
      # 在脚本中也需要添加密码验证,才能关闭redis
      stop)
      if [ ! -f $PIDFILE ]
      then
      echo "$PIDFILE does not exist, process is not running"
      else
      PID=$(cat $PIDFILE)
      echo "Stopping ..."
      $CLIEXEC -a "12345678" -p $REDISPORT shutdown
      while [ -x /proc/${PID} ]
      do
      echo "Waiting for Redis to shutdown ..."
      sleep 1
      done
      echo "Redis stopped"
      fi
      ;;
      *)
      
      复制代码
    3. 安装之后,远程连接失败,因为在CentOS7 默认开启防火墙

      [code]# 停止防火墙
      [root@localhost ~]# systemctl stop firewalld.service
      # 禁止防火墙开机启动
      [root@localhost ~]# systemctl disable firewalld.service
      Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
      Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
      
      复制代码

      或者执行下述命令来开放6379端口

      [code]firewall-cmd --zone=public --add-port=6379/tcp --permanent
      复制代码

完整克隆虚拟机

  • 直接在VM ware fusion中需要克隆的机器上右键,选择

    创建完整克隆

    CentOS 7.直接修改Ip

    [code]vim /etc/sysconfig/network-scripts/ifcfg-ens33 # 修改IP配置
    service network restart 重置网络
    复制代码
  • CentOS 6或某些版本,需要更改MAC地址和IP

    [code]vim /etc/udev/rule.d/70-persistent-ipoib.rules
    vim /etc/sysconfig/network-scripts/ifcfg-ens33 # 修改IP配置
    service network restart 重置网络
    复制代码

Mac 下配置环境变量失效问题

自己在 ~/.bash_profile 中配置环境变量, 可是每次重启终端后配置的不生效.需要重新执行 : $source ~/.bash_profile

发现zsh加载的是 ~/.zshrc文件,而 ‘.zshrc’ 文件中并没有定义任务环境变量。

解决办法

在~/.zshrc文件最后,增加一行: source ~/.bash_profile

 

  • 点赞
  • 收藏
  • 分享
  • 文章举报
站内首发文章 Sqdmn 发布了139 篇原创文章 · 获赞 29 · 访问量 4983 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: