Greenplum 三节点安装教程(非root用户)

简介: Greenplum 三节点安装教程(非root用户)

Greenplum 三节点安装教程(非root用户)

  1. 环境准备
    安装vmware,装三台centos

虚拟机设置:
主机名 IP 内存 硬盘
node1 Xxx1 2G 80G
node2 Xxx2 2G 80G
node3 Xxx3 2G 80G

  1. CSDN下载greenplum安装文件: greenplum-db-4.3.8.2-build-1-RHEL5-x86_64
  2. 安装
    首先关闭防火墙:service iptables stop 关闭

                    Chkconfig iptables off 关闭开机启动

    三机器修改hosts

Xxx1 node1
Xxx2 node2
Xxx3 node3

修改或添加/etc/sysctl.conf(三台机器)
xfs_mount_options = rw,noatime,inode64,allocsize=16m
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
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.ip_forward = 0
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 = 1025 65535
net.core.netdev_max_backlog = 10000
vm.overcommit_memory = 2

配置/etc/security/limits.conf,添加以下内容,三台机器都要

  • soft nofile 65536
  • hard nofile 65536
  • soft nproc 131072
  • hard nproc 131072

三台机器设置预读块的值为16384

/sbin/blockdev --getra /dev/sda 查看预读块,默认大小为256

/sbin/blockdev --setra 16384 /dev/sda 设置预读块

三台机器设置磁盘访问I/O调度策略

echo deadline > /sys/block/sda/queue/scheduler

在主节点安装安装包
./ greenplum-db-4.3.8.2-build-1-RHEL5-x86_64.bin
安装过程中遇到默认的直接回车,遇到yes|no输入yes,安装完之后或有一个greenplum的文件夹和一个指向geenplumn的greenplum-db的链接。

主节点获取环境参数(三台机器,可将其配置到.bashrc文件中)

source /your_install_path/greenplum-db/greenplum_path.sh

需要注意的是:这个.sh文件会修改pythonhome,会影响系统自带的python环境,以及依赖系统python的一切应用

在/your_install_path/grennplum文件夹下创建文件all_hosts,(三台机器),内容如下:
Node1
Node2
Node3

在主节点运行gpseginstall工具,来安装从节点segment

gpseginstall -f all_hosts -u U_username -p U_password

其中all_hosts是刚刚创建的文件,安装过程中会让你输入三台机器的密码,输入即可。

在你的安装用户下(非root用户)验证无密码登录(三台机器)
使用gpssh工具来测试无密码登录所有的主机
gpssh -f all_hosts -e ls -l $GPHOME

创建存储区域(主节点)

  1. 创建master数据存储区域
  2. -p /data/master
  3. your_install_path下创建一个包含所有segment主机名的文件seg_hosts,内容如下:
    node2

node3

  1. 使用gpssh工具在所有的degment的主机上创建主数据和镜像数据目录,如果没有设置镜像数据可以不设置mirror目录:
    Gpssh -f seg_hosts -e ‘mkdir -p your_install_path/data/primary’

Gpssh -f seg_hosts -e ‘mkdir -p your_install_path/data/mirror

同步三台机器的系统时间
  1. 在主节点上编辑/etc/ntp.conf来设置一下内容:
  2. 127.127.1.0
  3. 在segment主机上编辑/etc/ntp.conf
    Server node1
  4. 在主节点上的your_install_path下通过NTP守护进程同步系统时钟
  5. -f all_hosts -v -e 'ntpd'
验证操作系统设置
gpcheck -f all_hosts -m mdw
运行结果是否有error信息,如果有的话,处理掉错误信息后重新执行上面的命令直到没有错误为止。
需要注意的是:本例不是使用root用户安装的,他会一直报错说不是root用户安装,这里需要更改gpcheck这个python文件,找到验证用户是否是root的地方,将root改为你自己的安装用户即可。

创建greenplun数据库配置文件
  1. 使用安装用户登录
  2. 从模板中拷贝一份gpinitsystem_config文件
    Cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpinitsystem_config
  3. 修改gpinitsystem_config文件
  4. 设置所有必须参数
    ARRAY_NAME="EMC Greenplum DW"

SEG_PREFIX=gpseg
PORT_BASE=40000
declare -a DATA_DIRECTORY=(your_install_path/data/primary)
MASTER_HOSTNAME=node1
MASTER_DIRECTORY=your_install_path/data/master
MASTER_PORT=5432
TRUSTED SHELL=ssh
CHECK_POINT_SEGMENT=8
ENCODING=UNICODE

  1. 设置可选参数
    MIRROR_PORT_BASE=50000

REPLICATION_PORT_BASE=41000
MIRROR_REPLICATION_PORT_BASE=51000
declare -a MIRROR_DATA_DIRECTORY=(/ your_install_path data/mirror)


运行初始化工具初始化数据库
gpinitsystem -c gpinitsystem_config -h seg_hosts 成功之后数据库就启动了

三节点设置环境变量,export MASTER_DATA_DIRECTORY=/data/master/gpseg-1

启动和停止数据库测试是否能够正常启动和关闭
Gpstart
Gpstop

访问数据库
  1. 客户端访问
    Psql -d postgres
  2. 程序远程访问
    修改pg_hba.conf文件,加入如下内容:

Hosts all all ip/32 trust
Hosts all all 127.0.0.1/32 trust
然后执行GPStop -u

相关文章
|
SQL 消息中间件 分布式计算
Flink 面试指南 | 终于要跟大家见面了,我有点紧张。(附思维导图)
面试,一个令人大多数同学头疼的问题,要么成功进入心仪公司,要么沮丧与其失之交臂。但是,如果能在面试前就能知道面试官将会问的问题,然后可以好好提前准备,这种感觉是不是特别棒?
Flink 面试指南 | 终于要跟大家见面了,我有点紧张。(附思维导图)
element-plus:Dialog 对话框在有滚动条的页面会抖动
element-plus:Dialog 对话框在有滚动条的页面会抖动
1239 0
element-plus:Dialog 对话框在有滚动条的页面会抖动
|
机器学习/深度学习 存储 算法
强化学习:蒙特卡罗求解最优状态价值函数——手把手教你入门强化学习(五)
本文介绍了强化学习中的蒙特卡罗算法,包括其基本概念、两种估值方法(首次访问蒙特卡罗与每次访问蒙特卡罗)及增量平均优化方式。蒙特卡罗法是一种基于完整回合采样的无模型学习方法,通过统计经验回报的平均值估计状态或动作价值函数。文章详细讲解了算法流程,并指出其初期方差较大、估值不稳定等缺点。最后对比动态规划,说明了蒙特卡罗法在强化学习中的应用价值。适合初学者理解蒙特卡罗算法的核心思想与实现步骤。
947 4
|
Python
使用Python实现multipart/form-data文件接收的http服务器
至此,使用Python实现一个可以接收 'multipart/form-data' 文件的HTTP服务器的步骤就讲解完毕了。希望通过我的讲解,你可以更好地理解其中的逻辑,另外,你也可以尝试在实际项目中运用这方面的知识。
659 69
|
应用服务中间件 定位技术 网络安全
理解住宅IP和运营商IP的不同应用场景
随着数字化时代的发展,网络安全与隐私保护成为核心需求,代理IP因其技术优势受到关注。本文介绍了住宅IP与运营商IP的区别,包括定义、使用场景、安全性、成本及地理位置等方面,帮助用户根据需求选择合适的IP类型。
636 8
AndroidStudio常用设置
AndroidStudio常用设置
369 2
|
前端开发 JavaScript API
Angular 与 RxJS 简直是天作之合!响应式编程最佳搭档,带你开启前端开发新境界!
【8月更文挑战第31天】在现代前端开发中,Angular 作为一款优秀框架,凭借其高性能和可扩展性脱颖而出。结合 RxJS,这一组合成为响应式编程的理想选择。RxJS 不仅优化了 Angular 的异步事件处理与数据流管理,还简化了复杂操作,如用户输入及网络请求,极大提升了代码的可读性和维护效率。通过示例应用展示,Angular 与 RxJS 的集成不仅使代码更清晰,还提供了更多处理异步任务的可能性,是提升开发质量的利器。
285 0
|
计算机视觉 Python 数据可视化
【Python Opencv】Opencv画图形
【Python Opencv】Opencv画图形
543 1
【Python Opencv】Opencv画图形
|
Web App开发 存储 监控
如何使用 Chrome DevTools 进行前端性能监控和调试?
如何使用 Chrome DevTools 进行前端性能监控和调试?
|
网络协议 Unix Linux
Linux命令(34)之lsof
Linux命令(34)之lsof
593 2