greenplum使用gpcopy数据传输方案 |
您所在的位置:网站首页 › mdw数据库 › greenplum使用gpcopy数据传输方案 |
更多精彩内容,请登录ke.sandata.com.cn一 架构基础环境 主机mdw和备机mdwbak节点对等,都采用2+4架构。 1.1 主机列表主机IP地址备机IP地址mdw192.168.0.20mdwbak192.168.0.30smdw192.168.0.21smdwbak192.168.0.31sdw1192.168.0.22sdw1bak192.168.0.32sdw2192.168.0.23sdw2bak192.168.0.33sdw3192.168.0.24sdw3bak192.168.0.34sdw4192.168.0.25sdw4bak192.168.0.351.2 CPU及内存所有节点都采用华为云服务器,CPU核心数为16核心,内存为32G,节点总数为12。主机备机都采用内部万兆网络。磁盘为单独挂载磁盘,采用高性能IO磁盘,实际最高读写性能为350M/s。 1.3 计算节点和镜像节点计算节点primary数量为主备机都为24,镜像节点mirror数量为主备机都为24,总节点数量为48。 1.4 数据库版本数据库采用greenplum官方发布的5.27.1开源版本。 磁盘IO: [gpadmin@mdw ~]$ gpcheckperf -f gpconfigs/gp_seg_hosts -d /data1 -d /data2 -r ds /usr/local/greenplum-db/./bin/gpcheckperf -f gpconfigs/gp_seg_hosts -d /data1 -d /data2 -r ds---------------------- DISK WRITE TEST------------------------------------------ DISK READ TEST------------------------------------------ STREAM TEST--------------------==================== == RESULT ==================== disk write avg time (sec): 426.09 disk write tot bytes: 268517507072 disk write tot bandwidth (MB/s): 601.00 disk write min bandwidth (MB/s): 150.07 [sdw3] disk write max bandwidth (MB/s): 150.39 [sdw1] disk read avg time (sec): 425.65 disk read tot bytes: 268517507072 disk read tot bandwidth (MB/s): 601.61 disk read min bandwidth (MB/s): 150.24 [sdw3] disk read max bandwidth (MB/s): 150.52 [sdw4] stream tot bandwidth (MB/s): 67542.73 stream min bandwidth (MB/s): 15459.31 [sdw1] stream max bandwidth (MB/s): 18507.68 [sdw2]主机四个主机节点磁盘采用通用性磁盘,性能为150M/s。 网络IO: [gpadmin@mdw ~]$ gpcheckperf -f gpconfigs/gp_all_hosts -r N -d /tmp /usr/local/greenplum-db/./bin/gpcheckperf -f gpconfigs/gp_all_hosts -r N -d /tmp ------------------- -- NETPERF TEST ------------------- ==================== == RESULT ==================== Netperf bisection bandwidth test mdw -> smdw = 896.900000 sdw1 -> sdw2 = 892.210000 sdw3 -> sdw4 = 879.870000 smdw -> mdw = 889.740000 sdw2 -> sdw1 = 781.620000 sdw4 -> sdw3 = 884.400000 Summary: sum = 5224.74 MB/sec min = 781.62 MB/sec max = 896.90 MB/sec avg = 870.79 MB/sec median = 889.74 MB/sec内部网络采用万兆网络,由于是云上虚拟机环境,速率仅有800M/s左右。 2.2 备机mdwbak磁盘及网络IO性能测试磁盘IO: [gpadmin@mdwbak ~]$ gpcheckperf -f gpconfigs/gp_seg_hosts -d /data1 -d /data2 -r ds /usr/local/greenplum-db/./bin/gpcheckperf -f gpconfigs/gp_seg_hosts -d /data1 -d /data2 -r ds---------------------- DISK WRITE TEST------------------------------------------ DISK READ TEST------------------------------------------ STREAM TEST--------------------==================== == RESULT ==================== disk write avg time (sec): 182.41 disk write tot bytes: 268517244928 disk write tot bandwidth (MB/s): 1403.82 disk write min bandwidth (MB/s): 350.64 [sdw2bak] disk write max bandwidth (MB/s): 351.10 [sdw1bak] disk read avg time (sec): 181.99 disk read tot bytes: 268517244928 disk read tot bandwidth (MB/s): 1407.10 disk read min bandwidth (MB/s): 351.35 [sdw2bak] disk read max bandwidth (MB/s): 351.97 [sdw4bak] stream tot bandwidth (MB/s): 69788.36 stream min bandwidth (MB/s): 16867.88 [sdw4bak] stream max bandwidth (MB/s): 17669.53 [sdw3bak]备机磁盘采用超高IO磁盘,磁盘IO为350M/s左右。 网络IO: [gpadmin@mdwbak ~]$ gpcheckperf -f gpconfigs/gp_all_hosts -r N -d /tmp /usr/local/greenplum-db/./bin/gpcheckperf -f gpconfigs/gp_all_hosts -r N -d /tmp ------------------- -- NETPERF TEST ------------------- ==================== == RESULT ==================== Netperf bisection bandwidth test mdwbak -> smdwbak = 788.660000 sdw1bak -> sdw2bak = 889.240000 sdw3bak -> sdw4bak = 790.290000 smdwbak -> mdwbak = 728.640000 sdw2bak -> sdw1bak = 793.870000 sdw4bak -> sdw3bak = 780.970000 Summary: sum = 4771.67 MB/sec min = 728.64 MB/sec max = 889.24 MB/sec avg = 795.28 MB/sec median = 790.29 MB/sec备机节点内部网络带宽传输速率和主机一样。 gpcopy 方式加载数据,可以启用并行进行加载,并行数量范围为1-64512,默认并行数量为4,启用并行根据服务器内存资源分配,初始分配以60个做并行数。 3.2 主备机所有节点配置ssh互信将主备机所有节点ip和主机名映射放置于/etc/hosts文件中,(请使用root用户添加),如下: [root@mdw opt]# tail -12 /etc/hosts 192.168.0.20 mdw 192.168.0.21 smdw 192.168.0.22 sdw1 192.168.0.23 sdw2 192.168.0.24 sdw3 192.168.0.25 sdw4 192.168.0.30 mdwbak 192.168.0.31 smdwbak 192.168.0.32 sdw1bak 192.168.0.33 sdw2bak 192.168.0.34 sdw3bak 192.168.0.35 sdw4bak将主机mdw上的/etc/hosts文件拷贝到其他所有节点(使用root用户操作) [root@mdw opt]# for ip in mdw smdw sdw1 sdw2 sdw3 sdw4 mdwbak smdwbak sdw1bak sdw2bak sdw3bak sdw4bak;doscp /etc/hosts $ip:/etc;done配置所有主机名到主机mdw上gpadmin用户下的~/gpconfigs下的iplist文件中,如下: [gpadmin@mdw ]$ cat ~/gpconfigs/iplist mdw smdw sdw1 sdw2 sdw3 sdw4 mdwbak smdwbak sdw1bak sdw2bak sdw3bak sdw4bak使用gpssh-exkeys配置所有节点互信(使用gpadmin用户) [gpadmin@mdw ]$ gpssh-exkeys -f ~/gpconfigs/iplist3.3 主机mdw导出全局数据和数据库对象结构[gpadmin@mdw ~]$ #创建备份目录 [gpadmin@mdw ~]$ mkdir -p /data/pg_dump [gpadmin@mdw ~]$ #导入临时主机mdw和备机smdw环境变量 [gpadmin@mdw ~]$ export OLD_PORT=5432 [gpadmin@mdw ~]$ export OLD_HOST=mdw [gpadmin@mdw ~]$ export DBNAME=testdb [gpadmin@mdw ~]$ export OLD_PORT=5432 [gpadmin@mdw ~]$ export OLD_HOST=mdwbak [gpadmin@mdw ~]$ export DBNAME=testdb [gpadmin@mdw ~]$ cd /data/pg_dump/ [gpadmin@mdw pg_dump]$ pg_dumpall -p $OLD_PORT -h $OLD_HOST -s -g --resource-queues -f $DBNAME.global.ddl[gpadmin@mdw pg_dump]$ pg_dump -p $OLD_PORT -h $OLD_HOST -s testdb -f $DBNAME.ddl [gpadmin@mdw pg_dump]$ ls testdb.ddl testdb.global.ddl使用psql远程恢复DDL数据到备机mdwbak [gpadmin@mdw ~]$ psql -h mdwbak -p 5432 -d postgres -f testdb_global.ddl [gpadmin@mdw ~]$ psql -h mdwbak -p 5432 -d postgres -f testdb.ddl3.4 使用 gpcopy 将主机mdw数据同步到备机 mdwbak并行数量取决于内存资源限制,此环境服务器32G内存资源,使用60个并发传输数据,如果服务器资源大于64G,可以使用初始化100个并发做同步,如果出现无法分配内存资源,按照初始化并发数乘以80%的方式配置并发数。如,100*80%=80,如果还无法分配内存资源,那么以此迭代,即80*80%=64个。 [gpadmin@mdw ~]$ time gpcopy -d testdb -D testdb --dest-host mdwbak --dest-port 5432 --dest-user gpadmin --truncate --source-host mdw --source-port 5432 --source-user gpadmin --jobs 60.....忽略部分..... 20210411:03:37:58 gpcopy:gpadmin:mdw:029561-[INFO]:-[testdb] Finished copying database "Progress: (1/1) DBs, (2000/2000) tables done" 20210411:03:37:58 gpcopy:gpadmin:mdw:029561-[INFO]:-------------------------------------------------20210411:03:37:58 gpcopy:gpadmin:mdw:029561-[INFO]:-Total elapsed time: 30.438132557s 20210411:03:37:58 gpcopy:gpadmin:mdw:029561-[INFO]:-Total transferred data 722.7MB, transfer rate 250.1GB/h 20210411:03:37:58 gpcopy:gpadmin:mdw:029561-[INFO]:-Copied 1 databases 20210411:03:37:58 gpcopy:gpadmin:mdw:029561-[INFO]:- Database testdb: successfully copied 2000 tables, skipped 0 tables, failed 0 tables 20210411:03:37:58 gpcopy:gpadmin:mdw:029561-[INFO]:-Copy completed successfully最终结果 使用2000张表做模拟,每张表数据为10w,同步时间大约为50s。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |