반응형

hdp 의 hdb(hawq) 에서 redis 를 사용해 볼 목적으로 redis 를 설치했다


hdp 는 6개의 노드로 구성했고 namenode HA, resourcemanager HA 가 설정돼있고 datanode 는 3개이다


hawq 도 master, standby master, segment 3개로 구성했다


목표는 6개의 노드 전체에 redis 를 설치한 후 cluster 로 묶는 것이다.


아래 문서들을 참조하였다


https://redis.io/topics/cluster-tutorial

http://the-earth.tistory.com/entry/redis-cluster-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0

https://www.facebook.com/notes/yongbok-kim/redis-cluster-%EA%B0%84%EB%8B%A8-%EC%84%A4%EC%A0%95/704524782949857/

http://www.redisgate.com/redis/cluster/cluster.php


아래 명령어를 실행하여 컴파일 했다



그리고나서 src 아래의 모든 파일을 내가 사용 할 redis directory 에 복사했다


나는 /usr/local/redis/redis-3.2.8 디렉토리를 만들어 여기에 복사한 뒤


/usr/local/redis/default 라는 링크를 만들어 위에서 만든 디렉토리에 링크를 걸어줬다


그리고 내가 수정 한 redis.conf 는 아래 5개이다 (port 는 default 값 6379 를 그대로 사용했다)


그리고 다운받고 압축을 풀었던 디렉토리에 존재하는 redis.conf 를 /usr/local/redis/default 아래에 복사했다

bind 0.0.0.0
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000

그리고나서 아래 명령어를 실행하여 cluster 를 생성한다. (꼭 IP 로 적어야 정상실행 된다)

./redis-trib.rb create \
172.16.196.150:6379 \
172.16.196.151:6379 \
172.16.196.152:6379 \
172.16.196.153:6379 \
172.16.196.154:6379 \
172.16.196.155:6379

redis-trib.rb 를 실행할 때 각종 오류가 났다


1. rubygems 가 설치 돼있지 않음

-> yum install rubygems 를 실행했다


2. ruby 에서 redis 를 설치하지 않음

/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)

from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'

from ./redis-trib.rb:25

-> gem install redis 를 실행했다


3. redis-server 를 실행하지 않음

-> /usr/local/redis/default/redis-server /usr/local/redis/default/redis.conf 를 실행함


4. redis cluster cannot connect to node 오류가 발생함

-> redis.conf 에서 bind 값을 127.0.0.1 에서 0.0.0.0 으로 수정


5. redis cluster is already busy (Redis::CommandError) 오류가 발생함

-> cluster 로 묶으려는 전 노드에서 아래 명령어를 실행했다

flushall
cluster reset soft

그리고나서 redis-trib.rb 를 재실행한다


[root@admin default]# ./redis-trib.rb create 172.16.196.150:6379 172.16.196.151:6379 172.16.196.152:6379 172.16.196.153:6379 172.16.196.154:6379 172.16.196.155:6379

>>> Creating cluster

>>> Performing hash slots allocation on 6 nodes...

Using 6 masters:

172.16.196.155:6379

172.16.196.154:6379

172.16.196.153:6379

172.16.196.152:6379

172.16.196.151:6379

172.16.196.150:6379

M: b267c9964edae16d5b3c40e49f83c72585cac439 172.16.196.150:6379

   slots:13653-16383 (2731 slots) master

M: 000ac0c60361218076084d513306f15ea0460ab1 172.16.196.151:6379

   slots:10923-13652 (2730 slots) master

M: 16a628108b8ca9ecdcb353c1472a3e36d3269699 172.16.196.152:6379

   slots:8192-10922 (2731 slots) master

M: 99bd9cdd76efaa9a438844339114e654c3e92e6b 172.16.196.153:6379

   slots:5461-8191 (2731 slots) master

M: 4757a336d40f0203032acef88b3b440ea9f94152 172.16.196.154:6379

   slots:2731-5460 (2730 slots) master

M: 7d879254412e8636d106ea64161e95b8b8f09f13 172.16.196.155:6379

   slots:0-2730 (2731 slots) master

Can I set the above configuration? (type 'yes' to accept): yes

>>> Nodes configuration updated

>>> Assign a different config epoch to each node

>>> Sending CLUSTER MEET messages to join the cluster

Waiting for the cluster to join...

>>> Performing Cluster Check (using node 172.16.196.150:6379)

M: b267c9964edae16d5b3c40e49f83c72585cac439 172.16.196.150:6379

   slots:13653-16383 (2731 slots) master

   0 additional replica(s)

M: 000ac0c60361218076084d513306f15ea0460ab1 172.16.196.151:6379

   slots:10923-13652 (2730 slots) master

   0 additional replica(s)

M: 16a628108b8ca9ecdcb353c1472a3e36d3269699 172.16.196.152:6379

   slots:8192-10922 (2731 slots) master

   0 additional replica(s)

M: 4757a336d40f0203032acef88b3b440ea9f94152 172.16.196.154:6379

   slots:2731-5460 (2730 slots) master

   0 additional replica(s)

M: 99bd9cdd76efaa9a438844339114e654c3e92e6b 172.16.196.153:6379

   slots:5461-8191 (2731 slots) master

   0 additional replica(s)

M: 7d879254412e8636d106ea64161e95b8b8f09f13 172.16.196.155:6379

   slots:0-2730 (2731 slots) master

   0 additional replica(s)

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

[root@admin default]# ./redis-cli cluster nodes

b267c9964edae16d5b3c40e49f83c72585cac439 172.16.196.150:6379 myself,master - 0 0 1 connected 13653-16383

000ac0c60361218076084d513306f15ea0460ab1 172.16.196.151:6379 master - 0 1491643229950 6 connected 10923-13652

16a628108b8ca9ecdcb353c1472a3e36d3269699 172.16.196.152:6379 master - 0 1491643228945 2 connected 8192-10922

4757a336d40f0203032acef88b3b440ea9f94152 172.16.196.154:6379 master - 0 1491643228443 4 connected 2731-5460

99bd9cdd76efaa9a438844339114e654c3e92e6b 172.16.196.153:6379 master - 0 1491643229950 3 connected 5461-8191

7d879254412e8636d106ea64161e95b8b8f09f13 172.16.196.155:6379 master - 0 1491643228945 5 connected 0-2730

[root@admin default]# 

반응형
Posted by FeliZ_하늘..
,
반응형
HelloJNI.java 작성


아래 명령어 실행


HelloJNI.c 작성



아래 명령어 실행



결과



반응형
Posted by FeliZ_하늘..
,

rsync 사용해보기

[Linux] 2015. 9. 25. 18:14
반응형

http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Tip/Rsync

반응형

'[Linux]' 카테고리의 다른 글

vi 명령어  (0) 2015.08.04
부팅시 mysql 자동시작  (0) 2015.07.31
.profile .bash_profile .bashrc 차이  (0) 2015.07.08
리눅스 dns 설정  (0) 2015.07.03
쉘 프롬프트 변경  (1) 2015.06.02
Posted by FeliZ_하늘..
,

vi 명령어

[Linux] 2015. 8. 4. 10:20
반응형

http://egloos.zum.com/howmuch/v/9661949

반응형

'[Linux]' 카테고리의 다른 글

rsync 사용해보기  (0) 2015.09.25
부팅시 mysql 자동시작  (0) 2015.07.31
.profile .bash_profile .bashrc 차이  (0) 2015.07.08
리눅스 dns 설정  (0) 2015.07.03
쉘 프롬프트 변경  (1) 2015.06.02
Posted by FeliZ_하늘..
,
반응형

http://daemonjin.tistory.com/entry/CentOS-%EB%A6%AC%EB%88%85%EC%8A%A4-mysql-%EB%8D%B0%EB%AA%AC-%EC%9E%90%EB%8F%99-%EC%8B%A4%ED%96%89-%EB%AA%85%EB%A0%B9%EC%96%B4

반응형

'[Linux]' 카테고리의 다른 글

rsync 사용해보기  (0) 2015.09.25
vi 명령어  (0) 2015.08.04
.profile .bash_profile .bashrc 차이  (0) 2015.07.08
리눅스 dns 설정  (0) 2015.07.03
쉘 프롬프트 변경  (1) 2015.06.02
Posted by FeliZ_하늘..
,
반응형

http://serverfault.com/questions/160581/how-to-setup-passwordless-sudo-on-linux

반응형
Posted by FeliZ_하늘..
,

리눅스 dns 설정

[Linux] 2015. 7. 3. 15:40
반응형

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 또는 다른 파일


가장 하단에


DNS1=210.220.163.82

DNS2=219.250.36.130


추가하면 된다


참고


KT olleh (올레; 구 QOOK(쿡))

  • 기본 DNS 서버 주소 - 168.126.63.1
  • 보조 DNS 서버 주소 - 168.126.63.2


SK Broadband (브로드밴드)

  • 기본 DNS 서버 주소 - 210.220.163.82
  • 보조 DNS 서버 주소 - 219.250.36.130


LG U+(유플러스; 구 XPEED 파워콤)

  • 기본 DNS 서버 주소 - 164.124.107.9
  • 보조 DNS 서버 주소 - 203.248.242.2


Google Public (구글 퍼블릭)

  • 기본 DNS 서버 주소 - 8.8.8.8
  • 보조 DNS 서버 주소 - 8.8.4.4


반응형

'[Linux]' 카테고리의 다른 글

vi 명령어  (0) 2015.08.04
부팅시 mysql 자동시작  (0) 2015.07.31
.profile .bash_profile .bashrc 차이  (0) 2015.07.08
쉘 프롬프트 변경  (1) 2015.06.02
glances 에서 influxdb 로 export 위해 library 설치  (0) 2015.02.12
Posted by FeliZ_하늘..
,
반응형
파일의 위치

Linux

/etc/hosts


Windows

C:\Windows\System32\drivers\etc\hosts


둘 다 관리자 권한이어야 수정 가능함


반응형

'[프로그래밍]' 카테고리의 다른 글

GIS shp 파일 변환  (0) 2015.07.28
protocol buffer 2.5.0 설치  (0) 2015.06.29
putty 에서 pem 파일 이용하여 접속하기  (0) 2015.02.26
버전관리 Git  (0) 2015.02.07
spring security, 비밀번호 암호화, sha  (0) 2015.01.13
Posted by FeliZ_하늘..
,
반응형

사용환경

Tomcat 7.0.57 (minor version 은 40 보다 큰 버전을 사용할 것을 권장, 40 까지는 보안문제가 있었다 함)

memcached 1.8.3

jdk1.7.0_45


우선 memcached 가 설치돼 있어야 한다


centos 에서 memcached 설치하기

https://www.lullabot.com/articles/installing-memcached-on-redhat-or-centos


memcached 는 아래에서 다운 받아 설치한다


http://memcached.org/downloads


윈도우 64비트용은 구글에 memcached 윈도우 또는 각종 단어로 검색하여 다운받는다


http://s3.amazonaws.com/downloads.northscale.com/memcached-win64-1.4.4-14.zip


되도록 윈도우가 아닌 환경에 설치할 것을 권장한다.


session id 는 다른데 session 공유는 된다던지


session 공유는 되는데 session id 가 다르다던지 하는 등 원하는대로 작동하지 않을 수 있다.


윈도우 8.1 64비트 에서는 session id 는 다른데 session 공유는 됐다.


설정은 아래 링크에 자세히 나와 있으니 참고하여 설정한다


https://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration


아니면 아래 링크들에서 jar 파일을 받아서


{TOMCAT_HOME}/lib 아래에 넣어준다


http://repo1.maven.org/maven2/de/javakaffee/msm/msm-kryo-serializer/1.8.3/

http://repo1.maven.org/maven2/de/javakaffee/kryo-serializers/0.11/

http://repo1.maven.org/maven2/com/googlecode/kryo/1.04/

http://repo1.maven.org/maven2/com/googlecode/minlog/1.2/

http://repo1.maven.org/maven2/com/googlecode/reflectasm/1.01/

http://repo1.maven.org/maven2/asm/asm/3.2/

http://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager/1.8.3/

http://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager-tc7/1.8.3/


그리고 {TOMCAT_HOME}/conf/context.xml 을 다음과 같이 수정한다



이런식으로 설정하고나면 session 의 값들이 memcached 가 설치된 곳만 바라보게 된다


그래서 같은 브라우저라면 같은 session id 가 나오고 session 에 같은 값들이 저장되게 된다


하나의 톰캣에 여러 context 도 같은 session 을 공유하게 되고


여러 톰캣의 설정을 같게 하여 톰캣을 여러개 띄워도 같은 session 을 공유하게 된다


memcached-tool 명령어로 memcached 에 저장된 데이터나 상태를 볼 수 있다

(원하는대로 들어있지 않다 ㅠㅠ)


memcached-tool localhost:11211 [display]

memcached-tool localhost:11211 stats

memcached-tool localhost:11211 dump

반응형

'[Web]' 카테고리의 다른 글

tomcat gzip 압축 설정  (0) 2015.01.16
telnet을 이용한 memcached 관리  (1) 2015.01.16
jsonpath  (0) 2015.01.13
XSLT Tutorial  (0) 2015.01.13
HTTP 상태 코드 Status Code  (0) 2015.01.09
Posted by FeliZ_하늘..
,