当前位置:   article > 正文

hive数据导入mysql失败的解决方法_在hive中,执行查询操作,数据导入失败

在hive中,执行查询操作,数据导入失败

出现该问题的原因:是jvm的虚拟内存不够,做以下更改,每次错误之后都需要进行重启hadoop--mysql--hive,释放内存空间

解决办法:

开启stage

第一步: 

cd /usr/local/hive/conf

vim hive-site.xml

<property>

<name>hive.exec.mode.local.auto</name>

<value>true</value>

</property>

第二步:

cd /usr/local/hadoop/etc/hadoop

hadoop@ubuntu:/usr/local/hadoop/etc/hadoop$ vim yarn-site.xml

修改配置文件yarn-site.xml ,参数不固定

<property>

        <name>yarn.scheduler.maximum-allocation-mb</name>

        <value>2048</value>

</property>

<property>

          <name>yarn.scheduler.minimum-allocation-mb</name>

          <value>2048</value>

</property>

<property>

        <name>yarn.nodemanager.vmem-pmem-ratio</name>

        <value>2.1</value>

</property>

<property>

        <name>mapred.child.java.opts</name>

        <value>-Xmx1024m</value>

</property>

第三步:

 cd /usr/local/hadoop/etc/hadoop/hadoop-env.sh

export HADOOP_CLIENT_OPTS="-Xmx2048m $HADOOP_CLIENT_OPTS"

必须重新启动hadoop

cd /usr/local/hadoop

./sbin/start-dfs.sh

执行jps命令看一下当前运行的进程:

jps

如果上述问题解决不成功,可以继续尝试下边的命令

hive> set hive.support.concurrency=false;

hive> set hive.auto.convert.join=false;

hive> set hive.exec.dynamic.partition.mode=nonstrict;

hive> set hive.exec.dynamic.partition=true;

hive> set hive.exec.parallel=true;

hive> set hive.support.concurrency=false;

hive> set mapreduce.map.memory.mb=4128;

hive> set mapreduce.map.memory.mb=10150;

hive> set mapreduce.map.java.opts=-Xmx6144m;

hive> set mapreduce.reduce.memory.mb=10150;

hive> set mapreduce.reduce.java.opts=-Xmx8120m;

hive> set hive.exec.max.dynamic.partitions=50000;

hive> set hive.exec.max.dynamic.partitions.pernode=10000;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/909473
推荐阅读
相关标签
  

闽ICP备14008679号