2017년 8월 22일 화요일

GPDB-하둡클라이언트설치

GPDB에 Hadoop 클라이언트를 설치하는 방법은 2가지가 있습니다.
1. Pivotal HD의 클라이언트 설치
    => Pivotal 에서 사용했던 방식입니다.
2. Apache Hadoop 클라이언트 설치
    => 이전에 POC 했던 방식입니다.

이중 Pivotal HD 클라이언트 설치했던 방식은 아래와 같으며, 
Apache Hadoop 클라이언트로 설치하기 위해서는 아래에 설치할 목록으로 설치하시면 됩니다.

## Pivotal HD 클라이언트 설치 방식
첨부로 보내드린 파일을 압축 푸시면 PHD-3.0.1.0-1-centos6.tgz 파일이 있습니다.
 
1. 간략하게 설치하는 방법
1) 레퍼지토리를 구성해서 yum install로 설치
* 레포지토리 구성
# tar xzv PHD-3.0.1.0-1-centos6.tgz
# ./setup_repo.sh
* 설치할 노드에 repo 파일 생성 (설치 노드는 greenplum master, segment, 모두 설치)
# vi /etc/yum.repos.d/PHD-3.0.1.0.repo ## repository 가 설치된 IP또는 url만 바꾸시면 됩니다.
[PHD-3.0.1.0]
name=PHD-3.0.1.0
baseurl=<a target="_blank" href="http://phd.gphd.local/PHD-3.0.1.0" class="tx-link">http://phd.gphd.local/PHD-3.0.1.0</a>;
gpgcheck=0

* 클라이언트 설치 (모든 노드)

# yum install hadoop-hdfs
# yum install hadoop
# yum install zookeeper
# yum install hadoop-mapreduce

$ gpconfig -c gp_hadoop_home -v "'/usr/phd/3.0.1.0-1/'"
$ gpconfig -c gp_hadoop_target_version -v "'hdp2'"



2. RPM으로 설치하는 방법
1) PHD-3.0.1.0-1-centos6.tgz 를 압축을 풀어서 필요한 패키지 설치
* 이전에 제가 설치했던 방법인데, 그 때는 PHD 2.X으로 설치를 해서 파일명의 변경이 좀 필요로 합니다.

1) Pivotal HD 또는 Apache Hadoop 연동 (Greenplum 메뉴얼에 있는 내용)

n Greenplum에서는 Pivotal HD 뿐만 아니라 Apache Hadoop 에서도 연동 지원
1. hdfs 2.4 install
hdfs 2.4 
설치 준비 : http://blog.naver.com/brisk_breeze/220049026928
hdfs 2.4 
설치 : http://blog.naver.com/brisk_breeze/220049041075
hdfs 2.4 
시작시 에러 처리 : http://codeholic.net/post/88970438662/hadoop-2-x


2. install gphdfs
1) 
주의 사항
- jdk 1.7 
인스톨 (jdk 1.7 사용, 1.6  에러 발생)
- PHD-2.1.0.0-175.tar.tgz 
파일 사용
# rpm -ivh jdk-7u55-linux-x64.rpm
# rpm -Uvh jdk-7u55-linux-x64.rpm

2) 
설치시 nc 인스톨
# yum install nc
3) 모든 노드에  설치 (rpm)
# rpm -ivh ./utility/rpm/bigtop-jsvc-1.0.15_gphd_3_1_0_0-175.x86_64.rpm
# rpm -ivh ./utility/rpm/bigtop-utils-0.4.0_gphd_3_1_0_0-175.noarch.rpm
# rpm -ivh ./zookeeper/rpm/zookeeper-3.4.5_gphd_3_1_0_0-175.noarch.rpm
# rpm -ivh hadoop/rpm/hadoop-2.2.0_gphd_3_1_0_0-175.x86_64.rpm
# rpm -ivh hadoop/rpm/hadoop-yarn-2.2.0_gphd_3_1_0_0-175.x86_64.rpm
# rpm -ivh hadoop/rpm/hadoop-mapreduce-2.2.0_gphd_3_1_0_0-175.x86_64.rpm
# rpm -ivh hadoop/rpm/hadoop-hdfs-2.2.0_gphd_3_1_0_0-175.x86_64.rpm

4) GPDB configuration

$ gpconfig -c gp_hadoop_home -v "'/usr/phd/3.0.1.0-1/'"
$ gpconfig -c gp_hadoop_target_version -v "'hdp2'"

$ gpstop -afr or gpstop -u
5) hdfs 체크 on segment node
$ hdfs dfs -ls hdfs://mdw:9000/test
3. test gphdfs
CREATE WRITABLE EXTERNAL TABLE ext_test_put
(i int, bar text) LOCATION ('gphdfs://mdw:9000/test/test') FORMAT 'text' (delimiter '|' null 'null');

INSERT INTO ext_test_put SELECT i, 'bar_' || i FROM generate_series(1, 10000) AS i;

CREATE EXTERNAL TABLE ext_test_get
(i int, bar text) LOCATION ('gphdfs://mdw:9000/test/test') FORMAT 'text' (delimiter '|' null 'null');

4. 성능
[gpadmin@gpdbsne hadoop]$ psql
Timing is on.
psql (8.2.15)
Type "help" for help.

gpadmin=# INSERT INTO ext_test_put SELECT i, 'bar_' || i FROM generate_series(1, 10000) AS i; INSERT 0 10000
Time: 1329.985 ms
gpadmin=# INSERT INTO ext_test_put SELECT i, 'bar_' || i FROM generate_series(1, 100000) AS i;
INSERT 0 100000
Time: 1371.176 ms
gpadmin=# INSERT INTO ext_test_put SELECT i, 'bar_' || i FROM generate_series(1, 1000000) AS i;
INSERT 0 1000000
Time: 2250.581 ms
gpadmin=# select count(*) From ext_test_get;
count
---------
1120000
(1 row)

Time: 2534.421 ms
gpadmin=# INSERT INTO ext_test_put SELECT i, 'bar_' || i FROM generate_series(1, 1000000) AS i;
INSERT 0 1000000
Time: 2375.551 ms
gpadmin=# select count(*) From ext_test_get;
count
---------
2120000
(1 row)

Time: 3067.598 ms
gpadmin=# INSERT INTO ext_test_put SELECT i, 'bar_' || i FROM generate_series(1, 10000000) AS i;
INSERT 0 10000000
Time: 14127.984 ms
gpadmin=# select count(*) From ext_test_get;
count
----------
12120000
(1 row)

Time: 14455.992 ms
gpadmin=#


주의 사항 : gpconfig 적용시 잘못 드리면, DB 컨피그를 잘못 DB Start가 되지 않을 수 있습니다.

댓글 없음:

댓글 쓰기

Greenplum Disaster Recovery

Greenplum DR를 사용하면, 재해 발생 전 특정 복구 시점으로 복구 지원 Greenplum DR은 Full 백업/복구, Incremental 백업/복구, WAL 로그 기반으로 DR 기능 제공 Greenplum Disaster Recovery 지...