我是Hadoop和Hive的新手.
我正在使用Hadoop 2.6.4(我从互联网获得的二进制文件)和Hive 2.0.1(我从互联网获得的二进制文件).我可以在配置单元中创建数据库和表.
但是,当我尝试将记录插入到以前创建的表中时,我得到:"org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue:maximum-am-resource-percent不足以启动单个应用程序队列"
我正在使用默认值,因此有一个队列"root"并且它正在运行
<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>
Run Code Online (Sandbox Code Playgroud)
<property>
<name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
<value>1.0</value>
<description>
Maximum percent of resources in the cluster which can be used to run
application masters i.e. controls number of concurrent running
applications.
</description>
</property>
Run Code Online (Sandbox Code Playgroud)
根据文档,这意味着我已经100%分配给我的唯一默认调度程序队列.[ https://hadoop.apache.org/docs/r2.6.4/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html]"yarn.scheduler.capacity.maximum-am-resource-percent / yarn.scheduler. capacity..maximum-am-resource-percent群集中可用于运行应用程序主机的最大资源百分比 - 控制并发活动应用程序的数量.每个队列的限制与其队列容量和用户限制成正比.浮点数 - 即0.5 = 50%.默认值为10%.这可以通过yarn.scheduler.capacity.maximum-am-resource-percent为所有队列设置,也可以通过设置yarn.scheduler在每个队列的基础上覆盖.capacity..maximum-AM-资源百分比"
谁能告诉我如何解决这个问题?
我想检查一个变量是否为空:
function send_null_param ([ref]$mycredentials){
if (! $mycredentials) {
Write-Host 'Got no credentials'
$mycredentials = Get-Credential 'mydomain.com\myuserid'
} else {
Write-Host 'Got credentials'
}
}
$myidentifier = $null
send_null_param ([ref]$myidentifier)
Run Code Online (Sandbox Code Playgroud)
此代码基于: https://www.thomasmaurer.ch/2010/07/powershell-check-variable-for-null/,但这不起作用。
我怎样才能解决这个问题?
附:Stack Overflow 中有一些字符串为 null 但不是更通用的内容: 检查字符串是否为 NULL 或 EMPTY