gpfdist: error while loading shared libraries: libapr-1.so.0: cannot open shared object file: No such file or directory
在使用greenplum的gpload工具时,启动gpfdist服务
启动gpfdist报错:
[root@node001 gploadtest]# su greenplum
[greenplum@node001 gploadtest]$ gpfdist -c /gploadtest -p 8081 &
[1] 2974
[greenplum@node001 gploadtest]$ gpfdist: error while loading shared libraries: libapr-1.so.0: cannot open shared object file: No such file or directory
解决方案
[root@node001 gploadtest]# yum install apr
重启系统,先切换用户启动gp,完成再启动gpfdist服务:
[root@node001 ~]# su greenplum
[greenplum@node001 root]$ gpfdist -d /gploadtest/ -p 8081 &
[1] 1950
2021-03-23 05:34:22 1552 INFO Before opening listening sockets - following listening sockets are available:
2021-03-23 05:34:22 1552 INFO IPV6 socket: [::]:8081
2021-03-23 05:34:22 1552 INFO IPV4 socket: 0.0.0.0:8081
2021-03-23 05:34:22 1552 INFO Trying to open listening socket:
2021-03-23 05:34:22 1552 INFO IPV6 socket: [::]:8081
2021-03-23 05:34:22 1552 INFO Opening listening socket succeeded
2021-03-23 05:34:22 1552 INFO Trying to open listening socket:
2021-03-23 05:34:22 1552 INFO IPV4 socket: 0.0.0.0:8081
Serving HTTP on port 8081, directory /gploadtest
或者试试
gpfdist -d /home/gpadmin/gpload -p 8081 -l /home/gpadmin/test_gpload_log &
我最后采用的:
[greenplum@node001 gploadtest]$ nohup gpfdist -d /gploadtest/ -p 8081 -l /gploadtest/gpload.log &
/gploadtest/ 为course_code.txt数据目录
(最终实现将course_code.txt里面的数据复制到gp数据库的表中!)
查看状态:
[greenplum@node001 gploadtest]$ ps -ef|grep gpload
采用gpload工具完成外部表的复制:
gpload -f my_load.yml
gpload运行参考:
http://docs-cn.greenplum.org/v6/admin_guide/load/topics/g-loading-data-with-gpload.html
完成数据复制:
[greenplum@node001 gploadtest]$ gpload -f test_gpload.yml
2021-03-23 06:13:02|INFO|gpload session started 2021-03-23 06:13:02
2021-03-23 06:13:02|INFO|setting schema 'public' for table 'a_test_yml'
2021-03-23 06:13:02|INFO|started gpfdist -p 8081 -P 8082 -f "/gploadtest/course_code.txt" -t 30
2021-03-23 06:13:02|INFO|did not find an external table to reuse. creating ext_gpload_reusable_7f434f00_8bd9_11eb_8479_000c2936ecec
2021-03-23 06:13:02|INFO|running time: 0.18 seconds
2021-03-23 06:13:02|INFO|rows Inserted = 3931
2021-03-23 06:13:02|INFO|rows Updated = 0
2021-03-23 06:13:02|INFO|data formatting errors = 0
2021-03-23 06:13:02|INFO|gpload succeeded
You have new mail in /var/spool/mail/root
显示:
yml代码块
名字:test_gpload.yml
---
VERSION: 1.0.0.1
DATABASE: datacube
USER: greenplum
HOST: 192.168.32.132
PORT: 6432
GPLOAD:
INPUT:
- SOURCE:
LOCAL_HOSTNAME:
- node001
PORT: 8081
FILE:
- /gploadtest/course_code.txt
- COLUMNS:
- course_id: varchar
- course_name: varchar
- FORMAT: text
- DELIMITER: '|'
- ERROR_LIMIT: 25
- LOG_ERRORS: true
OUTPUT:
- TABLE: a_test_yml
- MODE: INSERT
PRELOAD:
- REUSE_TABLES: true
SQL:
- BEFORE: "truncate table a_test_yml"
- AFTER: "analyze a_test_yml"
yml各种报错:
内容报错,则复制我这个格式,官网的最后SQL语句没对齐,before和after内容报错