greenplum 집단 구축 및 배치
10095 단어 데이터베이스
1. 환경 준비
1. 서버 3대 준비
192.168.123.103 master
192.168.123.104 data1
192.168.123.105 data2
2. 서버hosts 변경
#vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.123.103 master
192.168.123.104 data1
192.168.123.105 data2
scp를 사용하여 다른 데이터 노드로 직접 복사:#scp /etc/hosts data1:/etc
#scp /etc/hosts data2:/etc
3. 서버 간 액세스 암호 변경
각 서버에서 수행해야 함#ssh-keygen -t rsa # root , OK
#ssh-copy-id data1 # ,ip1 ssh IP
#ssh data1 #
4. 각 서버에 그룹 및 사용자 정보 추가
#groupadd -g 530 gpadmin
#useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin
#chown -R gpadmin.gpadmin /home/gpadmin
#echo "mypassword" | passwd --stdin gpadmin
5. 시스템 코어 수정
#vim /etc/sysctl.conf
kernel.shmmax=34359738368
kernel.shmall=8388608
kernel.shmmni = 4096
kernel.sem = 250 512000 100 2048
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ip_local_port_range = 10000 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2
vm.overcommit_ratio=95
구성 적용: #sysctl -p (구성 적용)
6. 프로세스 파일 자원 제한 구성
#vim /etc/security/limit.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
참고: RedHat6의 경우x시스템,/etc/security/limits도 필요합니다.d/90-nproc.conf 파일의 1024는 131072로 수정되었습니다.
7, 방화벽 및 SELinux 구성 관리
방화벽 관리: (linux 버전에 따라 조회 방식이 다르다)CentOS 6.5:
: service iptables stop
:chkconfig iptables off
: service iptables status
CentOS 7.2:
: systemctl stop firewalld.service
:systemctl disable firewalld.service
: systemctl status firewalld.service
:firewall-cmd --zone=public --add-port=80/tcp --permanent
:firewall-cmd --list-ports
SELinux 구성:#vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
2. Greenplum DB 설치 배포
1. 설치 패키지 다운로드
다운로드 주소:https://github.com/greenplum-db/gpdb/releases
2.1, 설치 컴파일 환경
# yum groupinstall "Development Tools"
# yum install readline
# yum install readline-devel
# yum install zlib-devel
2.2 Greenplum DB 컴파일 설치
그 중에서 2.1은 원본 코드를 컴파일하여 설치하거나 rpm 패키지를 사용하여 직접 설치할 수 있다. 다음과 같다.# yum install greenplum-db-6.0.0-rhel7-x86_64.rpm
3. greenplum의 설치 경로를 gpadmin에 접근하기
# chown -R gpadmin.gpadmin /usr/local/
# chown -R gpadmin.gpadmin /usr/local/greenplum-db
# chown -R gpadmin.gpadmin /opt/
3. Greenplum DB 구성
1.1, 모든 노드 호스트 이름을 포함하는hostlist 만들기
# vi /home/gpadmin/conf/hostlist
master
data1
data2
1.2,seg_ 만들기hosts, 모든 Segment Host를 포함하는 호스트 이름
# vim /home/gpadmin/conf/seg_hosts
data1
data2
2. ssh 비밀 연결 설정:
[root@ gp-master ~]# su - gpadmin
[gpadmin@ gp-master ~]# source /usr/local/greenplum-db/greenplum_path.sh
[gpadmin@ gp-master ~]# gpssh-exkeys -f /home/gpadmin/conf/hostlist
[STEP 1 of 5] create local ID and authorize on local host
... /home/gpadmin/.ssh/id_rsa file exists ... key generation skipped
[STEP 2 of 5] keyscan all hosts and update known_hosts file
[STEP 3 of 5] authorize current user on remote hosts
... send to gp-sdw1
... send to gp-sdw2
... send to gp-sdw3
# : gpadmin
[STEP 4 of 5] determine common authentication file content
[STEP 5 of 5] copy authentication files to all remote hosts
... finished key exchange with gp-sdw1
... finished key exchange with gp-sdw2
... finished key exchange with gp-sdw3
[INFO] completed successfully
:
[root@ gp-master ~]# ssh data1 # ;
:
[root@ gp-master ~]# gpssh -f /home/gpadmin/conf/hostlist
=> pwd
[data1] /home/gpadmin
[data2] /home/gpadmin
[master] /home/gpadmin
=> exit
。
3. Segment 노드에 Greenplum DB 설치
각 하위 노드에서 폴더 권한 부여:$ chown -R gpadmin:gpadmin /usr/local
$ chown -R gpadmin:gpadmin /opt
마스터에서 설치 패키지를 포장하여 각 하위 노드로 복사합니다.$ cd /usr/local/
$ tar -cf gp.tar greenplum-db-5.0.0/
$ gpscp -f /home/gpadmin/conf/seg_hosts gp.tar =:/usr/local/
만약 의외의 일이 없다면 대량 복제에 성공하면 하위 노드의 해당 폴더를 보고 tar 패키지를 압축을 풀 수 있습니다. 현재 우리는 하위 노드에 대한 대량 압축 해제 작업을 사용할 것입니다.$ source /usr/local/ greenplum-db/greenplum_path.sh
$ gpssh -f /home/gpadmin/conf/seg_hosts
=> cd /usr/local
[sdw3]
[sdw1]
[sdw2]
=> tar -xf gp.tar
[sdw3]
[sdw1]
[sdw2]
#
=> ln -s ./greenplum-db-5.0.0 greenplum-db
[sdw3]
[sdw1]
[sdw2]
=> ll( ll )
=>exit( )
이렇게 하면 모든 노드의 설치를 완성할 수 있다.
4. 데이터베이스 초기화
1. 자원 디렉터리 만들기
source /usr/local/ greenplum-db/greenplum_path.sh
gpssh -f /home/gpadmin/conf/hostlist #
# /opt/greenplum/data ( )
=> mkdir -p /opt/greenplum/data/master
=> mkdir -p /opt/greenplum/data/primary
=> mkdir -p /opt/greenplum/data/mirror
=> mkdir -p /opt/greenplum/data2/primary
=> mkdir -p /opt/greenplum/data2/mirror
2. 환경 변수 구성
2.1 주 노드에서 환경 변수 설정(gpadmin의 사용자 권한에 설정)
# vi /home/gpadmin/.bash_profile
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/opt/greenplum/data/master/gpseg-1
export GPPORT=5432
export PGDATABASE=gp_sydb
2.2 각 하위 노드에 순차적으로 복사
# scp /home/gpadmin/.bash_profile gp-sdw1:/home/gpadmin/
2.3 환경 변수 적용
# source .bash_profile
3, NTP 구성
master 노드에서 ntp를 활성화하고 Segment 노드에서 NTP를 구성하고 활성화합니다.echo "server master perfer" >>/etc/ntp.conf
gpssh -f /home/gpadmin/conf/hostlist -v -e 'sudo ntpd'
gpssh -f /home/gpadmin/conf/hostlist -v -e 'sudo /etc/init.d/ntpd start && sudo chkconfig --level 35 ntpd on'
4. 초기화 전 연결성 검사
노드와 노드 사이의 파일 읽기 검사하기;cd /usr/local/greenplum-db/bin
gpcheckperf -f /home/gpadmin/conf/hostlist -r N -d /tmp
-- NETPERF TEST
-------------------
====================
== RESULT
====================
Netperf bisection bandwidth test
master -> gp-sdw1 = 72.220000
data2 -> gp-sdw3 = 21.470000
data1 -> gp-master = 43.510000
Summary:
sum = 181.40 MB/sec
min = 21.47 MB/sec
max = 72.22 MB/sec
avg = 45.35 MB/sec
median = 44.20 MB/sec
상기 내용이 나타나면 각 노드가 이미 연결될 수 있음을 증명한다.
5. 초기화 수행
초기화 Greenplum 프로필 템플릿은/usr/local/greenplum-db/docs/cli_help/gpconfigs 디렉터리에서 gpinitsystem_config는 Greenplum을 초기화하는 템플릿입니다. 이 템플릿에 Mirror Segment 설정이 설명되어 있습니다.다음 구성을 수정하는 복사본을 만듭니다.# cd /usr/local/greenplum-db/docs/cli_help/gpconfigs
# cp gpinitsystem_config initgp_config
# vi initgp_config
#다음은 텍스트에서 수정할 속성 필드 설정#자원 디렉터리는 앞 장에서 만든 자원 디렉터리입니다. 자원 디렉터리를 몇 번 설정하면 하위 노드마다 몇 개의 실례가 있습니다.declare -a DATA_DIRECTORY=(/opt/greenplum/data/primary /opt/greenplum/data/primary /opt/greenplum/data/primary /opt/greenplum/data2/primary /opt/greenplum/data2/primary /opt/greenplum/data2/primary)
declare -a MIRROR_DATA_DIRECTORY=(/opt/greenplum/data/mirror /opt/greenplum/data/mirror /opt/greenplum/data/mirror /opt/greenplum/data2/mirror /opt/greenplum/data2/mirror /opt/greenplum/data2/mirror)
ARRAY_NAME=”gp_sydb”
MASTER_HOSTNAME=master
MASTER_DIRECTORY=/opt/greenplum/data/master
MASTER_DATA_DIRECTORY=/opt/greenplum/data/master/gpseg-1
DATABASE_NAME=gp_sydb
MACHINE_LIST_FILE=/home/gpadmin/conf/seg_hosts
6. 초기화를 실행한다.
# gpinitsystem -c initgp_config -S -s standby
초기화에 실패하면/opt의 데이터 자원 디렉터리를 삭제하고 다시 초기화해야 합니다.
5. 데이터베이스 작업
1 클러스터 중지 및 시작
# gpstop -M fast
# gpstart -a
2 데이터베이스 로그인
# psql -d postgres #
postgres=# \l #
List of databases
Name | Owner | Encoding | Access privileges
-----------+---------+----------+---------------------
gp_sydb | gpadmin | UTF8 |
postgres | gpadmin | UTF8 |
template0 | gpadmin | UTF8 | =c/gpadmin
: gpadmin=CTc/gpadmin
template1 | gpadmin | UTF8 | =c/gpadmin
: gpadmin=CTc/gpadmin
(4 rows)
postgres=# \i test.sql # sql
postgres=# copy to '/tmp/1.csv' with 'csv'; #
postgres=# copy from '/tmp/1.csv' with 'csv'; #
postgres=# \q #
3 클러스터 상태
gpstate -e # mirror
gpstate -f # standby master
gpstate -s # GP
gpstate -i # GP
gpstate --help # , gpstate
비고: 지금까지 데이터베이스가 조작되었습니다. 기본적으로 로컬만 데이터베이스를 연결할 수 있습니다.다른 I가 필요하면 gp_를 수정해야 합니다hba.conf 파일vim $MASTER_DATA_DIRECTORY/pg_hba.conf
#
host all gpadmin 0.0.0.0/0 md5
실행 gpstop -u
구성 적용
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SQLite의 query로 망설임
이것은 내가 처음 안드로이드 응용 프로그램 개발에서 망설이고, 그 후 해결 된 방법을 비망록으로 철자하고 있습니다.
java에서 SQLite를 이용한 애플리케이션을 작성하는 동안 EditText에 입력된 item이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
#vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.123.103 master
192.168.123.104 data1
192.168.123.105 data2
#scp /etc/hosts data1:/etc
#scp /etc/hosts data2:/etc
#ssh-keygen -t rsa # root , OK
#ssh-copy-id data1 # ,ip1 ssh IP
#ssh data1 #
#groupadd -g 530 gpadmin
#useradd -g 530 -u 530 -m -d /home/gpadmin -s /bin/bash gpadmin
#chown -R gpadmin.gpadmin /home/gpadmin
#echo "mypassword" | passwd --stdin gpadmin
#vim /etc/sysctl.conf
kernel.shmmax=34359738368
kernel.shmall=8388608
kernel.shmmni = 4096
kernel.sem = 250 512000 100 2048
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ip_local_port_range = 10000 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2
vm.overcommit_ratio=95
#vim /etc/security/limit.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
CentOS 6.5:
: service iptables stop
:chkconfig iptables off
: service iptables status
CentOS 7.2:
: systemctl stop firewalld.service
:systemctl disable firewalld.service
: systemctl status firewalld.service
:firewall-cmd --zone=public --add-port=80/tcp --permanent
:firewall-cmd --list-ports
#vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
1. 설치 패키지 다운로드
다운로드 주소:https://github.com/greenplum-db/gpdb/releases
2.1, 설치 컴파일 환경
# yum groupinstall "Development Tools"
# yum install readline
# yum install readline-devel
# yum install zlib-devel
2.2 Greenplum DB 컴파일 설치
그 중에서 2.1은 원본 코드를 컴파일하여 설치하거나 rpm 패키지를 사용하여 직접 설치할 수 있다. 다음과 같다.
# yum install greenplum-db-6.0.0-rhel7-x86_64.rpm
3. greenplum의 설치 경로를 gpadmin에 접근하기
# chown -R gpadmin.gpadmin /usr/local/
# chown -R gpadmin.gpadmin /usr/local/greenplum-db
# chown -R gpadmin.gpadmin /opt/
3. Greenplum DB 구성
1.1, 모든 노드 호스트 이름을 포함하는hostlist 만들기
# vi /home/gpadmin/conf/hostlist
master
data1
data2
1.2,seg_ 만들기hosts, 모든 Segment Host를 포함하는 호스트 이름
# vim /home/gpadmin/conf/seg_hosts
data1
data2
2. ssh 비밀 연결 설정:
[root@ gp-master ~]# su - gpadmin
[gpadmin@ gp-master ~]# source /usr/local/greenplum-db/greenplum_path.sh
[gpadmin@ gp-master ~]# gpssh-exkeys -f /home/gpadmin/conf/hostlist
[STEP 1 of 5] create local ID and authorize on local host
... /home/gpadmin/.ssh/id_rsa file exists ... key generation skipped
[STEP 2 of 5] keyscan all hosts and update known_hosts file
[STEP 3 of 5] authorize current user on remote hosts
... send to gp-sdw1
... send to gp-sdw2
... send to gp-sdw3
# : gpadmin
[STEP 4 of 5] determine common authentication file content
[STEP 5 of 5] copy authentication files to all remote hosts
... finished key exchange with gp-sdw1
... finished key exchange with gp-sdw2
... finished key exchange with gp-sdw3
[INFO] completed successfully
:
[root@ gp-master ~]# ssh data1 # ;
:
[root@ gp-master ~]# gpssh -f /home/gpadmin/conf/hostlist
=> pwd
[data1] /home/gpadmin
[data2] /home/gpadmin
[master] /home/gpadmin
=> exit
。
3. Segment 노드에 Greenplum DB 설치
각 하위 노드에서 폴더 권한 부여:$ chown -R gpadmin:gpadmin /usr/local
$ chown -R gpadmin:gpadmin /opt
마스터에서 설치 패키지를 포장하여 각 하위 노드로 복사합니다.$ cd /usr/local/
$ tar -cf gp.tar greenplum-db-5.0.0/
$ gpscp -f /home/gpadmin/conf/seg_hosts gp.tar =:/usr/local/
만약 의외의 일이 없다면 대량 복제에 성공하면 하위 노드의 해당 폴더를 보고 tar 패키지를 압축을 풀 수 있습니다. 현재 우리는 하위 노드에 대한 대량 압축 해제 작업을 사용할 것입니다.$ source /usr/local/ greenplum-db/greenplum_path.sh
$ gpssh -f /home/gpadmin/conf/seg_hosts
=> cd /usr/local
[sdw3]
[sdw1]
[sdw2]
=> tar -xf gp.tar
[sdw3]
[sdw1]
[sdw2]
#
=> ln -s ./greenplum-db-5.0.0 greenplum-db
[sdw3]
[sdw1]
[sdw2]
=> ll( ll )
=>exit( )
이렇게 하면 모든 노드의 설치를 완성할 수 있다.
4. 데이터베이스 초기화
1. 자원 디렉터리 만들기
source /usr/local/ greenplum-db/greenplum_path.sh
gpssh -f /home/gpadmin/conf/hostlist #
# /opt/greenplum/data ( )
=> mkdir -p /opt/greenplum/data/master
=> mkdir -p /opt/greenplum/data/primary
=> mkdir -p /opt/greenplum/data/mirror
=> mkdir -p /opt/greenplum/data2/primary
=> mkdir -p /opt/greenplum/data2/mirror
2. 환경 변수 구성
2.1 주 노드에서 환경 변수 설정(gpadmin의 사용자 권한에 설정)
# vi /home/gpadmin/.bash_profile
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/opt/greenplum/data/master/gpseg-1
export GPPORT=5432
export PGDATABASE=gp_sydb
2.2 각 하위 노드에 순차적으로 복사
# scp /home/gpadmin/.bash_profile gp-sdw1:/home/gpadmin/
2.3 환경 변수 적용
# source .bash_profile
3, NTP 구성
master 노드에서 ntp를 활성화하고 Segment 노드에서 NTP를 구성하고 활성화합니다.echo "server master perfer" >>/etc/ntp.conf
gpssh -f /home/gpadmin/conf/hostlist -v -e 'sudo ntpd'
gpssh -f /home/gpadmin/conf/hostlist -v -e 'sudo /etc/init.d/ntpd start && sudo chkconfig --level 35 ntpd on'
4. 초기화 전 연결성 검사
노드와 노드 사이의 파일 읽기 검사하기;cd /usr/local/greenplum-db/bin
gpcheckperf -f /home/gpadmin/conf/hostlist -r N -d /tmp
-- NETPERF TEST
-------------------
====================
== RESULT
====================
Netperf bisection bandwidth test
master -> gp-sdw1 = 72.220000
data2 -> gp-sdw3 = 21.470000
data1 -> gp-master = 43.510000
Summary:
sum = 181.40 MB/sec
min = 21.47 MB/sec
max = 72.22 MB/sec
avg = 45.35 MB/sec
median = 44.20 MB/sec
상기 내용이 나타나면 각 노드가 이미 연결될 수 있음을 증명한다.
5. 초기화 수행
초기화 Greenplum 프로필 템플릿은/usr/local/greenplum-db/docs/cli_help/gpconfigs 디렉터리에서 gpinitsystem_config는 Greenplum을 초기화하는 템플릿입니다. 이 템플릿에 Mirror Segment 설정이 설명되어 있습니다.다음 구성을 수정하는 복사본을 만듭니다.# cd /usr/local/greenplum-db/docs/cli_help/gpconfigs
# cp gpinitsystem_config initgp_config
# vi initgp_config
#다음은 텍스트에서 수정할 속성 필드 설정#자원 디렉터리는 앞 장에서 만든 자원 디렉터리입니다. 자원 디렉터리를 몇 번 설정하면 하위 노드마다 몇 개의 실례가 있습니다.declare -a DATA_DIRECTORY=(/opt/greenplum/data/primary /opt/greenplum/data/primary /opt/greenplum/data/primary /opt/greenplum/data2/primary /opt/greenplum/data2/primary /opt/greenplum/data2/primary)
declare -a MIRROR_DATA_DIRECTORY=(/opt/greenplum/data/mirror /opt/greenplum/data/mirror /opt/greenplum/data/mirror /opt/greenplum/data2/mirror /opt/greenplum/data2/mirror /opt/greenplum/data2/mirror)
ARRAY_NAME=”gp_sydb”
MASTER_HOSTNAME=master
MASTER_DIRECTORY=/opt/greenplum/data/master
MASTER_DATA_DIRECTORY=/opt/greenplum/data/master/gpseg-1
DATABASE_NAME=gp_sydb
MACHINE_LIST_FILE=/home/gpadmin/conf/seg_hosts
6. 초기화를 실행한다.
# gpinitsystem -c initgp_config -S -s standby
초기화에 실패하면/opt의 데이터 자원 디렉터리를 삭제하고 다시 초기화해야 합니다.
5. 데이터베이스 작업
1 클러스터 중지 및 시작
# gpstop -M fast
# gpstart -a
2 데이터베이스 로그인
# psql -d postgres #
postgres=# \l #
List of databases
Name | Owner | Encoding | Access privileges
-----------+---------+----------+---------------------
gp_sydb | gpadmin | UTF8 |
postgres | gpadmin | UTF8 |
template0 | gpadmin | UTF8 | =c/gpadmin
: gpadmin=CTc/gpadmin
template1 | gpadmin | UTF8 | =c/gpadmin
: gpadmin=CTc/gpadmin
(4 rows)
postgres=# \i test.sql # sql
postgres=# copy to '/tmp/1.csv' with 'csv'; #
postgres=# copy from '/tmp/1.csv' with 'csv'; #
postgres=# \q #
3 클러스터 상태
gpstate -e # mirror
gpstate -f # standby master
gpstate -s # GP
gpstate -i # GP
gpstate --help # , gpstate
비고: 지금까지 데이터베이스가 조작되었습니다. 기본적으로 로컬만 데이터베이스를 연결할 수 있습니다.다른 I가 필요하면 gp_를 수정해야 합니다hba.conf 파일vim $MASTER_DATA_DIRECTORY/pg_hba.conf
#
host all gpadmin 0.0.0.0/0 md5
실행 gpstop -u
구성 적용
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SQLite의 query로 망설임
이것은 내가 처음 안드로이드 응용 프로그램 개발에서 망설이고, 그 후 해결 된 방법을 비망록으로 철자하고 있습니다.
java에서 SQLite를 이용한 애플리케이션을 작성하는 동안 EditText에 입력된 item이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
# vi /home/gpadmin/conf/hostlist
master
data1
data2
# vim /home/gpadmin/conf/seg_hosts
data1
data2
[root@ gp-master ~]# su - gpadmin
[gpadmin@ gp-master ~]# source /usr/local/greenplum-db/greenplum_path.sh
[gpadmin@ gp-master ~]# gpssh-exkeys -f /home/gpadmin/conf/hostlist
[STEP 1 of 5] create local ID and authorize on local host
... /home/gpadmin/.ssh/id_rsa file exists ... key generation skipped
[STEP 2 of 5] keyscan all hosts and update known_hosts file
[STEP 3 of 5] authorize current user on remote hosts
... send to gp-sdw1
... send to gp-sdw2
... send to gp-sdw3
# : gpadmin
[STEP 4 of 5] determine common authentication file content
[STEP 5 of 5] copy authentication files to all remote hosts
... finished key exchange with gp-sdw1
... finished key exchange with gp-sdw2
... finished key exchange with gp-sdw3
[INFO] completed successfully
:
[root@ gp-master ~]# ssh data1 # ;
:
[root@ gp-master ~]# gpssh -f /home/gpadmin/conf/hostlist
=> pwd
[data1] /home/gpadmin
[data2] /home/gpadmin
[master] /home/gpadmin
=> exit
。
$ chown -R gpadmin:gpadmin /usr/local
$ chown -R gpadmin:gpadmin /opt
$ cd /usr/local/
$ tar -cf gp.tar greenplum-db-5.0.0/
$ gpscp -f /home/gpadmin/conf/seg_hosts gp.tar =:/usr/local/
$ source /usr/local/ greenplum-db/greenplum_path.sh
$ gpssh -f /home/gpadmin/conf/seg_hosts
=> cd /usr/local
[sdw3]
[sdw1]
[sdw2]
=> tar -xf gp.tar
[sdw3]
[sdw1]
[sdw2]
#
=> ln -s ./greenplum-db-5.0.0 greenplum-db
[sdw3]
[sdw1]
[sdw2]
=> ll( ll )
=>exit( )
1. 자원 디렉터리 만들기
source /usr/local/ greenplum-db/greenplum_path.sh
gpssh -f /home/gpadmin/conf/hostlist #
# /opt/greenplum/data ( )
=> mkdir -p /opt/greenplum/data/master
=> mkdir -p /opt/greenplum/data/primary
=> mkdir -p /opt/greenplum/data/mirror
=> mkdir -p /opt/greenplum/data2/primary
=> mkdir -p /opt/greenplum/data2/mirror
2. 환경 변수 구성
2.1 주 노드에서 환경 변수 설정(gpadmin의 사용자 권한에 설정)
# vi /home/gpadmin/.bash_profile
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/opt/greenplum/data/master/gpseg-1
export GPPORT=5432
export PGDATABASE=gp_sydb
2.2 각 하위 노드에 순차적으로 복사
# scp /home/gpadmin/.bash_profile gp-sdw1:/home/gpadmin/
2.3 환경 변수 적용
# source .bash_profile
3, NTP 구성
master 노드에서 ntp를 활성화하고 Segment 노드에서 NTP를 구성하고 활성화합니다.
echo "server master perfer" >>/etc/ntp.conf
gpssh -f /home/gpadmin/conf/hostlist -v -e 'sudo ntpd'
gpssh -f /home/gpadmin/conf/hostlist -v -e 'sudo /etc/init.d/ntpd start && sudo chkconfig --level 35 ntpd on'
4. 초기화 전 연결성 검사
노드와 노드 사이의 파일 읽기 검사하기;
cd /usr/local/greenplum-db/bin
gpcheckperf -f /home/gpadmin/conf/hostlist -r N -d /tmp
-- NETPERF TEST
-------------------
====================
== RESULT
====================
Netperf bisection bandwidth test
master -> gp-sdw1 = 72.220000
data2 -> gp-sdw3 = 21.470000
data1 -> gp-master = 43.510000
Summary:
sum = 181.40 MB/sec
min = 21.47 MB/sec
max = 72.22 MB/sec
avg = 45.35 MB/sec
median = 44.20 MB/sec
상기 내용이 나타나면 각 노드가 이미 연결될 수 있음을 증명한다.
5. 초기화 수행
초기화 Greenplum 프로필 템플릿은/usr/local/greenplum-db/docs/cli_help/gpconfigs 디렉터리에서 gpinitsystem_config는 Greenplum을 초기화하는 템플릿입니다. 이 템플릿에 Mirror Segment 설정이 설명되어 있습니다.다음 구성을 수정하는 복사본을 만듭니다.
# cd /usr/local/greenplum-db/docs/cli_help/gpconfigs
# cp gpinitsystem_config initgp_config
# vi initgp_config
#다음은 텍스트에서 수정할 속성 필드 설정#자원 디렉터리는 앞 장에서 만든 자원 디렉터리입니다. 자원 디렉터리를 몇 번 설정하면 하위 노드마다 몇 개의 실례가 있습니다.
declare -a DATA_DIRECTORY=(/opt/greenplum/data/primary /opt/greenplum/data/primary /opt/greenplum/data/primary /opt/greenplum/data2/primary /opt/greenplum/data2/primary /opt/greenplum/data2/primary)
declare -a MIRROR_DATA_DIRECTORY=(/opt/greenplum/data/mirror /opt/greenplum/data/mirror /opt/greenplum/data/mirror /opt/greenplum/data2/mirror /opt/greenplum/data2/mirror /opt/greenplum/data2/mirror)
ARRAY_NAME=”gp_sydb”
MASTER_HOSTNAME=master
MASTER_DIRECTORY=/opt/greenplum/data/master
MASTER_DATA_DIRECTORY=/opt/greenplum/data/master/gpseg-1
DATABASE_NAME=gp_sydb
MACHINE_LIST_FILE=/home/gpadmin/conf/seg_hosts
6. 초기화를 실행한다.
# gpinitsystem -c initgp_config -S -s standby
초기화에 실패하면/opt의 데이터 자원 디렉터리를 삭제하고 다시 초기화해야 합니다.
5. 데이터베이스 작업
1 클러스터 중지 및 시작
# gpstop -M fast
# gpstart -a
2 데이터베이스 로그인
# psql -d postgres #
postgres=# \l #
List of databases
Name | Owner | Encoding | Access privileges
-----------+---------+----------+---------------------
gp_sydb | gpadmin | UTF8 |
postgres | gpadmin | UTF8 |
template0 | gpadmin | UTF8 | =c/gpadmin
: gpadmin=CTc/gpadmin
template1 | gpadmin | UTF8 | =c/gpadmin
: gpadmin=CTc/gpadmin
(4 rows)
postgres=# \i test.sql # sql
postgres=# copy to '/tmp/1.csv' with 'csv'; #
postgres=# copy from '/tmp/1.csv' with 'csv'; #
postgres=# \q #
3 클러스터 상태
gpstate -e # mirror
gpstate -f # standby master
gpstate -s # GP
gpstate -i # GP
gpstate --help # , gpstate
비고: 지금까지 데이터베이스가 조작되었습니다. 기본적으로 로컬만 데이터베이스를 연결할 수 있습니다.다른 I가 필요하면 gp_를 수정해야 합니다hba.conf 파일vim $MASTER_DATA_DIRECTORY/pg_hba.conf
#
host all gpadmin 0.0.0.0/0 md5
실행 gpstop -u
구성 적용
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SQLite의 query로 망설임
이것은 내가 처음 안드로이드 응용 프로그램 개발에서 망설이고, 그 후 해결 된 방법을 비망록으로 철자하고 있습니다.
java에서 SQLite를 이용한 애플리케이션을 작성하는 동안 EditText에 입력된 item이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
# gpstop -M fast
# gpstart -a
# psql -d postgres #
postgres=# \l #
List of databases
Name | Owner | Encoding | Access privileges
-----------+---------+----------+---------------------
gp_sydb | gpadmin | UTF8 |
postgres | gpadmin | UTF8 |
template0 | gpadmin | UTF8 | =c/gpadmin
: gpadmin=CTc/gpadmin
template1 | gpadmin | UTF8 | =c/gpadmin
: gpadmin=CTc/gpadmin
(4 rows)
postgres=# \i test.sql # sql
postgres=# copy to '/tmp/1.csv' with 'csv'; #
postgres=# copy from '/tmp/1.csv' with 'csv'; #
postgres=# \q #
gpstate -e # mirror
gpstate -f # standby master
gpstate -s # GP
gpstate -i # GP
gpstate --help # , gpstate
vim $MASTER_DATA_DIRECTORY/pg_hba.conf
#
host all gpadmin 0.0.0.0/0 md5
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SQLite의 query로 망설임이것은 내가 처음 안드로이드 응용 프로그램 개발에서 망설이고, 그 후 해결 된 방법을 비망록으로 철자하고 있습니다. java에서 SQLite를 이용한 애플리케이션을 작성하는 동안 EditText에 입력된 item이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.