基于centos开发的server系统单机部署gp(rpm)

2023-11-08

1.下载安装包(rpm、deb或源码)

打开greenplum官网https://github.com/greenplum-db/gpdb/releases,下载安装包

4943f9289fb345dd9b007f3b321254c9.jpeg

 

Greenplum Database : Greenplum Database ,可找到gp5、gp6的源码包等安装包。

9383823abe2040d98685d84ff2560004.jpeg

38592a8b7d39401a9b2b15ab7616a72f.jpeg

 

2.安装依赖包和配置环境变量

配置网络源(根据系统版本及型号匹配阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区https://developer.aliyun.com/mirror/

wget –O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

yum makecache

yum install -y epel-release         

#配置epel源

yum install -y  apr-devel bison bzip2-devel cmake3 flex gcc gcc-c++ krb5-devel libcurl-devel libevent-devel libkadm5 libzstd-devel openssl-devel perl-ExtUtils-Embed readline-devel zlib-devel libnsl perl libxml2-devel  

#安装依赖包

xerces-c-devel 和libyaml-devel

#这两个依赖包源里没有,我这里处理方式是到Packages for Linux and Unix - pkgs.org找到对应的安装包上传安装(xerces-c-devel和xerces-c两个安装包)

vim /etc/sysctl.conf

#优化TCP、内核(这里需要注意的是根据自己实际情况来优化,如果不是生产环境,而是虚拟机可按下面配置或者不进行优化,我这里只优化了网络,没有优化内核)

688a00e2acfa4adebe78093adcf9928c.png

kernel.shmmax = 500000000 

#配置了最大的内存segment的大小 ------>这个设置的比SGA_MAX_SIZE大比较好。 (以字节为单位byte-k-m-g) ,物理内存的1/2}

kernel.shmmni = 4096

#最小的内存segment的大小

kernel.shmall = 2000000000

#全部允许使用的共享内存大小

kernel.sem = 250 512000 100 2048

#表示设置的信号量。包含四个值:semmsl、semmns、semopm、semmni

#semmsl:每个信号灯集合中最多的信号灯数目。最小250;对于processes参数设置较大的系统建议设置为processes+10。

#semmns:信号灯的最大数量,跟ORACLE的PROCESS数有关。SEMMSL * SEMMNI

#semopm:系统调用允许的信号量最大个数。至少100;或者等于SEMMSL

#semmni:系统信号量set最大个数。最少128

kernel.sysrq = 1

#使用组合键【Alt+PrintScreen+[CommandKey]】查看系统情况。除非是要调试,解决问题,一般情况下,不要打开此功能。如果一定要打开,请确保您的终端访问的安全性

kernel.core_uses_pid = 1

#控制core文件的文件名是否添加pid作为扩展

kernel.msgmnb = 65536

#该文件指定一个消息队列的最大长度(bytes),缺省设置:16384

kernel.msgmax = 65536

#该文件指定了从一个进程发送到另一个进程的消息的最大长度(bytes)。缺省设置:8192

kernel.msgmni = 2048

#该文件指定消息队列标识的最大数目,即系统范围内最大多少个消息队列。缺省设置:16

net.ipv4.tcp_syncookies = 1

#开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies来处理

net.ipv4.ip_forward = 0

#开启包过滤功能

net.ipv4.conf.default.accept_source_route = 0

#禁用所有ip源路由

net.ipv4.tcp_tw_recycle = 1

#表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

net.ipv4.tcp_max_syn_backlog = 4096

#指定所能接受SYN同步包的最大客户端数量。对于有128M内存的系统而言,缺省值是1024,小内存的系统则是128

net.ipv4.conf.all.arp_filter = 1

#启用源路由核查功能

net.ipv4.ip_local_port_range = 1025 65535

#表示用于向外连接的本地端口范围

net.core.netdev_max_backlog = 10000

#表示当每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许发送到队列的数据包最大数。该参数对应系统路径为/proc/sys/net/core/netdev_max_backlog,默认值为1000

net.core.rmem_max = 2097152

net.core.wmem_max = 2097152

vm.overcommit_memory = 2

# 0,:表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

#1:表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

#2: 表示内核允许分配超过所有物理内存和交换空间总和的内存。

vm.max_map_count = 262144

vim /etc/security/limits.conf                     

#编辑用户资源限制文件

* soft nofile 65536

* hard nofile 65536

* soft nproc 131072

* hard nproc 131072

 

3.创建用户、组等其他操作

groupadd gpadmin                   

#创建gpadmin用户组

useradd –m –d /home/gpadmin –s /bin/bash –g gpadmin gpadmin   

#创建用户指定家目录、运行的shell、用户组

echo “gpadmin ALL=(ALL) NOPASSWD:ALL” >>/etc/sudoers 

#将gpadmin用户赋予sudo权限

  16e1925c668d4e79a72a9fc490056e95.jpeg

 4.安装gp数据库等操作

切换gpadmin用户,上传gp安装包

sudo rpm -ivh open-source-greenplum-db-6.20.0-rhel7-x86_64.rpm

sudo find / -name greenplum -type d

sudo chown -R gpadmin:gpadmin /usr/local/greenplum-db/

#将安装好的文件所有组所有组划分给gpadmin用户

104766914d51490493d792f34d52c4c1.jpeg

cd /usr/local/greenplum-db/

source greenplum_path.sh

#应用环境变量

mkdir master data

#这两个文件夹是用来初始化数据库存放的文件的,所以最好找一个数据盘创建文件夹,我这里空间大默认放到其目录下

echo "gp_test" >> hostlist_singlenode                                //gp_test指hostname

cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_singlenode .

70d996d005994573ae09a83787b55501.jpeg

 vim gpinitsystem_singlenode

        MACHINE_LIST_FILE=./hostlist_singlenode

        MASTER_HOSTNAME=gp_test                           

               #gp_test指hostname

        MASTER_DIRECTORY=/usr/local/greenplum/master

        declare -a DATA_DIRECTORY=(/usr/local/greenplum/data )

#这里的master和data路径不固定,根据自己创建的文件夹的位置填写          

./bin/gpinitsystem -c gpinitsystem_singlenode

#初始化数据库,初始化完成默认启动数据库然后修改默认密码等其他操作

6f0cbf6621b9493da93db2040143bc86.png

 

 初始化gp数据库系统

 gpinitsystem –a

 #不提示用户进行确认

 gpinitsystem -c gpinitsystem_config (必选项)

 #gp配置文件的完整路径和文件名称,其中包括所有已经定义的参数,用于配置和初始化新的Greenplum数据库系统
 

gpinitsystem -h hostfile_gpinitsyste

#包含Segment主机地址的文件的完整路径和文件名。如果未在命令行中指定,则可以使用gpinitsystem_config文件中的MACHINE_LIST_FILE参数指定主机文件

 启动数据库:

./bin/gpstart –a    

#快速启动gp

./bin/gpstart -d $MASTER_DATA_DIRECTORY             

#启动gp并指定数据目录(目录默认是在master)

停止数据库:

gpstop -a

# 快速停止

gpstop -d

# 指定数据目录(默认值:$MASTER_DATA_DIRECTORY)

gpstop -r

# 停止所有实例,然后重启系统

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于centos开发的server系统单机部署gp(rpm) 的相关文章

  • 【ES6】解构语句中的冒号(:)

    在解构赋值语法中 冒号 的作用是为提取的字段指定一个新的变量名 让我们以示例 const billCode code version route query 来说明 billCode code version 表示从 route query
  • 每日变更的最佳实践

    在优维公司内部 我们采用发布单的方式进行每天的应用变更管理 这里给各位介绍优维的最佳实践 变更是需要多角色合作的 而且他是整体研发流程的一部分 在优维内部 我们坚持每日变更 打通开发环节到最终发布上线的全过程 在保证质量的前提下 尽可能提升
  • SAP ERP系统是什么?SAP好用吗?

    A公司是一家传统制造企业 公司曾先后使用过数个管理软件系统 但各部门使用的软件都是单独功能 导致企业日常管理中数据流与信息流相对独立 形成了 信息孤岛 随着公司近年业务规模的快速发展以及客户数量的迅速增加 企业原有的信息系统在销售预测及生产
  • Python 使用 NoSQL 数据库的优选方案

    NoSQL 数据库因其高性能 可扩展性和灵活性而风靡一时 然而 对于 Python 程序员而言 选择合适的 NoSQL 数据库可能会令人困惑 因为有多种选择可供选择 那么 哪种 NoSQL 数据库最适合 Python 呢 2 解决方案 根据
  • gcc 找不到 cc1plus

    我正在尝试在 CentOS 6 上安装 python 包 pandas 但我遇到了 gcc 编译器问题 sudo pip install pandas creating build temp linux x86 64 2 7 pandas
  • 脚本通过 CentOS 安装 mysql-server,无需密码提示

    我的操作系统是 CentOS 6 6 我想知道如何通过 shell 脚本自动安装 mysql server 我发现有一个主题讨论了同样的问题 但在 CentOS 6 上失败了 ubuntu安装mysql无密码提示 https stackov
  • nfsnobody 用户权限

    我已经在两台 CentOS 6 64 机器之间设置了 NFS 文件共享 在服务器上 共享的文件夹最初由 root 用户拥有 在客户端上 它显示为 nfsnobody 所有 当我尝试从客户端写入该文件夹时 出现权限错误 因此 我将服务器上的文
  • 如何解决ssh:/usr/lib64/libcrypto.so.10:没有可用的版本信息[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试执行 ssh 并收到以下消息 ssh ssh usr lib64 libcrypto so 10 no version info
  • Haproxy 性能调整?

    我们正在尝试为来自客户端 而不是浏览网络交易类型的用户 的 get 和 post 请求找到 haproxy 的最佳调整选项 使用 30k 线程运行 jmeter 测试 其中包括 5 个对服务器的调用 1 个用户注册和一些更新调用 这些通过管
  • Centos 上的 MSBuild 返回“未找到导入的项目“/Microsoft.Cpp.Default.props””

    我正在尝试在 CentOS 中构建 VS 项目 我通过安装 dotnet sdk 2 2yum install dotnet sdk 2 2 执行时dotnet msbuild myproj vcxproj I get Microsoft
  • 在 CentOs 上使用 CURL 和 TOR 作为代理

    我想使用 Tor 作为 HTTP 请求的代理curl or wget on a CentOS机器 我使用了这个 How to 并在 stackexchange 和 stackoverflow 上寻找了一些答案 https medium co
  • 如何正确处理分块编码请求?

    我有两个网站 一个使用 PHP 的 Lighttpd 第二个使用 Apache 这两个网站都不能正确处理分块传输编码 我从我的手机 J2ME 发送此请求 并且无法将此传输类型更改为任何其他类型 所以我唯一的方法是以其他方式处理分块传输编码请
  • Docker CentOS 映像不会自动启动 httpd

    我正在尝试使用 Apache 和 PHP 程序运行一个简单的 Docker 映像 如果我跑的话效果很好 docker run t i p 80 80 my httpd bin bash 然后手动启动Apache service httpd
  • 在centos中设置Docker_Opts

    我需要设置 docker 在运行 amazon linux centos 的主机上侦听 tcp 0 0 0 0 4243 我看到的所有文档都告诉我运行以下命令 echo DOCKER OPTS H tcp 127 0 0 1 4243 gt
  • 如何找出apache上次重启的时间? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一个 VPSkloxo控制面板已安装 我在用CentOS 5 8 32 bit 我今天重新启动了 Apache 但忘记了启动时间 知道确切的时间非
  • MariaDB 10 CentOS 7 移动数据目录的问题

    CentOS 7 和 MariaDB 10 的全新 最小 安装 我有一个额外安装的镜像卷 我想将其用于数据目录 当 my cnf mysqld 被注释掉时 启动顺序正常并正常完成 我已经复制了数据 sudo cp R p var lib m
  • 如何将php cURL升级到7.36.0版本?

    我的 CentOS 服务器上有 php curl 7 19 7 但我需要升级到 7 36 0 I tried yum update php curl 但我得到了 Loaded plugins downloadonly fastestmirr
  • 在 CentOS 6.4 中意外删除了符号链接 libc.so.6。如何获得 sudo 权限来重新创建它?

    我不小心删除了符号链接 lib64 libc so 6 gt lib64 libc 2 12 so sudo rm libc so 6 然后我不能使用任何东西 包括ls命令 我输入的任何命令都会出现错误 ls error while loa
  • EC2 增加大小后无法调整卷大小

    我已按照调整 EC2 卷大小的步骤进行操作 停止实例 拍摄当前卷的快照 在同一区域中从上一个快照创建了一个更大大小的新卷 从实例中分离旧卷 将新卷附加到同一安装点的实例 旧卷是 5GB 我创建的卷是 100GB 现在 当我重新启动实例并运行
  • Bash:更新文件中的变量

    我知道这是一个简单的答案 在找到答案之前我可能可以继续在谷歌上进行挖掘 但我的日程很紧 我希望能得到一个轻松的答复 我需要在安装时更新 ifcfg eth0 中的变量 换句话说 这就是需要发生的事情 以下变量需要更改 ONBOOT no B

随机推荐

  • python运行报错:‘NoneType‘ object is not callable

    NoneType object is not callable 空类型对象不可调用 调用了装饰器函数 但是装饰器函数没有返回值 导致使用的函数报错 参照代码的注释 timmer 引用装饰器等于test1 timmer func 所以timm
  • 字节跳动开源 Kelemetry:面向 Kubernetes 控制面的全局追踪系统

    动手点关注 干货不迷路 Kelemetry是字节跳动开发的用于Kubernetes控制平面的追踪系统 它从全局视角串联起多个 Kubernetes 组件的行为 追踪单个 Kubernetes 对象的完整生命周期以及不同对象之间的相互影响 通
  • MongoDB 获取数组中匹配到的第一个元素对象

    例如当前test库中的grade集合中有两条文档数据 如下图所示 相关的两个实体映射类如下 import lombok Data import org springframework data annotation Id import or
  • 政企数智办公潮水里的融云「答卷」

    在这张集合了党政机关 金融保险 交通 能源电力等中大型组织复杂办公需求的高难度答卷上 融云在扎实耐打的通信底层之上 保持灵活的身段和强大的进化能力 稳定而轻盈 在不断变化的环境中正在成为确定性本身 作者 皮爷 出品 产业家 如果说过去两年里
  • 报sslSocketFactory(SSLSocketFactory) not supported on JDK 9+

    使用OkHttpClient的时候 jdk版本1 8 0 151启动不会报错 但jdk版本1 8 0 202启动就会报错 应该是OkHttpClient jdk小版本号高了不行 修改代码如下 public class SSLSocketCl
  • 20.docker之DockerCompose基础进阶

    1 docker compose命令模板 docker compose yml 作用 compose以项目为核心 在项目中定义一组具有相同业务逻辑单元服务运行 注意 在编写docker compose yml文件时 所有的冒号 短横线 后面
  • Spring框架入门基础1:IOC---控制权反转

    Spring框架的优点 方便解耦 简化开发 Spring就是一个大工厂 可以将所有对象创建和依赖关系维护 交给Spring管理 这也是IOC的作用 IOC IOC就是控制反转 将创建对象的过程交给spring进行管理 可以用来减低计算机代码
  • linux命令练习-实验一

    实验序号 一 实验项目 熟悉常用的Linux操作 实验成绩 一 实验目的 为后续上机实验做准备 熟悉常用的Linux操作 1 了解安装Linux的方法 2 熟悉常用的Linux操作 二 实验内容 一 安装Linux Ubuntu 14 以上
  • [12]STM32-NVCI中断优先级管理

    前言 这一篇博客主要讲解NVCI中断优先级分组 优先级设置 因为还没有我还没学到做中断实验 所以有些地方我自己理解得也不是很透彻 这是看了原子哥的视频用自己的话来梳理一下思路 基础知识 STM32 有 84 个中断 包括 16 个内核中断和
  • 网络编程——基础知识

    全文目录 网络发展 协议 OSI七层模型 TCP IP五层 或四层 模型 网络传输 网络地址 IP地址 MAC地址 网络通信的本质 网络发展 网络没有出来之前计算机都是相互独立的 网络就是将独立的计算机连接在一起 局域网和广域网的区别只是范
  • 大数除法(模拟除)

    所谓大数除法就是很大的数 用unsigned long long 都存不下的数 的有关除法的运算 但是以下方法只适合求取高精度对低精度的大数除法可用 也就是说对被除数有限制 一般来说是在int 型的范围内的 include
  • 数据结构第三章栈和队列(一)

    数据结构 第三章栈和队列 include
  • 点云库PCL学习笔记 -- 输入输出IO -- 6.PCL中记录时间长度TicToc 类和系统Time 类

    点云库PCL学习笔记 输入输出IO 6 PCL中记录时间长度TicToc 类和系统Time 类 PCL库中用于记录时间长度的方法 第一种 TicToc 类的方法 添加头文件 include
  • pytorch(仅供自己参考勿看)

    一 安装Anaconda 下载pytorch前最好先安装Anaconda 可以按照以下方法下载 https blog csdn net weixin 50888378 article details 109022585 二 安装pytorc
  • 如何提高for循环的效率--兆易创新一面

    1 实例化变量放在循环外 include
  • 使用Lubuntu开发Android应用

    之前下了个ubuntu来编译Android源码并且开发App 后来发现桌面环境不太好用 而且32位Linux不能顺利编译Android源码 最近有空便重新下载Lubuntu 64位并配置好所有配置 其间颇多不顺 特记录下来 通过下面的步骤连
  • 8.1数据结构作业

    include
  • vue后台管理系统之日志管理模块

    前端的后台的日志管理模块功能的实现 使用的是elementUI框架 这是日志管理模块实现的效果图 div class log header div div div
  • error C2220: warning treated as error - no object file generated的处理方法

    很久以前在win2k DDK写的一个驱动 居然在2003ddk下编译不过去 真是奇怪 环境变量改为win2k 也不行 先是error C2220 warning treated as error no object file generat
  • 基于centos开发的server系统单机部署gp(rpm)

    1 下载安装包 rpm deb或源码 打开greenplum官网https github com greenplum db gpdb releases 下载安装包 或Greenplum Database Greenplum Database