redhat 6.4 에 redis 군집 [튜 토리 얼] 을 설치 합 니 다.
http://redis.io/topics/cluster-tutorial(주로 Creating a Redis Cluster using the create - cluster script 부분)
https://ruby.taobao.org/
익숙 하지 않 은 소프트웨어 를 설치 하기 전에 INSTALL, README 를 먼저 보 는 것 이 습관 입 니 다. 생산 에 있어 서 일반 사용 자 를 만 들 고 적당 한 파 라 메 터 를 조절 해 야 합 니 다. 다음은 root 신분 으로 설치 하여 실행 해 야 합 니 다.
압축 해제 및 redis 설치
make test 알림 은 설치 과정 에서 발생 할 수 있 는 문제 로 더 높 은 버 전의 tcl 이 필요 합 니 다.
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
tar xf redis-3.0.7.tar.gz
cd redis-3.0.7
mkdir -p /opt/redis
make test
make PREFIX=/opt/redis install
설 치 된 디 렉 터 리 에 두 개의 스 크 립 트 를 복사 합 니 다.
cp ~/redis-3.0.7/src/redis-trib.rb /opt/redis/
cp ~/redis-3.0.7/utils/create-cluster/create-cluster /opt/redis/1212
실제 수정 / opt / redis / create - cluster 에 따라 변경 한 곳 이 몇 군데 있 습 니 다.
a. BASEDIR, BINDIR, DATADIR 세 개의 변 수 를 추 가 했 습 니 다.
b. 관련 명령 경 로 를 수정 하고,
c. start 전에 먼저 DATADIR 에 들 어가 start 후 원래 디 렉 터 리 로 돌아 갑 니 다.
d. clean 전에 먼저 DATADIR 에 들 어가 start 후 원래 디 렉 터 리 로 돌아 갑 니 다.
e. create 의 host 는 127.0.0.1 에서 192.168.1.194 로 바 뀌 었 다.
다음은 수 정 된 셸 입 니 다.
#!/bin/bash
# Settings
PORT=30000
TIMEOUT=2000
NODES=6
REPLICAS=1
BASEDIR=/opt/redis
BINDIR=$BASEDIR/bin
DATADIR=$BASEDIR/data
# You may want to put the above config parameters into config.sh in order to
# override the defaults without modifying this script.
if [ -a config.sh ]
then
source "config.sh"
fi
# Computed vars
ENDPORT=$((PORT+NODES))
if [ "$1" == "start" ]
then
cd $DATADIR
while [ $((PORT < ENDPORT)) != "0" ]; do
PORT=$((PORT+1))
echo "Starting $PORT"
$BINDIR/redis-server --port $PORT --cluster-enabled yes --cluster-config-file nodes-${PORT}.conf --cluster-node-timeout $TIMEOUT --appendonly yes --appendfilename appendonly-${PORT}.aof --dbfilename dump-${PORT}.rdb --logfile ${PORT}.log --daemonize yes
done
cd -
exit 0
fi
if [ "$1" == "create" ]
then
HOSTS=""
while [ $((PORT < ENDPORT)) != "0" ]; do
PORT=$((PORT+1))
HOSTS="$HOSTS 192.168.1.194:$PORT"
done
$BASEDIR/redis-trib.rb create --replicas $REPLICAS $HOSTS
exit 0
fi
if [ "$1" == "stop" ]
then
while [ $((PORT < ENDPORT)) != "0" ]; do
PORT=$((PORT+1))
echo "Stopping $PORT"
$BINDIR/redis-cli -p $PORT shutdown nosave
done
exit 0
fi
if [ "$1" == "watch" ]
then
PORT=$((PORT+1))
while [ 1 ]; do
clear
date
$BINDIR/redis-cli -p $PORT cluster nodes | head -30
sleep 1
done
exit 0
fi
if [ "$1" == "tail" ]
then
INSTANCE=$2
PORT=$((PORT+INSTANCE))
tail -f ${PORT}.log
exit 0
fi
if [ "$1" == "call" ]
then
while [ $((PORT < ENDPORT)) != "0" ]; do
PORT=$((PORT+1))
$BINDIR/redis-cli -p $PORT $2 $3 $4 $5 $6 $7 $8 $9
done
exit 0
fi
if [ "$1" == "clean" ]
then
cd $DATADIR
rm -rf *.log
rm -rf appendonly*.aof
rm -rf dump*.rdb
rm -rf nodes*.conf
cd -
exit 0
fi
echo "Usage: $0 [start|create|stop|watch|tail|clean]"
echo "start -- Launch Redis Cluster instances."
echo "create -- Create a cluster using redis-trib create."
echo "stop -- Stop Redis Cluster instances."
echo "watch -- Show CLUSTER NODES output (first 30 lines) of first node."
echo "tail -- Run tail -f of instance at base port + ID."
echo "clean -- Remove all instances data, logs, configs."123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
데이터 디 렉 터 리 mkdir - p / opt / redis / data 만 드 는 것 잊 지 마 세 요.
위의 참고 에 따라 클 러 스 터 를 시작 하고 클 러 스 터 를 중단 합 니 다.
시작 클 러 스 터: 먼저 / opt / redis / create - cluster start 리 턴 을 두 드 린 다음 / opt / redis / create - cluster 리 턴 을 두 드 린 다음 yes 리 턴 을 입력 하 십시오.
클 러 스 터 정지: 입력 / opt / redis / create - cluster stop 리 턴
이전에 시작 한 적 이 있 으 면 일치 하지 않 는 데 이 터 를 만 들 때 오류 가 발생 합 니 다. 먼저 / opt / redis / create - cluster clean 을 사용 할 수 있 습 니 다.
테스트
redis.clients
jedis
2.8.1
성명 JedisCluster Bean
@Bean
public JedisCluster jedisCluster(){
Set nodes=new HashSet<>(3);
nodes.add(new HostAndPort("192.168.1.194",30001));
nodes.add(new HostAndPort("192.168.1.194",30002));
nodes.add(new HostAndPort("192.168.1.194",30003));
return new JedisCluster(nodes,2000,5);
}
set 와 get 테스트
AnnotationConfigApplicationContext context= new AnnotationConfigApplicationContext(AppConfig.class);
JedisCluster jedisCluster = (JedisCluster) context.getBean("jedisCluster");
jedisCluster.set("xxx","123");
System.out.println("jedisCluster.get = " + jedisCluster.get("xxx"));
설치 과정 에서 발생 할 수 있 는 문제:
make test 에서 Redis test 를 실행 하려 면 tcl 8.5 or newer 가 필요 하 다 고 알려 줍 니 다.http://www.tcl.tk/software/tcltk/download.htmlTcl 다운로드,
wget http://prdownloads.sourceforge.net/tcl/tcl8.5.19-src.tar.gz
tar xf tcl8.5.19-src.tar.gz
cd tcl8.5.19/unix
./configure
make
make test
make install
create - cluster create 는 redis - trib. rb 를 호출 합 니 다. ruby 스 크 립 트 이기 때문에 ruby 가 설치 되 어 있 지 않 으 면 yum install - y ruby 를 설치 하 라 고 알려 줍 니 다.
루비 gems 불 러 오 는 중 오류 가 발생 하면 루비 gems 를 설치 하 는 방법 을 사용 하 십시오
a.https://rubygems.org/pages/downloadtgz 형식의 설치 패 키 지 를 다운로드 합 니 다.
b.mount -t cifs -o username=xiejx618,password=123456 //192.168.1.115/share /share
cp /share/rubygems-2.6.4.tgz ./
tar xf rubygems-2.6.4.tgz
cd rubygems-2.6.4
ruby setup.rb
만약 no such file to load ○ C rdoc / rdoc 를 다시 알려 준다 면, 먼저 yum install - y rdoc 를 설치 하 십시오.
만약 이러한 파일 이 로드 되 지 않 는 다 면, gem install redis - v 3.0.7 을 사용 하 십시오.
gem 는 벽 때문에 기본 소스 를 사용 할 수 없 기 때문에 타 오 바 오 소스 로 변경 합 니 다.
이 가능 하 다, ~ 할 수 있다,...
도움말: gem sources -- help
원본 보기: gem sources - l
원본 삭제: gem sources - rhttps://rubygems.org/
원본 추가: gem sources - ahttps://ruby.taobao.org/
원본 캐 시 업데이트: gem sources - u
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.