当前位置:网站首页>03 gp 集群搭建
03 gp 集群搭建
2022-08-01 16:20:00 【蓝风9】
前言
呵呵 最近有一系列环境搭建的相关需求
记录一下
gp 三个节点 : 192.168.110.72, 192.168.110.73, 192.168.110.75
72 为 master, 73 为 slave01, 75 为 slave02
三台机器都做了 trusted shell
gp 单节点 docker 搭建
参照 Docker Hub
gp 搭建步骤
三节点集群
72, 73, 75 三台机器
72 作为 admin, 73, 75 作为 segment
71 别名为 gp1, 72 别名为 gp2, 75 别名为 75
1. 修改 hosts, 以及 hostname, 然后重启
192.168.110.72 gp1
192.168.110.73 gp2
192.168.110.75 gp3
2. 将 gp_yum.tar.gz, greenplum-db-6.0.0-rhel7-x86_64.rpm
按照 installWithDeps.txt 里面的顺序安装
将软连接 greenplum-db 修改为 gpdb
greenplum_path.sh 增加可执行权限
上传 hostfile, seg_hosts 到 gpdb 里面
上传 initgp_config 到 docs/cli_help/gpconfigs/ 目录下, 请注意根据实际的主机情况调整 initgp_config 的 hostname
3. 新建 master 目录, 和 segment 目录
mkdir -p /data/gpdb/master
mkdir -p /data/gpdb/mdata1
mkdir -p /data/gpdb/pdata1
mkdir -p /data/gpdb/mdata2
mkdir -p /data/gpdb/pdata2
4. 新建用户 及调整用户权限
groupadd gpadmin
useradd -g gpadmin gpadmin
passwd gpadmin gpadmin
chown -R gpadmin:gpadmin /usr/local/gpdb/
chown -R gpadmin:gpadmin /data/gpdb
5. 配置内核参数
配置内核参数,添加如下内容:
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
kernel.sem = 250 64000 100 512
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
6. 配置 gpadmin 环境变量, vim /home/gpadmin/.bashrc
source /usr/local/gpdb/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/gpdb/master/gpseg-1
export LD_LIBRARY_PATH=/usr/local/gpdb/lib
7. 配置 gp1 到 gp2, gp3 的免密码登录
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
8. 防火墙开放相关端口
firewall-cmd --add-port=5432/tcp --permanent
firewall-cmd --add-port=6000-6010/tcp --permanent
firewall-cmd --add-port=30000-65535/udp --permanent
firewall-cmd --reload
firewall-cmd --list-all
9. 在 gp1 所在的主机上面执行 初始化
gpinitsystem -c /usr/local/gpdb/docs/cli_help/gpconfigs/initgp_config -h /usr/local/gpdb/seg_hosts
# 需要重新执行可以删除相关目录, 以及对应的进程号, 锁文件
rm -rf /data/gpdb/master/*
rm -rf /data/gpdb/mdata1/*
rm -rf /data/gpdb/mdata2/*
rm -rf /data/gpdb/pdata1/*
rm -rf /data/gpdb/pdata2/*
10. 创建用户以及授权
CREATE USER pico WITH PASSWORD 'pico-nf-8100';
GRANT ALL PRIVILEGES ON DATABASE meiya TO pico;
如果默认的ssh端口不为 22
这是我们部署的过程中遇到的一个问题, 尝试过修改 gpinitsystem, gpstart 脚本来解决问题
但是 太过于复杂,
最终的处理方式是 修改 initgp_config 中的 TRUSTED_SHELL 的配置, 原来为 "ssh", 更新为 "ssh -p 3333"
以及至少会有如下文件, 如下地方的更新
[[email protected] gpdb]# grep -R 55566 *
bin/gpssh-exkeys: args = ['ssh', '-p 55566', self.m_host, '-o', 'BatchMode=yes', '-o', 'StrictHostKeyChecking=yes', '-n',
bin/gpssh-exkeys: args = ['ssh -p 55566', self.m_host, '-o', 'BatchMode=yes', '-o', 'StrictHostKeyChecking=yes',
bin/gpssh-exkeys: cmd = 'ssh -p 55566 -o "BatchMode=yes" -o "StrictHostKeyChecking=no" %s true 2>%s' % (hostname, errfile)
bin/gpssh-exkeys: cmd = ['ssh -p 55566', remoteHost.host(), '-o', 'BatchMode=yes', '-o', 'StrictHostKeyChecking=yes', 'true']
bin/gpssh-exkeys: cmd = ('scp -P 55566 -q -o "BatchMode yes" -o "NumberOfPasswordPrompts 0" ' +
bin/gpssh-exkeys: cmd = ('scp -P 55566 -q -o "BatchMode yes" -o "NumberOfPasswordPrompts 0" ' +
bin/lib/gp_bash_functions.sh:if [ x"$TRUSTED_SHELL" = x"" ]; then TRUSTED_SHELL="$SSH -p 55566"; fi
bin/lib/gp_bash_functions.sh:if [ x"$TRUSTED_COPY" = x"" ]; then TRUSTED_COPY="$SCP -P 55566"; fi
docs/cli_help/gpconfigs/initgp_config:TRUSTED_SHELL="ssh -p 55566"
Binary file lib/python/gppylib/commands/base.pyc matches
lib/python/gppylib/commands/base.py: cmd.cmdStr = "ssh -p 55566 -o StrictHostKeyChecking=no -o ServerAliveInterval=60 " \
主机名已经调整, 但是 gpinitsystem, gpstart 的过程中还是使用的 localhost.domain
这个需要进入到 gpMaster 的 template1 数据库 查询节点信息, 然后调整 节点 数据
进入postgre PGOPTIONS="-c gp_session_role=utility" psql -d postgres
数据库查看 \l
数据分布 select * from gp_segment_configuration order by dbid;
报错 ERROR: permission denied: "gp_segment_configuration" is a system catalog
set allow_system_table_mods='TRUE';
附上上述提及 gp6.0 相关
greenplum6.0安装相关-C++文档类资源-CSDN下载
完
边栏推荐
- 五分钟带你上手ShardingJDBC实现MySQL分库分表
- 软件测试谈薪技巧:同为测试人员,为什么有人5K,有人 20K?
- lombok builder重写
- 【paper】Cam2BEV论文浅析
- AI艺术‘美丑’不可控?试试 AI 美学评分器~
- Arduino无线下载 Arduino USB接口无线自动下载程序
- MLX90640 红外热成像仪测温模块开发笔记(完整版)
- js判断是pc端还是移动端(包括ipad)
- MySQL INTERVAL 关键字指南
- Meeting OA project (6) --- (to-be-opened meeting, historical meeting, all meetings)
猜你喜欢

DOM树jsjs特效代码

Use Canvas to implement mobile phone signature

AntDB数据库亮相24届高速展,助力智慧高速创新应用

ESP8266-Arduino programming example-GA1A12S202 logarithmic scale analog light sensor

30分钟成为Contributor|如何多方位参与OpenHarmony开源贡献?

时序数据库在船舶风险管理领域的应用

HashCode technology insider interview must ask

LeetCode50天刷题计划(Day 8—— 盛最多水的容器(23.00-1.20)
MySQL INTERVAL Keyword Guidelines

mysql 面试题
随机推荐
lombok builder重写
ESP8266-Arduino编程实例-MLX90614红外测温传感器驱动
泰国 好产品推荐!2022年最好的胶原蛋白评测有哪些? 喝出健康和美丽适合需要改善肌肤
兆骑科创科创赛事平台,创业赛事活动路演,线上直播路演
经验|如何做好业务测试?
IronOS, an open source system for portable soldering irons, supports a variety of portable DC, QC, PD powered soldering irons, and supports all standard functions of smart soldering irons
MySQL INTERVAL Keyword Guidelines
聊下自己转型测试开发的历程
Zhaoqi Science and Technology Innovation Event Platform, Entrepreneurship Event Roadshow, Online Live Roadshow
短剧正在抢长剧的生意
PHP security flaws: session hijacking, cross-site scripting, SQL injection and how to fix them
Flink - SQL can separate a certain parallelism of operator node configuration?
美国弗吉尼亚大学、微软 | Active Data Pattern Extraction Attacks on Generative Language Models(对生成语言模型的主动数据模式提取攻击)
时序数据库在船舶风险管理领域的应用
全网最全音视频媒体流
27英寸横置大屏+实体按键,全新探险者才是安全而合理的做法!
AI艺术‘美丑’不可控?试试 AI 美学评分器~
A full review of mainstream timed task solutions
OneFlow源码解析:Op、Kernel与解释器
到底什么才是真正的商业智能(BI)