Как решить InvalidResourceRequestException для улья на тез

Я получил InvalidResourceRequestException, когда я вставляю строку в таблицу кустов.

  1. создать таблицу test (id int, name string);

  2. set hive.execution.engine = tez;

  3. вставить в таблицу тестовые значения (3, "Томь");

Память запроса на вставку = -1, vCores = 1;

Получил тип ресурса =[memory-mb] < 0 или больше максимально допустимого выделения

2019-05-06 02:43:55,095 [INFO] [TaskSchedulerEventHandlerThread] |rm.YarnTaskSchedulerService|: Allocation request for task: attempt_1557081630366_0001_1_00_000000_0 with request: Capability[<memory:-1, vCores:1>]Priority[5]AllocationRequestId[0]ExecutionTypeRequest[{Execution Type: GUARANTEED, Enforce Execution Type: false}]Resource Profile[null] host: ftp2 rack: null
2019-05-06 02:43:55,150 [ERROR] [AMRM Heartbeater thread] |impl.AMRMClientAsyncImpl|: Exception on heartbeat
org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException: Invalid resource request, requested resource type=[memory-mb] < 0 or greater than maximum allowed allocation. Requested resource=<memory:-1, vCores:1>, maximum allowed allocation=<memory:44786, vCores:50>, please note that maximum allowed allocation is calculated by scheduler based on maximum resource of registered NodeManagers, which might be less than configured maximum allocation=<memory:90000, vCores:50>
    at org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerUtils.throwInvalidResourceException(SchedulerUtils.java:397)
    at org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerUtils.checkResourceRequestAgainstAvailableResource(SchedulerUtils.java:338)
    at org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerUtils.validateResourceRequest(SchedulerUtils.java:288)
    at org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerUtils.normalizeAndValidateRequest(SchedulerUtils.java:259)
    at org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerUtils.normalizeAndvalidateRequest(SchedulerUtils.java:274)
    at org.apache.hadoop.yarn.server.resourcemanager.RMServerUtils.normalizeAndValidateRequests(RMServerUtils.java:250)
    at org.apache.hadoop.yarn.server.resourcemanager.DefaultAMSProcessor.allocate(DefaultAMSProcessor.java:231)
    at org.apache.hadoop.yarn.server.resourcemanager.scheduler.constraint.processor.DisabledPlacementProcessor.allocate(DisabledPlacementProcessor.java:75)
    at org.apache.hadoop.yarn.server.resourcemanager.AMSProcessingChain.allocate(AMSProcessingChain.java:92)

Пряжа-site.xml

<configuration>
    <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>ftp0</value>
    </property>
    <property>
            <name>yarn.nodemanager.vmem-pmem-ratio</name>
            <value>5</value>
    </property>
    <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
    </property>
    <property>
            <name>yarn.nodemanager.resource.detect-hardware-capabilities</name>
            <value>true</value>
    </property>
    <property>
            <name>yarn.scheduler.maximum-allocation-mb</name>
            <value>90000</value>
    </property>
    <property>
            <name>yarn.scheduler.maximum-allocation-vcores</name>
            <value>50</value>
    </property>
</configuration>

тез-site.xml

<configuration>
    <property>
        <name>tez.lib.uris</name>
        <value>${fs.defaultFS}/user/tez/tez-0.9.2.tar.gz</value>
    </property>
    <property>
        <name>tez.container.max.java.heap.fraction</name>
        <value>0.3</value>
    </property>
</configuration>

mapred-site.xml

<configuration>
    <property>
            <name>mapreduce.framework.name</name>
            <value>yarn-tez</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=/root/hadoop/hadoop-3.1.2</value>
    </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=/root/hadoop/hadoop-3.1.2</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=/root/hadoop/hadoop-3.1.2</value>
    </property>
</configuration>

Я могу запустить tez-example.tar правильно, но улей на tez получил ошибку.

Моя хадооп экосистема

1 главный узел, 2 узла данных

  • Centos 6.1
  • 100 баранов
  • 80 ядро
  • Hadoop-3.1.2
  • Улей-3.1.1
  • тез-0.9.2

Как решить это исключение, любой конфиг, который я установил неправильно?

Заранее спасибо.

0 ответов

Другие вопросы по тегам