場景:cdh集羣正常的運行,要從遠程安裝hive客戶端連接cdh集羣進行數據操作。
1.客戶端的版本要和cdh的hive版本保持一致
2.本地安裝hadoop環境,配置好core-site、hdfs-site、yarn-site幾個配置文件
3.hive-site配置好元數據庫以及遠程的hive metadata連接
4.啓動本地hive,能進行正常的語句
報錯:
1.本地運行(localhadoop)的時候,會直接報錯
本地運行一般是join的時候或者數據量很小的時候。一般的設置是
<property>
<name>hive.exec.mode.local.auto</name>
<value>false</value>
</property>
這個讓mapreduce不在本地模式跑。
然後需要配置maped-site 配置框架是
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
以及yarn-site配置
resource-manager的訪問地址 以及調度器的地址和端口。
最終任務能提交到遠程的rm,但是報錯Hadoop job information for Stage-1: number of mappers: 0; number of reducers: 0
目測是資源的問題,可以在http的網站上看報錯。
2.本地運行的時候,磁盤滿了報錯
這個一般是在/tmp/hadoop-root/mapred/local/localRunner/root/jobcache目錄底下緩存的本地job文件,這個會有幾百G,要清理。