hive能否把任务提交到yarn集群
时间: 2023-08-05 09:14:29 浏览: 165
0439-Hive启用Sentry后如何限制用户提交Yarn资源池
是的,Hive可以将任务提交到YARN集群上运行。默认情况下,Hive使用MapReduce作为执行引擎,可以通过设置Hive配置参数来将任务提交到YARN集群上运行。具体步骤如下:
1. 确认Hadoop集群和YARN集群已经正确配置并运行。
2. 在hive-site.xml中设置以下参数:
```
<property>
<name>hive.execution.engine</name>
<value>tez</value>
</property>
<property>
<name>hive.tez.container.size</name>
<value>1024</value>
</property>
<property>
<name>hive.tez.java.opts</name>
<value>-Xmx819m</value>
</property>
<property>
<name>hive.tez.log.level</name>
<value>INFO</value>
</property>
<property>
<name>hive.server2.tez.initialize.default.sessions</name>
<value>true</value>
</property>
<property>
<name>hive.server2.tez.sessions.per.default.queue</name>
<value>1</value>
</property>
<property>
<name>hive.server2.tez.default.queues</name>
<value>default</value>
</property>
<property>
<name>hive.execution.engine</name>
<value>mr</value>
</property>
<property>
<name>hive.exec.submitviachild</name>
<value>false</value>
</property>
<property>
<name>mapreduce.jobtracker.address</name>
<value>yarn-cluster</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hostname:port</value>
</property>
```
3. 将hive-exec-x.x.x.jar、hive-metastore-x.x.x.jar、hive-common-x.x.x.jar、hive-cli-x.x.x.jar、hive-service-x.x.x.jar和hive-service-rpc-x.x.x.jar添加到Hadoop的share/hadoop/mapreduce/lib目录中。
4. 在Hive中执行任务时,可以使用以下命令将任务提交到YARN集群上运行:
```
set mapreduce.framework.name=yarn;
set yarn.resourcemanager.address=<resourcemanager_address>;
```
其中,<resourcemanager_address>是YARN资源管理器的地址。
这样就可以将Hive任务提交到YARN集群上运行了。
阅读全文