数据仓库GreenPlum集群搭建(cent os 7)

2023年 8月 12日 67.7k 0

一、系统准备与设置1.四台Linux系统电脑准备,可用虚拟机创建。master:192.168.26.137

sgement1:192.168.26.139

segment2:192.168.26.140

segment3:192.168.26.136

2.文件夹创建: mkdir /root/study (所有节点)3.安装包准备:greenplum-db-6.1.0-rhel7-x86_64,放在刚创建的/root/study目录下(可 Windows cmd scp命令操作 )4.关闭防火墙 (所有节点)关闭:systemctl stop firewalld 永-久关闭 :systemctl disable firewalld

5.关闭SELINUX (所有节点)vi /etc/selinux/config 修改内容如下:SELINUX=disabled

6.配置/etc/hosts (所有节点)内容如下:

192.168.26.137 gp_1 mdw

192.168.26.139 gp_2 sdw1

192.168.26.140 gp_3 sdw2

192.168.26.136 gp_4 sdw3

7.配置sysctl.conf (所有节点)vi /etc/sysctl.conf

修改内容如下:

kernel.shmall = 197951838 # echo $(expr $(getconf _PHYS_PAGES) / 2)kernel.shmmax = 810810728448 # echo $(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf PAGE_SIZE))kernel.shmmni = 4096vm.overcommit_memory = 2vm.overcommit_ratio = 75 #vm.overcommit_ratio = (RAM - 0.026 * gp_vmem_rq) / RAM #gp_vmem_rq = ((SWAP + RAM) – (7.5GB + 0.05 * RAM)) / 1.7net.ipv4.ip_local_port_range = 10000 65535kernel.sem = 500 2048000 200 4096kernel.sysrq = 1kernel.core_uses_pid = 1kernel.msgmnb = 65536kernel.msgmax = 65536kernel.msgmni = 2048net.ipv4.tcp_syncookies = 1net.ipv4.conf.default.accept_source_route = 0net.ipv4.tcp_max_syn_backlog = 4096net.ipv4.conf.all.arp_filter = 1net.core.netdev_max_backlog = 10000net.core.rmem_max = 2097152net.core.wmem_max = 2097152vm.swappiness = 10vm.zone_reclaim_mode = 0vm.dirty_expire_centisecs = 500vm.dirty_writeback_centisecs = 100#vm.min_free_kbytes = 487119#awk 'BEGIN {OFMT = "%.0f";} /MemTotal/ {print "vm.min_free_kbytes =", $2 * .03;}' /proc/meminfo

#对于大于64GB的主机,加上下面4行vm.dirty_background_ratio = 0vm.dirty_ratio = 0vm.dirty_background_bytes = 1610612736 # 1.5GBvm.dirty_bytes = 4294967296 # 4GB#对于小于64GB的主机删除dirty_background_bytes dirty_bytes,加上下面2行vm.dirty_background_ratio = 3vm.dirty_ratio = 10

8.配置资源限制参数 (所有节点)vi /etc/security/limits.conf

* soft nofile 524288* hard nofile 524288* soft nproc 131072* hard nproc 131072“*” 星号表示所有用户9.创建用户 (所有节点)groupadd gpyhuseradd gpyh -g gpyh -s /bin/bashchown -R gpyh:gpyh /root/study #我很暴力,直接给了root目录权限passwd gpyh10.同步集群时钟(NTP) /脑仁疼,暂未设置/ (所有节点)为了保证集群各个服务的时间一致,首先在master 服务器上,编辑 /etc/ntp.conf,配置时钟服务器为数据中心的ntp服务器。若没有,先修改master 服务器的时间到正确的时间,再修改其他节点的 /etc/ntp.conf,让他们跟随master服务器的时间。 [root@mdw ~]# vi /etc/ntp.conf 在server 前面加上 master: 把server1,2,3,4全删 改成 server xxx,如果没有就设置成 server 1.cn.pool.ntp.org segment: server mdw prefer # 优先主节点 server smdw # 其次standby 节点,若没有standby ,可以配置成数据中心的时钟服务器 [root@mdw ~]# service ntpd restart # 修改完重启ntp服务二、数据库安装以及初始化1.安装数据库到指定文件夹 (master)rpm -i –prefix=/home/gpadmin greenplum-db-6.0.0-rhel6-x86_64.rpm

2.进入gpyh用户,应用环境变量,打通集群ssh免密登录 (master)su gpyhsource /root/study/greenplum-db/greenplum_path.shssh-keygen -t rsa #一路回车 添加信任其他机器的Host key (4 台) (master)> ssh-copy-id mdw> ssh-copy-id sdw1> ssh-copy-id sdw2> ssh-copy-id sdw3创建 hostlist,seg_hosts (master)

> mkdir /root/study/hostlist/> vi /root/study/hostlist/hostlistmdwsdw1sdw2sdw3> vi /root/study/hostlist/sge_hostssdw1sdw2sdw3

gpssh-exkeys -f hostlist 3.打包以及分发数据库 (master)tar -cf /root/study/gp6.tar greenplum-db-6.1.0/gpscp -f /root/study/hostlist/hostlist /root/study/gp6.tar =:/root/study/解压

> gpssh -f /root/study/hostlist/hostlist=> cd /root/study=> tar -xf gp6.tar=> ln -s greenplum-db-6.1.0 greenplum-db 4.创建数据存储空间 (master)master节点

> mkdir -p /root/study/data/master sgement节点

> source /root/study/greenplum-db/greenplum_path.sh> gpssh -f /root/study/hostlist/seg_hosts -e 'mkdir -p /root/study/data/primary'> gpssh -f /root/study/hostlist/seg_hosts -e 'mkdir -p /root/study/data/mirror'5.配置 .bash_profile 环境变量 (master) vi /root/.bash_profile

source /root/study/greenplum/greenplum-db/greenplum_path.shexport MASTER_DATA_DIRECTORY=/root/study/data/master/gpseg-1export PGPORT=5432export PGUSER=gpyh6.配置初始化文件 (master)> mkdir /root/study/gpadmin/gpconfigs> cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /root/study/gpconfigs/gpinitsystem_config vi /root/study/gpconfigs/gpinitsystem_config#数据库代号ARRAY_NAME="Greenplum"#segment前缀SEG_PREFIX=gpseg#primary segment 起始的端口号PORT_BASE=33000#指定primary segment的数据目录,网上写的是多个相同目录,多个目录表示一台机器有多个segmentdeclare -a DATA_DIRECTORY=(/root/study/data/primary)#master所在机器的host nameMASTER_HOSTNAME=mdw#master的数据目录MASTER_DIRECTORY=/root/study/data/master#master的端口MASTER_PORT=5432#指定bash的版本TRUSTED_SHELL=/usr/bin/ssh#将日志写入磁盘的间隔,每个段文件通常 =16MB < 2 * CHECK_POINT_SEGMENTS + 1CHECK_POINT_SEGMENTS=8#字符集ENCODING=UNICODE#mirror segment 起始的端口号MIRROR_PORT_BASE=44000# mirror的数据目录,和主数据一样,一个对一个,多个对多个declare -a MIRROR_DATA_DIRECTORY=(/root/study/data/mirror)

7.初始化数据库 (master)> gpinitsystem -c /root/study/gpconfigs/gpinitsystem_config -h /root/study/hostlist/hostlist 可能会遇到的错:

网上百度的解决方法:root 用户执行

echo “RemoveIPC=no”>>/etc/systemd/logind.conf

service systemd-logind restart

但是没用,然后我是重启reboot,gpyh用户登录 重申变量 source /root/.bash_profile 再初始化就好了,如果遇到文件存在或端口占用就执行下:rm -rf /root/study/data/master/gpseg*,rm -f /tem/.s.PGSQL.5432 /tem/.s.PGSQL.5432.lock

三、使用数据库psql -d postgres\q 退出\l 显示数据库列表testdb=# alter role gpyh with password '123456'; #给用户设置数据库密码ALTER ROLEpgadmin使用

vi /root/study/data/master/gpseg-1/pg_hba.confpg_ctl reload -D /home/gpadmin/data/master/gpseg-1gpstopgpstart

本文来源:https://blog.csdn.net/weixin_44178352/article/details/122127447

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论