一,vertica
使用方法:
# To run without a persistent datastore
docker run -p 5433:5433 sumitchawla/vertica
#To run with a persistent datastore
docker run -p 5433:5433 -d -v /path/to/vertica_data:/home/dbadmin/docker sumitchawla/vertica
连接参数
Default DB Name - docker
Default User - dbadmin
Default Password (NO PASSWORD) -
######
vertca 镜像
https://github.com/bluelabsio/docker-vertica 需要下载rpm
下载vertica 客户端
https://www.vertica.com/download/vertica/
https://softwaresupport.softwaregrp.com/ 下载页面
二,greenplum
https://github.com/greenplum-db/gpdb/releases 下载页面(开源下载,官网需登录)
https://hub.docker.com/r/kevinmtrowbridge/greenplumdb_singlenode (镜像直接用)
https://github.com/kevinmtrowbridge/greenplumdb_singlenode_docker
https://github.com/kevinmtrowbridge/greenplumdb_singlenode_docker/blob/master/Dockerfile
单机版安装
https://www.jianshu.com/p/513935550350
greenplum 源码安装
https://yq.aliyun.com/articles/609855#
单机安装的记录:z重要
容器内操作
root
vi /etc/sysctl.conf
3 vi /etc/security/limits.conf
4 sysctl -p
5 yum install wget
6 wget https://github.com/greenplum-db/gpdb/releases/download/6.0.0/greenplum-db-6.0.0-rhel7-x86_64.rpm
7 yum localinstall greenplum-db-6.0.0-rhel7-x86_64.rpm
8 ip a s
9 find / -name "*greenplum*"
10 vi /etc/hosts
11 groupadd gpadmin
12 useradd -g gpadmin gpadmin
13 passwd gpadmin
14 chown -R gpadmin.gpadmin /usr/local/greenplum-db
15 cd /usr/local/greenplum-db
16 ll
17 cd
18 su - gpadmin
19 vi /etc/sysconfig/network
20 su - gpadmin
21 \cp -R -f /usr/lib64/python2.7/site-packages/. /usr/local/greenplum-db/lib/python//
22 echo "RemoveIPC=no" >> /etc/systemd/logind.conf
23 su - gpadmin
24 ss -tanl
25 yum install -y net-tools which openssh-clients openssh-server less zip unzip iproute
26 /usr/sbin/sshd
27 ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
28 ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
29 ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
30 /usr/sbin/sshd
31 ss -tanl
32 su - gpadmin
33 ss -tanl
34 history
gpaadmin操作
mkdir -p /home/gpadmin/masterdata
2 mkdir -p /home/gpadmin/segmentdata
3 mkdir -p /home/gpadmin/segmentmirror
4 vi /home/gpadmin/all_hosts
5 vi /home/gpadmin/seg_hosts
6 cd /home/gpadmin/
7 vi .bashrc
8 ll
9 vi /home/gpadmin/gpinitsystem_config
10 cat .bashrc
11 . .bashrc
12 gpssh-exkeys -f /home/gpadmin/all_hosts
13 gpinitsystem -c /home/gpadmin/gpinitsystem_config
14 ss -tanl
15 history
docker run -d -p 5432:5432 --rm -h "mdw" greenplum-v2
使用容器生成greenplum后的操作
vi /etc/hosts
172.17.0.2 mdw sdw
启动sshd /usr/sbin/sshd
su - gpadmin
. .bashrc
gpstart
使用小例子
su - gpadmin
psql -d gpmaster
psql: FATAL: database "gpmaster" does not exist
创建数据库:
createdb gpadmin -E utf-8
登录psql -d gpadmin
开放远程权限
cd $MASTER_DATA_DIRECTORY/ masterdata目录(gpseg-1内)
vi pg_hba.conf
host testDB gpadmin 192.168.96.1/32 md5
通过gpstop -u命令使配置生效
通过其他机器登录数据库
$ psql -h192.168.96.128 -p5432 -d testDB -Ugpadmin
单机安装(容器安装的重要节点时刻)
系统:centos7 greenplum版本:greenplum-db-6.0.0-rhel7-x86_64.rpm
使用root用户操作:
一,前期准备
关闭防火墙
systemctl disable firewalld.service
systemctl enable firewalld.service
关闭selinux
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
配置网络与内存参数
vim /etc/sysctl.conf
加入以下内容
net.ipv4.ip_forward = 0
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 1
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.sem = 250 64000 100 512
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.core.netdev_max_backlog = 10000
vm.overcommit_memory = 2
net.ipv4.conf.all.arp_filter = 1
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
参数生效
sysctl -p
确定sshd 启动正常 ss -tanl 看端口
二,安装greenplum
安装依赖包(可能还有,使用yum -y localinstall xxxx.rpm 自动解决依赖问题)
yum install -y net-tools which openssh-clients openssh-server less zip unzip iproute rsync openssl openssh perl bzip2 apr apr-util ed libevent-devel libyaml
rpm -ivh greenplum-db-6.0.0-rhel7-x86_64.rpm 缺少依赖装之
默认安装在 /usr/local/greenplum-db/
三,配置单机模式
使用root 操作
1,配置hosts解析
vim /etc/hosts
10.1.5.10 mdw sdw
注:10.1.5.10是虚拟机的ip地址,使用127.0.0.1 不成功
2,创建用户
groupadd gpadmin
useradd -g gpadmin gpadmin
passwd gpadmin 设置简单的密码
3,改变greenplum安装目录的用户和用户组
chown -R gpadmin.gpadmin /usr/local/greenplum-db/
4,切换到gpadmin账户下,在家目录下建立master和segment的数据存放目录。你也可以自行设定数据存放目录,如果你不是以gpadmin建立的目录,还需要修改目录的用户和用户组,最好是建在家目录下
su - gpadmin
mkdir -p /home/gpadmin/masterdata
mkdir -p /home/gpadmin/segmentdata
mkdir -p /home/gpadmin/segmentmirror
以下是su - gpadmin 后的操作
5,创建包含所有主机的文件all_hosts
vim /home/gpadmin/all_hosts
mdw
sdw
6,建包含segment主机名的文件
vim /home/gpadmin/seg_hosts
sdw
7,更改主机的名称
这里使用root 修改(以下都执行)
hostnamectl set-hostname "mdw"
hostname mdw
vim /etc/sysconfig/network
mdw
退出服务器重新登录
8,将MASTER_DATA_DIRECTORY加入Master主机环境中,修改gpadmin用户的.bashrc
这里使用gpadmin 用户登录后操作
cd /home/gpadmin
vim .bashrc
export MASTER_DATA_DIRECTORY=/home/gpadmin/masterdata/gpseg-1 #(配置的masterdata路径)
source /usr/local/greenplum-db/greenplum_path.sh #安装的greenplum路径
忘记在哪里可以搜索
9,时间同步
因为master和segment是在同一台机器,所以不需要做时间同步,如果不在同一台机器,需要做时间同步
10,python模块转移,防止提示失败
\cp -R -f /usr/lib64/python2.7/site-packages/. /data/program/gpsql/lib/python/
11,centos 7执行(原因未知)
echo "RemoveIPC=no" >> /etc/systemd/logind.conf
systemctl restart systemd-logind.service
12,编辑gp初始化配置文件,
vim /home/gpadmin/gpinitsystem_config
添加以下内容
ARRAY_NAME="EMC Greenplum DW"
SEG_PREFIX=gpseg
PORT_BASE=33000
declare -a DATA_DIRECTORY=(/home/gpadmin/segmentdata)
MASTER_HOSTNAME=mdw
MASTER_DIRECTORY=/home/gpadmin/masterdata
MASTER_PORT=5432
MACHINE_LIST_FILE=/home/gpadmin/seg_hosts
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
MIRROR_PORT_BASE=43000
REPLICATION_PORT_BASE=34000
MIRROR_REPLICATION_PORT_BASE=44000
declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/segmentmirror)
有多个segment,declare就多加几个路径 参考其他资料
13,建立信任关系,主要为了免密码登录的麻烦,若果提示命令不存在,先source一下.bashrc
gpssh-exkeys -f /home/gpadmin/all_hosts
如果tab 键无法搞出该命令,可能环境变量未生效
14,初始化数据库
gpinitsystem -c /home/gpadmin/gpinitsystem_config
15,等待log出现,中间需要按y
完成后可以gpstop
再执行 gpstart 报成功后完成
集群模式(未做)
:参考他的做吧
如果在容器内操作,需要注意的是容器内无sshd服务,所以安装完openssh-server后使用/usr/sbin/sshd 后启动sshd服务,
使用ss -tanl 查看端口信息
容器安装参考了这个网址:
http://gitop.cc/posts/install-greenplum-in-docker/
由于容器内主机名随机,需要起容器时指定,然后再进入容器内部操作添加主机名,起动sshd,启动greenplum ,比较麻烦。