greenplum麒麟安装笔记_麒麟系统编译greenplum-程序员宅基地

技术标签: postgresql  

本周尝试在中标麒麟操作系统下安装greenplum。中标麒麟操作系统采用强化的Linux内核,我们首先准备好三台已安装中标麒麟服务版系统的虚拟机。规划他们的IP地址分别为:

Master:10.81.2.20

Segment1:10.81.2.21

Segment2:10.81.2.22

通过查找greenplum的官方网站可知,greenplum支持的操作系统如下:

Red Hat Enterprise Linux 64-bit 7.x (See the following Note.)

Red Hat Enterprise Linux 64-bit 6.x

CentOS 64-bit 7.x

CentOS 64-bit 6.x

Ubuntu 18.04 LTS

Oracle Linux 64-bit 7, using the Red Hat Compatible Kernel (RHCK)

为了验证是否可在麒麟操作系统下安装,我们首先看下麒麟操作系统:

[root@localhost ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 7.2 (Maipo)

[root@localhost ~]# uname -a

Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 26 13:46:27 CST 2015 x86_64 x86_64 x86_64 GNU/Linux

由此可知,麒麟操作系统支持greenplum的安装。

下一步我们需要配置三台主机的静态IP,通过修改/etc/sysconfig/network-scripts/ifcfg-enoXXXX文件,具体修改如下:

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16780032

TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_FAILURE_FATAL=no

NAME=eno16780032

UUID=d1e5a4a9-4a63-4c56-a51d-6cf971293f24

DEVICE=eno16780032

ONBOOT=yes

IPADDR=10.81.2.20

GATEWAY=10.81.2.1

NETMASK=255.255.255.0

DNS1=202.117.80.6

DNS2=202.117.80.7

其中,三台主机的IP分别为:Master:10.81.2.20;Segment1:10.81.2.21;Segment2:10.81.2.22。这样我们还可以通过termius软件远程访问, Termius是一款功能十分强劲且受用户喜爱的跨平台SSH工具,比用虚拟机直接操作更加方便便捷。

在安装greenplum之前我们需要先关闭selinux和防火墙,以后如果要打开防火墙,可以只允许greenplum数据库端口即可。SELinux 全称 Security Enhanced Linux (安全强化 Linux),是Linux内核的安全保镖。防火墙主要是借助硬件和软件的作用于内部和外部网络的环境间产生一种保护的屏障,从而实现对计算机不安全网络因素的阻断。只有在防火墙同意情况下,用户才能够进入计算机内,如果不同意就会被阻挡于外。

关闭或者开启防火墙的命令如下:

systemctl start firewalld.service#启动firewall

systemctl stop firewalld.service#停止firewall

systemctl disable firewalld.service#禁止firewall开机启动

systemctl enable firewalld.service#允许firewall开机启动

关闭selinux的命令如下:

sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

修改完后需要重启系统让命令生效

开启防火墙,并预留gp端口命令如下:

firewall-cmd --zone=public --permanent --add-port=5432/tcp

重载服务命令如下:

firewall-cmd --reload

检测端口是否开启命令如下:

firewall-cmd --query-port=5432/tcp

然后需要在/etc/sysctl.conf文件中加入有关共享内存与网络参数配置的内容,具体命令如下:

vi /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

修改完后,输入“:”,wq保存命令并退出。

然后在/etc/security/limits.conf文件中加入限制参数,修改后内容如下:

cat /etc/security/limits.conf

# /etc/security/limits.conf

#

#This file sets the resource limits for the users logged in via PAM.

#It does not affect resource limits of the system services.

#

#Also note that configuration files in /etc/security/limits.d directory,

#which are read in alphabetical order, override the settings in this

#file in case the domain is the same or more specific.

#That means for example that setting a limit for wildcard domain here

#can be overriden with a wildcard setting in a config file in the

#subdirectory, but a user specific setting here can be overriden only

#with a user specific setting in the subdirectory.

#

#Each line describes a limit for a user in the form:

#

#<domain>        <type>  <item>  <value>

#

#Where:

#<domain> can be:

#        - a user name

#        - a group name, with @group syntax

#        - the wildcard *, for default entry

#        - the wildcard %, can be also used with %group syntax,

#                 for maxlogin limit

#

#<type> can have the two values:

#        - "soft" for enforcing the soft limits

#        - "hard" for enforcing hard limits

#

#<item> can be one of the following:

#        - core - limits the core file size (KB)

#        - data - max data size (KB)

#        - fsize - maximum filesize (KB)

#        - memlock - max locked-in-memory address space (KB)

#        - nofile - max number of open file descriptors

#        - rss - max resident set size (KB)

#        - stack - max stack size (KB)

#        - cpu - max CPU time (MIN)

#        - nproc - max number of processes

#        - as - address space limit (KB)

#        - maxlogins - max number of logins for this user

#        - maxsyslogins - max number of logins on the system

#        - priority - the priority to run user process with

#        - locks - max number of file locks the user can hold

#        - sigpending - max number of pending signals

#        - msgqueue - max memory used by POSIX message queues (bytes)

#        - nice - max nice priority allowed to raise to values: [-20, 19]

#        - rtprio - max realtime priority

#

#<domain>      <type>  <item>         <value>

#

 

#*               soft    core            0

#*               hard    rss             10000

#@student        hard    nproc           20

#@faculty        soft    nproc           20

#@faculty        hard    nproc           50

#ftp             hard    nproc           0

#@student        -       maxlogins       4

* soft nofile 65536

* hard nofile 65536

* soft nproc 131072

* hard nproc 131072

# End of file

然后执行命令“sysctl -p”让修改的参数生效,也可以重启系统。

下一步需要下载greenplum并编译安装。

1.下载(克隆)greenplum源码。

先安装git,通过yum install -y git命令安装,这里出现一个问题:yum通过配置的镜像源下载失败,通过查找资料发现原因是镜像源地址发生了更新变化,所以修改yum镜像源地址:具体通过修改yum配置文件:cat /etc/yum.repos.d/ns7-x86_64.repo更新镜像源地址。然后输入命令“yum install -y git”安装git,输入“git clone https://github.com/greenplum-db/gpdb”克隆greenplum源码,这里出现一个问题,git克隆失败,所以换另一种方法,在外部机器下载好greeplum的zip压缩包然后上传到麒麟虚拟机内部。

2.因为是编译安装greenplum,所以需要下载大量的依赖包,具体罗列如下:yum install -y curl-devel bzip2-devel python-devel openssl-devel wget perl-ExtUtils-Embed libxml2-devel openldap-devel pam pam-devel

yum install -y gcc-c++ libtool libaio bison vim-common.x86_64 vim-enhanced.x86_64 flex net-tools.x86_64 apr-devel

wget https://bootstrap.pypa.io/get-pip.py

python get-pip.py

pip install psi lockfile paramiko setuptools epydoc psutil

pip install --upgrade setuptools

这里出现一个问题:有时候yum install -y 某依赖包会出现失败的情况,反复尝试安装几次就可以成功。

3.编译安装greenplum

①进入gpdb目录(/opt/gpdb-master)。具体编译命令如下,我的安装目录在(/opt/gpsql):

cd /opt/gpdb-master

./configure --prefix=/opt/gpsql --with-gssapi --with-pgport=5432 --with-libedit-preferred --with-perl --with-python --with-openssl --with-pam --with-krb5 --with-ldap --with-libxml --enable-cassert --enable-debug --enable-testutils --enable-debugbreak --enable-depend

make

make install

这里出现一个问题,在执行./c

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/luozhenjie123/article/details/112645119

智能推荐

php defined or define,define与defined有什么区别-程序员宅基地

文章浏览阅读555次。define与defined的区别有:1、define是用来定义一个常量的且常量被定义后就不能再改变或取消;2、defined是检测常量是否被定义,若存在返回true,不存在返回false。【推荐教程:PHP教程】define与defined的区别definedefine是用来定义一个常量,常量表示的就是全局范围,因此不需要考虑作用域就可以直接在脚本中的任何地方进行访问。但是需要注意的一点是常量一..._php defined('') or define('', ");

【三年面试五年模拟】算法工程师的独孤九剑秘籍(第十一式)_算法独孤九剑-程序员宅基地

文章浏览阅读491次。2022年平安夜,和WeThinkIn的文章更配哦_算法独孤九剑

oracle和mysql使用区别大吗_Oracle和MySQL在使用上的区别-程序员宅基地

文章浏览阅读825次。1、 Oracle是大型数据库而MySQL是中小型数据库,MySQL是开源的而Oracle的价格非常高。2、 Oracle支持大并发,大访问量。3、 安装所用的空间差别也是很大,MySQL安装完后用100多M而Oracle有3G左右,而且使用的时候Oracle占用特别大的内存空间和其他机器性能。4、 在使用上的一些区别:1)、主键:MySQL一般使用自动增长类型,在创建表时,只要指定表的主..._oracle数据库与mysql的操作一样吗

基于51单片机微波炉简易控制仿真设计数码管显示proteus仿真+程序+设计报告+讲解视频)-程序员宅基地

文章浏览阅读823次,点赞23次,收藏13次。基于51单片机微波炉简易控制仿真设计数码管显示( proteus仿真+程序+设计报告+讲解视频)仿真图proteus7.8及以上程序编译器:keil 4/keil 5编程语言:C语言设计编号:S0071。

人脸识别~警察领域-程序员宅基地

文章浏览阅读214次。比如,我一朋友做显著性检测,如果只在实验中通过搭建框架、训练测试,得出结果,那只是看到一个理论的表现,但是我朋友实验室有专门的显著性眼动仪,其可以通过现有模型的辅助,去人为进行实际实验,观察每一幅图像的显著性点及区域(说到这,我们平台准备下期为大家带来显著性检测),所以,本次分享的文献有些乏味,但希望做人脸领域的小伙伴,可以通过实际生活中的一些经验,通过数学的方式应用到模型当中,对实际场景的检测或识别有一定的提升。在没有目标的试验中,参与者可以引起正确的反应(正确的拒绝)或错误地识别错误者的脸(假阳性)。

拉扎维模集笔记-程序员宅基地

文章浏览阅读1.1k次,点赞6次,收藏35次。1.ro是什么答:ro是沟长调制效应的等效电阻,值约为1/(λ*Id)。2.η是什么答:η是体效应的影响3.PVT是什么答:P是工艺影响;V是电压影响;T是温度影响;L是负载影响。_模集

随便推点

【船舶】基于simulnk模拟船舶动力定位-程序员宅基地

文章浏览阅读985次,点赞21次,收藏22次。船舶动力定位(DP)是一种先进的船舶控制系统,能够使船舶在没有任何锚泊或系泊的情况下保持其位置和航向。DP 系统通过使用推进器、舵机和传感器来实现这一目标。DP 系统通常用于需要在海上进行精确操作的船舶,例如钻井船、起重船、铺管船和科学研究船。DP 系统还可以用于在恶劣天气条件下保持船舶的安全,例如在飓风或台风期间。

ThreadX在mdk(AC5)中的移植_threadx移植-程序员宅基地

文章浏览阅读771次。Threadx是由 Express Logic 公司开发的一款实时操作系统(RTOS),2019年被微软收购,成为了微软的一款Azure RTOS。在2020年,ThreadX也加入了开源大军,将ThreadX内核及其各大组件开源免费。ThreadX可以说是一款发展非常迅猛的RTOS,相信最近两年有了解它的朋友都能理解。2019年:被微软收购;2020年:免费开源;2021年:上线中文版手册;Azure RTOS ThreadX 文档。_threadx移植

matlab-m文件常用积分函数-ode45含有时变参数用法/菜鸟理解4_simulink积分器问题-程序员宅基地

文章浏览阅读7.6k次,点赞53次,收藏92次。目录写在前面ode45积分器带有时变参数的ode45积分总结写在后面写在前面本人大四狗一名,最近在帮实验室肝项目,毕设用的强化学习暂且放下了一段时间,所以没有更新。在给实验室打工的过程中,遇到了一个需要用到时变参数的微分方程组,解决这种问题利用simulink很好解决,但是项目要求使用m文件进行编程,在以往的学习中,m文件的积分函数一般就是使用ode45,变步长积分器。常用的语法是[t,y] = ode45(@odefun,tspan,y0)[t,y] = ode45(@odefun,tspan,y_simulink积分器问题

xenser服务器虚拟化,Citrix服务器虚拟化之七Xenserver虚拟机复制(最新整理)-程序员宅基地

文章浏览阅读465次。《Citrix服务器虚拟化之七Xenserver虚拟机复制(最新整理)》由会员分享,可在线阅读,更多相关《Citrix服务器虚拟化之七Xenserver虚拟机复制(最新整理)(3页珍藏版)》请在人人文库网上搜索。1、Citrix 服务器虚拟化之七 Xenserver 虚拟机复制XenServer 包含两种克隆虚拟机的方法,完整复制和快速复制。完整复制就是将虚拟机完整地复制一份,复制速度取决于存储性..._xenserver没有xentools

[STM32WBA]【STM32WBA52CG测评】开箱&呼吸灯-程序员宅基地

文章浏览阅读294次。支持 BLE 5.3 全部功能,比如: long-range,1/2M 传输速率、 LE audio、扩展广播, AOD/AOA,.LE增强版连接更新功能,BLE 以及 802.15.4的私有协议,支持matter相关应用。另外,因为它是基于Cotex-M33核,具有更高的安全性能,支持SESIP-L3, 同时基于新一代ST MCU低功耗平台,具有更优的低功耗性能。本开发板带的外部晶振是32M的。灯最亮的时候高电平时间为0,为了30次将0变成500,每次让duty_num增大500/30,就是17。_stm32wba52

静态网页设计——电影推荐网(HTML+CSS+JavaScript)_电影推荐网页代码-程序员宅基地

文章浏览阅读999次,点赞26次,收藏21次。声明:该文章只是做技术分享,若侵权请联系我删除。!!使用技术:HTML+CSS+JS(静态网页设计)主要内容:对好看的电影进行推荐。该页面使用p标签和人span标签嵌入许多文本,将关于网站主题的介绍全部写到网页中,文字排版根据字数来进行,使用不会出现不协调的情况。在文字旁边,使用img标签嵌入一些图片,使得网页整体更加的美观。_电影推荐网页代码

推荐文章

热门文章

相关标签