场景: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,要清理。