參考文檔:https://www.cnblogs.com/boshen-hzb/p/7699783.html
一、Redis(3.2.1)Centos7安裝
1.1下載安裝Redis
3.2.1穩定版--64位
放在mnt的redisDB目錄下
mkdir -p /mnt/redisDb/
cd /mnt/redisDb/
wget http://download.redis.io/releases/redis-3.2.1.tar.gz
tar -zxvf redis-3.2.1.tar.gz
進入到src目錄執行 cd redis-3.2.1/src/
make install
如果缺少gcc編譯環境,執行如下2條命令安裝linux的gcc編譯環境
yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
yum -y install wget httpd-tools vim
安裝成功後再次執行make install,如果報以下錯誤
|
執行 make MALLOC=libc
執行 make test
解決make test報錯。
再次執行 make test , 出現如下頁面代表成功
1.2 安裝ruby以及集羣
第一種方法:
換yum源安裝,執行: yum install centos-release-scl-rh
會在/etc/yum.repos.d/目錄下多出一個CentOS-SCLo-scl-rh.repo源
yum install rh-ruby23 -y
scl enable rh-ruby23 bash
ruby -v查看安裝版本
Ps: 安裝scl yum install -y scl-utils yum install python33-*
第二種方法:
yum install ruby ruby-devel rubygems
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
curl -L get.rvm.io | bash -s stable
find / -name rvm -print
source /usr/local/rvm/scripts/rvm
Linux自帶ruby版本太低,#rvm list known 查看已知版本
rvm install 2.3.3
rvm use 2.3.3 rvm use 2.3.3 --default ruby --version
rvm remove 2.0.0
Ruby安裝成功後,redis集羣按照依賴ruby
執行gem install redis
1.3 配置集羣
打算在三臺機器上配置六個分片節點:一主一從。
1.3.1配置第一個分片
mkdir /mnt/redisDb/redis-3.2.1/conf
進入目錄,建立分片日誌文件、數據文件
mkdir -p /mnt/redisDb/node-7000/logs/
mkdir -p /mnt/redisDb/node-7000/data/
mkdir -p /mnt/redisDb/node-7001/logs/
mkdir -p /mnt/redisDb/node-7001/data/
進入/mnt/redisDb/redis-3.2.1/conf目錄,複製默認conf設置配置文件,修改以下項
bind 10.25.253.52 protected-mode yes port 7000 ############## GENERAL ########### daemonize yes pidfile /mnt/redisDb/node-7000/redis-7000.pid logfile "/mnt/redisDb/node-7000/logs/redis-7000.log" ########### SNAPSHOTTING ############# dir /mnt/redisDb/node-7000/data/ dbfilename redis-7000.rdb
|
############## APPEND ONLY MODE########### appendonly yes appendfilename "redis-7000.aof" ############## REPLICATIO########### masterauth nykj_2018 ############## SECURITY########### requirepass nykj_2018 ############### REDIS CLUSTER ########### cluster-enabled yes cluster-config-file nodes-7000.conf cluster-node-timeout 15000 |
參數調優
repl-backlog-size 30mb |
參考文件:
配置redis環境變量
vi /etc/profile
export PATH="$PATH:/mnt/redisDb/redis-3.2.1/src"
source /etc/profile
啓動:
redis-server /mnt/redisDb/redis-3.2.1/conf/redis-7000.conf
1.3.2 配置集羣其他分片
新建目錄
mkdir /mnt/redisDb/redis-3.2.1/conf
mkdir -p /mnt/redisDb/node-7002/logs/
mkdir -p /mnt/redisDb/node-7002/data/
mkdir -p /mnt/redisDb/node-7003/logs/
mkdir -p /mnt/redisDb/node-7003/data/
mkdir -p /mnt/redisDb/node-7004/logs/
mkdir -p /mnt/redisDb/node-7004/data/
mkdir -p /mnt/redisDb/node-7005/logs/
mkdir -p /mnt/redisDb/node-7005/data/
配置環境變量、設置配置文件、然後啓動(記得修改ip啊)
cp redis-7000.conf redis-7001.conf
sed -i "s/7000/7001/g" redis-7001.conf
sed -i "s/7000/7002/g" redis-7002.conf
1.3.3 設置ruby
如果設置了redis密碼,如要在ruby文件中配置該密碼
find / -name client.rb
/usr/local/rvm/gems/ruby-2.3.3/gems/redis-4.0.1/lib/redis/client.rb
修改client.rb 文件,修改password爲配置文件設置密碼
1.3.4 啓動集羣配置
如果已第一種安裝ruby執行 scl enable rh-ruby23 bash 再執行集羣命令
redis-trib.rb create --replicas 1 10.25.253.52:7000 10.28.255.158:7002 10.25.69.188:7004 10.28.255.158:7003 10.25.253.52:7001 10.25.69.188:7005
1.4 運維命令
命令行,查看集羣情況
redis-cli -c -h yourhost -p yourpost –a yourpassword
redis-cli -c -h 10.25.253.52 -p 7000 -a nykj_2018
cluster nodes
或者執行
scl enable rh-ruby23 bash
./redis-trib.rb check 10.25.253.52:7000(src目錄)
3.5.2 集羣命令行 1.//集羣(cluster) 2.cluster info 打印集羣的信息 3.cluster nodes 列出集羣當前已知的所有節點(node),以及這些節點的相關信息。 4. 5.//節點(node) 6.cluster meet <ip> <port> 將 ip 和 port 所指定的節點添加到集羣當中,讓它成爲集羣的一份子。 7.cluster forget <node_id> 從集羣中移除 node_id 指定的節點。 8.cluster replicate <node_id> 將當前節點設置爲 node_id 指定的節點的從節點。 9.cluster saveconfig 將節點的配置文件保存到硬盤裏面。 10. 11.//槽(slot) 12.cluster addslots <slot> [slot ...] 將一個或多個槽(slot)指派(assign)給當前節點。 13.cluster delslots <slot> [slot ...] 移除一個或多個槽對當前節點的指派。 14.cluster flushslots 移除指派給當前節點的所有槽,讓當前節點變成一個沒有指派任何槽的節點。 15.cluster setslot <slot> node <node_id> 將槽 slot 指派給 node_id 指定的節點,如果槽已經指派給另一個節點,那麼先讓另一個節點刪除該槽>,然後再進行指派。 |
其他
1.1 Yum安裝
wget http://mirrors.163.com/centos/6/os/i386/Packages/python-2.7.5-68.el7.x86_64.rpm
wget http://mirrors.163.com/centos/6/os/i386/Packages/python-libs-2.7.5-68.el7.x86_64.rpm
wget http://mirrors.163.com/centos/6/os/i386/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-3.4.3-158.el7.centos.noarch.rpm
wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirrors.163.com/centos/6/os/i386/Packages/yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm
rpm -ivh python-*
rpm -ivh yum-*