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]# 

'[DB] > [Redis]' 카테고리의 다른 글

CentOS 6.7 에서 Redis cluster 구축  (0) 2017.04.08
Posted by FeliZ_하늘..

댓글을 달아 주세요

'[DB] > [PostgreSQL]' 카테고리의 다른 글

postgresql 8.2 text to boolean  (0) 2016.07.09
postgresql 9.4, postgis 설치하기  (0) 2015.08.06
postgresql 에서 테이블 정보 추출하기  (0) 2015.03.03
pgadmin 설치  (0) 2015.02.23
PostgreSQL과 MySQL의 차이점  (0) 2015.02.23
postgresql first steps  (0) 2015.02.23
Posted by FeliZ_하늘..

댓글을 달아 주세요

mysqldump 를 떴는데 --skip-opt 때문에 pk 의 auto_increment 옵션이 빠지는 문제가 발생했다


일단은


ALTER TABLE table_name MODIFY column_name column_type NOT NULL AUTO_INCREMENT;


를 입력해서 해결


나중엔 --skip-opt 를 넣지 말고 dump 를 떠야겠다

'[DB] > [MySQL]' 카테고리의 다른 글

mysql Field doesn't have a default value  (0) 2015.08.10
mysql dump  (0) 2015.08.10
mysql left, right 함수  (0) 2015.02.02
mysql union 사용하기  (0) 2015.01.09
mysql instr() 사용  (0) 2015.01.09
mysql substring_index() 사용  (0) 2015.01.09
Posted by FeliZ_하늘..

댓글을 달아 주세요

mysql dump

[DB]/[MySQL] 2015. 8. 10. 12:09

--skip-opt 넣으면 auto_increment 가 빠짐


mysqldump -uroot -p -d -q db_name > schema.sql


mysqldump -uroot -p --no-create-info db_name > data.sql


mysql -uroot < schema.sql


mysql -uroot < data.sql

'[DB] > [MySQL]' 카테고리의 다른 글

mysql Field doesn't have a default value  (0) 2015.08.10
mysql dump  (0) 2015.08.10
mysql left, right 함수  (0) 2015.02.02
mysql union 사용하기  (0) 2015.01.09
mysql instr() 사용  (0) 2015.01.09
mysql substring_index() 사용  (0) 2015.01.09
Posted by FeliZ_하늘..

댓글을 달아 주세요

yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm


yum install postgresql94-server postgresql94-contrib postgis2_94

service postgresql-9.4 initdb

chkconfig postgresql-9.4 on

su - postgres

createuser --createdb --login --createrole --superuser --username=postgres cloudine

createdb --encoding=UTF8 --echo cloudine

createdb postgis

psql postgis


아래 쿼리를 입력해보면 installed_version 이 비어있는데

select * from pg_available_extensions order by name


아래 쿼리들을 입력하고나면 installed_version 이 채워질 것이다

CREATE EXTENSION postgis;

CREATE EXTENSION postgis_topology;

CREATE EXTENSION fuzzystrmatch;

CREATE EXTENSION postgis_tiger_geocoder;


업그레이드를 위해서는 아래 쿼리를 입력한다

ALTER EXTENSION postgis UPDATE TO "2.1.8";

ALTER EXTENSION postgis_topology UPDATE TO "2.1.8";

ALTER EXTENSION postgis_tiger_geocoder UPDATE TO "2.1.8";


아래 쿼리를 입력하면 postgis 버전을 확인할 수 있다

SELECT PostGIS_full_version();

'[DB] > [PostgreSQL]' 카테고리의 다른 글

postgresql 8.2 text to boolean  (0) 2016.07.09
postgresql 9.4, postgis 설치하기  (0) 2015.08.06
postgresql 에서 테이블 정보 추출하기  (0) 2015.03.03
pgadmin 설치  (0) 2015.02.23
PostgreSQL과 MySQL의 차이점  (0) 2015.02.23
postgresql first steps  (0) 2015.02.23
Posted by FeliZ_하늘..

댓글을 달아 주세요

Extracting META information from PostgreSQL (INFORMATION_SCHEMA)


http://www.alberton.info/postgresql_meta_info.html#.VPVCqvmsX5w

'[DB] > [PostgreSQL]' 카테고리의 다른 글

postgresql 8.2 text to boolean  (0) 2016.07.09
postgresql 9.4, postgis 설치하기  (0) 2015.08.06
postgresql 에서 테이블 정보 추출하기  (0) 2015.03.03
pgadmin 설치  (0) 2015.02.23
PostgreSQL과 MySQL의 차이점  (0) 2015.02.23
postgresql first steps  (0) 2015.02.23
Posted by FeliZ_하늘..

댓글을 달아 주세요

pgadmin 설치

[DB]/[PostgreSQL] 2015. 2. 23. 14:21

http://www.itzgeek.com/how-tos/linux/centos-how-tos/install-postgresql-9-1-3-with-pgadmin3-on-centos-6-rhel-6.html#axzz3SXa6ne4j

'[DB] > [PostgreSQL]' 카테고리의 다른 글

postgresql 8.2 text to boolean  (0) 2016.07.09
postgresql 9.4, postgis 설치하기  (0) 2015.08.06
postgresql 에서 테이블 정보 추출하기  (0) 2015.03.03
pgadmin 설치  (0) 2015.02.23
PostgreSQL과 MySQL의 차이점  (0) 2015.02.23
postgresql first steps  (0) 2015.02.23
Posted by FeliZ_하늘..

댓글을 달아 주세요

http://blurblah.net/877

'[DB] > [PostgreSQL]' 카테고리의 다른 글

postgresql 8.2 text to boolean  (0) 2016.07.09
postgresql 9.4, postgis 설치하기  (0) 2015.08.06
postgresql 에서 테이블 정보 추출하기  (0) 2015.03.03
pgadmin 설치  (0) 2015.02.23
PostgreSQL과 MySQL의 차이점  (0) 2015.02.23
postgresql first steps  (0) 2015.02.23
Posted by FeliZ_하늘..

댓글을 달아 주세요

https://wiki.postgresql.org/wiki/First_steps

'[DB] > [PostgreSQL]' 카테고리의 다른 글

postgresql 8.2 text to boolean  (0) 2016.07.09
postgresql 9.4, postgis 설치하기  (0) 2015.08.06
postgresql 에서 테이블 정보 추출하기  (0) 2015.03.03
pgadmin 설치  (0) 2015.02.23
PostgreSQL과 MySQL의 차이점  (0) 2015.02.23
postgresql first steps  (0) 2015.02.23
Posted by FeliZ_하늘..

댓글을 달아 주세요

influxdb

[DB] 2015. 2. 9. 18:13

https://josephkim75.wordpress.com/2014/03/12/influxdb-distributed-time-series-database/

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

influxdb  (0) 2015.02.09
Posted by FeliZ_하늘..
TAG influxdb

댓글을 달아 주세요