hive> load data inpath "hdfs://Master.hdp:9000/person.txt" into table Person1;
FAILED: SemanticException [Error 10028]: Line 1:17 Path is not legal '"hdfs://Master.hdp:9000/person.txt"': Move from: hdfs://Master.hdp:9000/person.txt to: hdfs://192.168.153.202:9000/user/hive/warehouse/dbmaster1.db/person1 is not valid. Please check that values for params "default.fs.name" and "hive.metastore.warehouse.dir" do not conflict.
通常報這個錯是因為程序會check兩個路徑的schema是否一致,這里的schema就是namenode名稱,也是namenode的操作系統的機器名,這里一個是配置的是IP:192.168.153.202,另外一個用的是別名,所以報錯。
SQOOP先把數據導入到hdfs某一路徑,這一路徑是有hadoop里面的core-site.xml里面的default.fs.name配置決定的,然后再在hive的元數據庫里面建表,然后用hive的load 文件到hive的方法把數據導入到hive,存儲路徑是hive的內部表的路徑,由hive-site.xml的hive.metastore.warehouse.dir決定。
解決方法:1.
修改hive-site.xml文件:
hive.metastore.warehouse.dir修改為hdfs://192.168.153.202:9000/user/hive/warehouse
2.不使用別名,配置文件里面配的是IP名就寫IP名。
