Greenplum编译安装
时间:2022-07-25
本文章向大家介绍Greenplum编译安装,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Greenplum部署手册
一、环境准备
- 操作系统
ARM-Neokylin7.6-64bit
- 安装包
greenplum6.9.1(源码)
- 设置语言
echo "export LANG=en_US.UTF-8" >> /etc/profile
source /etc/profile
- 编译环境
yum install -y curl-devel bzip2-devel python-devel openssl-devel readline-devel perl-ExtUtils-Embed libxml2-devel openldap-devel pam pam-devel perl-devel apr-devel libevent-devel libyaml libyaml-devel libedit-devel libffi-devel autoconf libtool automake flex wget zlib* openssl openssl-devel libffi-devel
二、安装
- 机器
ip地址
- 架构
- 磁盘目录
说明 位置
安装源码 /opt/gpsrc
数据存储 /opt/gpdb/data
运行日志 /opt/gpdb
运行 /opt/gpdb
配置目录 /opt/gpdbß
- 创建目录
- 安装依赖包
安装setuptools
# cd setuptools-master# python bootstrap.py# python setup.py install
安装psutil
# cd psutil-5.7.2# python setup.py install
安装pbr
# cd pbr-5.4.5# python setup.py install
安装lockfile
# cd lockfile-0.12.2# python setup.py install
安装pycparser
# cd pycparser-2.20# python setup.py install
安装cffi
# cd cffi-1.14.1# python setup.py install
安装six
# cd six-1.15.0# python setup.py install
安装bcrypt
# cd bcrypt-3.1.7# python setup.py install
安装PyNaCl
# cd PyNaCl-1.4.0# python setup.py install
安装ipaddress
# cd ipaddress-1.0.23# python setup.py install
安装enum34
# cd enum34-1.1.10# python setup.py install
安装cryptography
# cd cryptography-3.0# python setup.py install
安装paramiko
# cd paramiko-2.7.1# python setup.py install
安装epydoc
# cd epydoc-3.0.1# python setup.py install
安装cmake
# cd cmake-3.9.2# ./bootstrap# make# make install# /usr/local/bin/cmake --version
安装zstd
# cd zstd-1.4.5# make# make install
安装Xerces
# cd gp-xerces-3.1.2-p1# ./configure# make# make install
安装re2c
# cd re2c-2.0# ./autogen.sh# ./configure# make# make install
安装ninja
# cd ninja-1.10.0# ./configure.py --bootstrap# cp ninja /usr/bin/
安装gporca
# cd gporca-3.106.1# cmake -GNinja -H. -Bbuild# vi libgpos/src/common/CStackDescriptor.cpp第167行注释掉
# ninja install -C build# echo /usr/local/lib >/etc/ld.so.conf# ldconfig
- 安装gp
源码:
greenplum-6.9.1-src-full.tar.gz
# cd gpdb_src/
#./configure --with-perl --with-python --with-libxml --prefix=/opt/gpdb --disable-orca
# make
# make install
7. 创建用户和组gpadmin
#groupadd -g 3030 gpadmin
#useradd -u 3030 gpadmin -g gpadmin -d /opt/gpdb/gpadmin
#passwd gpadmin
设置密码,例如gpadmin
#vim /etc/hosts
添加30.23.111.45 gpmaster
#su – gpadmin
#mkdir ~/.ssh
#chmod 700 ~/.ssh
#cd .ssh/
#ssh-keygen -t rsa
#ssh gpmaster cat ~/.ssh/id_rsa.pub >>authorized_keys
#chmod 600 authorized_keys
#ssh gpmaster date
8. GP初始化
Root用户:
#mkdir -p /opt/gpdb/data/master
#mkdir -p /opt/gpdb/data/gp1
#mkdir -p /opt/gpdb/data/gp2
#mkdir -p /opt/gpdb/data/gp3
#mkdir -p /opt/gpdb/data/gp4
chown -R gpadmin:gpadmin /opt/gpdb
su - gpadmin
#cd /opt/gpdb
#vim greenplum_path.sh
添加
export MASTER_DATA_DIRECTORY=/opt/gpdb/data/master/gpseg-1
export PGPORT=5432
export PGUSER=gpadmin
export PGDATABASE=gpmaster
#source greenplum_path.sh
#vim ~/.bash_profile
添加source /opt/gpdb/greenplum_path.sh
#source ~/.bash_profile
# vim all_hosts_file
添加当前主机名称:gpmaster
cd ~/.ssh
ssh-keygen -t rsa
cat id_rsa.pub >>authorized_keys
# gpssh-exkeys -f all_hosts_file
9. 初始化gp
#su - gpadmin
# cp docs/cli_help/gpconfigs/gpinitsystem_config .
# vim gpinitsystem_config
#declare -a DATA_DIRECTORY=(/opt/gpdb/data/gp1 /opt/gpdb/data/gp2 /opt/gpdb/data/gp3 /opt/gpdb/data/gp4)
#MASTER_HOSTNAME=gpmaster
#MASTER_DIRECTORY=/opt/gpdb/data/master
#DATABASE_NAME=gpmaster
#vim seg_hosts_file
添加当前主机名称,例如SZD-BDL0014729,可以从/etc/hosts查看
# gpinitsystem -c gpinitsystem_config -h seg_hosts_file
一路yes
三、启动
四、安装错误
- 安装错误
/tmp/cc4A3KMY.s: Assembler messages:
/tmp/cc4A3KMY.s:25: Error: unknown mnemonic `movq' -- `movq %rbp,x19'
make[6]: *** [CStackDescriptor.o] Error 1
make[6]: Leaving directory `/opt/gpsrc/gpdb_src/src/backend/gporca/libgpos/src/common'
make[5]: *** [common-recursive] Error 2
make[5]: Leaving directory `/opt/gpsrc/gpdb_src/src/backend/gporca/libgpos/src'
make[4]: *** [src-recursive] Error 2
make[4]: Leaving directory `/opt/gpsrc/gpdb_src/src/backend/gporca/libgpos'
make[3]: *** [libgpos-recursive] Error 2
make[3]: Leaving directory `/opt/gpsrc/gpdb_src/src/backend/gporca'
make[2]: *** [gporca-recursive] Error 2
make[2]: Leaving directory `/opt/gpsrc/gpdb_src/src/backend'
make[1]: *** [all-backend-recurse] Error 2
make[1]: Leaving directory `/opt/gpsrc/gpdb_src/src'
make: *** [all-src-recurse] Error 2
解决:
**disable-orca**
- 初始化错误:
# gpinitsystem -c gpinitsystem_config -h seg_hosts_file
20200911:14:08:09:043912 gpinitsystem:SZD-BDL0014729:root-[INFO]:-Checking configuration parameters, please wait...
20200911:14:08:09:043912 gpinitsystem:SZD-BDL0014729:root-[FATAL]:-Unable to run this script as root Script Exiting!
- 启动错误
$ gpstart
20200911:15:21:33:052842 gpstart:SZD-BDL0014729:gpadmin-[INFO]:-Starting gpstart with args:
20200911:15:21:33:052842 gpstart:SZD-BDL0014729:gpadmin-[INFO]:-Gathering information and validating the environment...
20200911:15:21:33:052842 gpstart:SZD-BDL0014729:gpadmin-[INFO]:-Greenplum Binary Version: 'postgres (Greenplum Database) 6.0.0-beta.1 build dev'
20200911:15:21:33:052842 gpstart:SZD-BDL0014729:gpadmin-[INFO]:-Greenplum Catalog Version: '301908232'
20200911:15:21:33:052842 gpstart:SZD-BDL0014729:gpadmin-[INFO]:-Starting Master instance in admin mode
20200911:15:21:33:052842 gpstart:SZD-BDL0014729:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
20200911:15:21:33:052842 gpstart:SZD-BDL0014729:gpadmin-[INFO]:-Obtaining Segment details from master...
20200911:15:21:33:052842 gpstart:SZD-BDL0014729:gpadmin-[ERROR]:-FATAL - no master dbs defined!
20200911:15:21:33:052842 gpstart:SZD-BDL0014729:gpadmin-[CRITICAL]:-gpstart failed. (Reason='Error: GpArray() - no master dbs defined') exiting...
修改host,重新初始化
- 1625: [Usaco2007 Dec]宝石手镯
- 1613: [Usaco2007 Jan]Running贝茜的晨练计划
- 1677: [Usaco2005 Jan]Sumsets 求和
- 1609: [Usaco2008 Feb]Eating Together麻烦的聚餐
- 1602: [Usaco2008 Oct]牧场行走
- 【LeetCode 500】关关的刷题日记27 Keyboard Row
- 1601: [Usaco2008 Oct]灌水
- 1657: [Usaco2006 Mar]Mooo 奶牛的歌声
- 1610: [Usaco2008 Feb]Line连线游戏
- 1012: [JSOI2008]最大数maxnumber
- 1430: 小猴打架
- 1202: [HNOI2005]狡猾的商人
- 1059: [ZJOI2007]矩阵游戏
- 3039: 玉蟾宫
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 我从未见过的牛逼解说方式!Redis五种数据结构,看一遍就懂了
- Swift 动态创建ViewController
- Office 文档解析 文档格式和协议
- 查看centos 7里敏感信息的常用命令(未完)
- C# dotnet 使用 FileStream 随机文件读写
- datables之加载数据时显示进度条
- 这几种常见的“分布式锁”写法,搞懂再也不怕面试官,安排
- C# 8.0 文件长度 Bytes 字节转 KB 等单位字符串
- LeetCode---两数之和
- 通过 cmd 批处理文件将 16 进制转 10 进制数字
- HTML5-JS操作页面滚动条(禁止、隐藏、显示、不显示)
- 追根溯源MySQL,“你的表情”插入对了吗?
- 推荐官方开源 PInvoke 库 包含大量 win32 封装
- 这是什么重大发现!一个导致JVM物理内存消耗大的Bug
- 无语,我差点被面试官怼坏了,又给我问到MySQL索引