GP查詢外部表報錯

paynefu發表於2014-06-25
GP查詢外部表報錯: 
2014-06-19 09:00:59 ERROR ERROR MSG:[unixODBC]Error while executing the query (non-fatal);
ERROR:  connection with gpfdist failed for gpfdist://etl:8082/gp_data/VIP_LOCK_CT_LIST_0833.txt. effective url:. error code = 115 (Operation now in progress) (url.c:258)  (seg4 slice1 sdw3-1:50001 pid=2651);

GOOGLE用不了,百度經過翻查詢在:
http://blog.sina.com.cn/s/blog_79d599dc0100qfgz.html上找到一篇相似的錯誤。
但因對GP不熟,看得不明不白,不知道講什麼。

重新在作業系統中,一行行
看幫助文件:
[gpadmin@etl gp_data]$ gpfdist --help | more 

解決方法 :
 檢視gpfdist狀態:
[gpadmin@etl gp_data]$ gpfdist -v
[2014-06-19 14:32:44] [INTERNAL ERROR gpfdist.c:1555] cannot create socket on port 8080
          ... exiting
埠使用不正常 !!

檢視埠使用情況:
 
[gpadmin@etl gp_data]$ netstat -anp|grep 8080
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN      24145/gpfdist       
就是gpfdist在用 ,為什麼不行?

試著用8082埠開啟試試:
 
[gpadmin@etl gp_data]$ gpfdist -d /home/gpadmin -p 8082 &
建立測試外部表:
CREATE EXTERNAL TABLE mi_boss.fb_test_ext(
id1 NUMERIC,id2 NUMERIC,id3 NUMERIC
) LOCATION ('gpfdist://etl:8082/gp_data/fb_test.txt')
FORMAT 'TEXT' (DELIMITER ','  NULL '' FILL MISSING FIELDS ESCAPE 'OFF' ) 

再次查詢外部表,可以正常查詢資料了!

如何停止不正常的gpfdist服務呢?幫助文件講得很詳細: 

 
To stop gpfdist when it is running in the background:
--First find its process id:
ps ax | grep gpfdist 
  OR on Solaris
ps -ef | grep gpfdist
--Then kill the process, for example:
kill 3456

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27135177/viewspace-1193680/,如需轉載,請註明出處,否則將追究法律責任。

相關文章