TUNIVERSE

Greenplum & PostgreSQL安装记录

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

一篇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
  2. 2. Greenplum
    1. 2.1. 创建用户gpadmin
    2. 2.2. 免密登录服务器
    3. 2.3. 安装
    4. 2.4. 测试