TUNIVERSE

Greenplum & PostgreSQL安装记录

字数统计: 627阅读时长: 2 min
2023/06/29

一篇postgresql和greenplum安装记录

系统版本:Ubuntu 18.04

PostgreSQL

下载和安装

1
2
3
4
5
6
# download and installation
# tutorial from official web
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresql

本次安装的最新版本是客户端15,服务端12,下图为路径 etc/postgresql/ 下的内容

contents

启动服务

1
2
3
4
#设置PostgreSQL服务为开机启动
sudo systemctl enable postgresql-15
#启动PostgreSQL服务
sudo systemctl start postgresql-15

修改postgres账号密码

  • 默认用户名叫做postgres

    1
    2
    3
    su postgres
    psql
    ALTER USER postgres WITH PASSWORD 'xxxxxxx';

修改配置文件

  • 修改监听地址(在服务端对应的文件夹下修改)

    1
    2
    3
    4
    vim /etc/postgresql/12/data/postgresql.conf

    # 找到对应的行
    listen_addresses='*'
  • 允许所有的IP访问

    1
    2
    3
    4
    vim /etc/postgresql/12/data/pg_hba.conf

    # 在文件尾部追加一行
    host all all 0.0.0.0/0 md5
  • 重启服务

    1
    sudo systemctl start postgresql-15

Greenplum

官网有个教程,大部分都可以,但是有些小问题

创建用户gpadmin

已有非超级用户跳过本步骤创建用户

1
2
3
4
# 创建用户
sudo useradd gpadmin
# 在接下来出现的命令行提示里输入密码和基本信息
# 我的密码 => 没有首字母大写也没有*

adduser

1
2
sudo visudo
# 在文件末尾添加 gpadmin ALL=(ALL) ALL,注意不要使用鼠标滚动
1
2
# 登录到gpadmin用户
su - gpadmin

login

免密登录服务器

查看本地的公钥文件,将其粘贴到服务器的 ~/.ssh/authorized_keys文件中 cloudlab不让直接编辑authorized_keys文件了,先把本地公钥用vim编辑到某个服务器文件(比如 ~/tt.pub)里,然后用echo命令追加,保存退出后 然后输入以下命令

1
2
echo "$(cat tt.pub)" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

安装

1
2
3
4
5
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:greenplum/db
sudo apt update
sudo apt install greenplum-db-6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
cd /opt
ls
> greenplum-db-6.24.2

source /opt/greenplum-db-6.24.2/greenplum_path.sh
which gpssh
> /opt/greenplum-db-6.24.2/bin/gpssh
cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_singlenode .

ls
> gpinitsystem_singlenode

# 获取当前的hostname
hostname
> node0.tung.risb-pg0.utah.cloudlab.us
# 新建文件
touch hostlist_singlenode
ls
> gpinitsystem_singlenode hostlist_singlenode
# 将hostname写入hostlist_singlenode
sudo vim hostlist_singlenode

# 创建文件夹
cd /mydata
sudo mkdir greenplum
cd ./greenplum/
sudo mkdir primary
sudo mkdir master
sudo chmod 777 -R ./master
sudo chmod 777 -R ./primary

# 编辑, 更改hostname、data_dictionary、master_hostname、master_dictionary
cd /opt
sudo vim gpinitsystem_singlenode
# MASTER_HOSTNAME=node0.tung.risb-pg0.utah.cloudlab.us
# MASTER_DIRECTORY=/mydata/greenplum/master
# declare -a DATA_DIRECTORY=(/mydata/greenplum/primary /mydata/greenplum/primary)
1
2
3
4
5
# 如果失败就重新source一遍
gpssh-exkeys -f hostlist_singlenode
# 初始化
sudo chmod 777 -R /opt
gpinitsystem -c gpinitsystem_singlenode

测试

1
2
createdb demo
psql demo
CATALOG
  1. 1. PostgreSQL
    1. 1.1. 下载和安装
    2. 1.2. 启动服务
    3. 1.3. 修改postgres账号密码
    4. 1.4. 修改配置文件
  2. 2. Greenplum
    1. 2.1. 创建用户gpadmin
    2. 2.2. 免密登录服务器
    3. 2.3. 安装
    4. 2.4. 测试