下载gpdb-dev镜像
pivotaldata/gpdb-dev:centos7
是官方的开发镜像,里面已经装好了一些依赖,所以使用起来会方便一点。
1
|
docker pull pivotaldata/gpdb-dev:centos7
|
下载gpdb源码到指定目录
1
|
git clone https://github.com/greenplum-db/gpdb.git ~/github
|
创建目录用于容器数据库
1
2
|
sudo mkdir -p /var/lib/centos-gpdb-dev-data
sudo chown xiaoyu:xiaoyu /var/lib/centos-gpdb-dev-data
|
运行容器
1
|
docker run -it --name centos-gpdb-dev -v ~/github/gpdb:/home/gpadmin/gpdb_src -v /var/lib/centos-gpdb-dev-data:/home/gpadmin/data -p 15432:15432 pivotaldata/gpdb-dev:centos7
|
安装依赖
1
|
/home/gpadmin/gpdb_src/README.CentOS.bash
|
添加动态库搜索路径,并使之生效
1
2
3
|
echo /usr/local/lib >> /etc/ld.so.conf
echo /usr/local/lib64 >> /etc/ld.so.conf
ldconfig
|
设置启动sshd
1
2
|
echo /usr/sbin/sshd >> ~/.bashrc
/usr/sbin/sshd # 第一次手动启动
|
切换到gpadmin用户,并进入源码目录
1
2
3
|
su - gpadmin
mkdir gpdb # 创建gpdb目录作为gpdb安装目录
cd /home/gpadmin/gpdb_src
|
编译gp-xerces
1
2
3
4
5
|
git clone https://github.com/greenplum-db/gp-xerces.git
cd gp-xerces
./configure && make -j4
sudo make install
cd ..
|
安装conan
1
2
|
sudo pip install --upgrade pip
sudo pip install -I conan # -I忽略已安装的包
|
编译ORCA
1
2
3
4
5
|
cd depends
./configure && make -j4 orca
sudo make install_local
sudo ldconfig
cd ..
|
编译gpdb
1
2
|
./configure --enable-debug --with-perl --with-python --with-libxml --with-gssapi --prefix=/home/gpadmin/gpdb
make -j4 && make -j4 install
|
使greenplum环境变量生效
1
2
|
echo source /home/gpadmin/gpdb/greenplum_path.sh >> ~/.bashrc
source ~/.bashrc
|
创建测试数据库
1
2
3
4
|
export MASTER_DATADIR=~/data # 脚本demo_cluster.sh中用到
make create-demo-cluster
echo source /home/gpadmin/gpdb_src/gpAux/gpdemo/gpdemo-env.sh >> ~/.bashrc
source ~/.bashrc
|
修改数据库用户名密码
1
|
ALTER USER gpadmin PASSWORD 'gpadmin';
|
修改master数据目录的配置文件pg_hba.conf,在最后添加以下内容
1
|
host all all 192.168.0.0/16 md5
|
修改master数据目录的配置文件postgresql.conf,找到listen_addresses,去掉前面的#,让gpdb重新加载配置文件
至此,gpdb测试数据库可以接受内网的访问。