Hive-4.0.0 执行MapReduce程序报错

请注意版本信息 不同的版本可能不通用

Hive-4.0.0、Hadoop-3.4.0

报错如下:

Container exited with a non-zero exit code 1. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
log4j:WARN No appenders could be found for logger (org.apache.hadoop.mapreduce.v2.app.MRAppMaster).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See

经过几天的折磨 环境变量加了 日志打印也加了 log4j-jar也添加了 资源也调节了 都没用!!!

翻阅大量的资料:找到了解决办法
yarn-site.xml添加日志聚合
、mapred-site.xml 添加日志打印

1、首先的 mapred-site.xml 添加以下代码:

 注意路径:/data/service/hadoop/data/.... 

 我的是放在了Hadoop的data目录下 

 <!-- 设置MapReduce应用日志目录 -->
  <property>
    <name>mapreduce.cluster.temp.dir</name>
    <value>/data/service/hadoop/data/logs/mapred/staging</value>
  </property>

  <!-- 设置MapReduce最终日志目录 -->
  <property>
    <name>yarn.nodemanager.log-dirs</name>
    <value>/data/service/hadoop/data/logs/yarn/nm/userlogs</value>
  </property>

       嫌麻烦的小伙伴可以直接拿完整代码修改 但是也要注意路径和域名!!!

        完整的 mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>

<!-- mr程序默认运行方式。yarn集群模式 local本地模式-->
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
<!-- MR App Master环境变量。-->
<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<!-- MR MapTask环境变量。-->
<property>
  <name>mapreduce.map.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<!-- MR ReduceTask环境变量。-->

<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

        <!--历史服务器端地址-->
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>node1:10020</value>
        </property>

        <!--历史服务器web端地址-->
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>node1:19888</value>
        </property>

        <property>
                <name>yarn.nodemanager.resource.memory-mb</name>
                <value>4096</value>
        </property>
        <property>
                <name>yarn.scheduler.maximum-allocation-mb</name>
                <value>4096</value>
       </property>

 <!-- 设置MapReduce应用日志目录 -->
  <property>
    <name>mapreduce.cluster.temp.dir</name>
    <value>/data/service/hadoop/data/logs/mapred/staging</value>
  </property>

  <!-- 设置MapReduce最终日志目录 -->
  <property>
    <name>yarn.nodemanager.log-dirs</name>
    <value>/data/service/hadoop/data/logs/yarn/nm/userlogs</value>
  </property>


</configuration>
 2、yarn-site.xml 添加以下代码

       下面的日志聚合时间根据你的业务需求进行调整!


  <!-- 启用日志聚合服务 -->
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>

  <!-- 日志聚合超时长(分钟) -->
  <property>
    <name>yarn.nodemanager.log-aggregation-period-minutes</name>
    <value>10</value>
  </property>

  <!-- 日志聚合保留时间 -->
  <property>
    <name>yarn.nodemanager.remote-app-log-dir-suffix</name>
    <value>.logs</value>
  </property>

        完整的 yarn-site.xml

        注意路径和域名!!!

<?xml version="1.0"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->
<configuration>
    <!-- 配置yarn主节点的位置 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node1.itcast.cn</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!-- 设置yarn集群的内存分配方案 -->
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>6144</value>
    </property>
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>2048</value>
    </property>

    <property>
       <name>yarn.scheduler.maximum-allocation-mb</name>
       <value>6144</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>

    <!-- 开启日志聚合功能 -->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!-- 设置聚合日志在hdfs上的保存时间 -->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
    <!-- 设置yarn历史服务器地址 -->
    <property>
        <name>yarn.log.server.url</name>
        <value>http://node1:19888/jobhistory/logs</value>
    </property>
    <!-- 关闭yarn内存检查 -->
    <property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>

<property>
        <name>yarn.application.classpath</name>
        <value>/root/export/server/hadoop-3.4.0/etc/hadoop:/root/export/server/hadoop-3.4.0/share/hadoop/common/lib/*:/root/export/server/hadoop-3.4.0/share/hadoop/common/*:/root/export/server/hadoop-3.4.0/share/hadoop/hdfs:/root/export/server/hadoop-3.4.0/share/hadoop/hdfs/lib/*:/root/export/server/hadoop-3.4.0/share/hadoop/hdfs/*:/root/export/server/hadoop-3.4.0/share/hadoop/mapreduce/*:/root/export/server/hadoop-3.4.0/share/hadoop/yarn:/root/export/server/hadoop-3.4.0/share/hadoop/yarn/lib/*:/root/export/server/hadoop-3.4.0/share/hadoop/yarn/*
</value>
</property>

<property>
	<name>yarn.resourcemanager.address.rm1</name>
	<value>node1:8032</value>
</property>
<property>
	<name>yarn.resourcemanager.scheduler.address.rm1</name>
	<value>node1:8030</value>
</property>
<property>
	<name>yarn.resourcemanager.webapp.address.rm1</name>
	<value>node1:8088</value>
</property>
<property>
	<name>yarn.resourcemanager.resource-tracker.address.rm1</name>
	<value>node1:8031</value>
</property>
<property>
	<name>yarn.resourcemanager.admin.address.rm1</name>
	<value>node1:8033</value>
</property>
<property>
	<name>yarn.resourcemanager.ha.admin.address.rm1</name>
	<value>node1:23142</value>
</property>

</configuration>
3、运行Hive程序

运行结果: 完美解决

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值