我正在使用Hadoop 2.4.0 Hortonworks
我对Hadoop很新,目前正在使用Hue / Beeswax运行我的标准查询,但是,我现在需要开始创建基本的shell脚本来执行稍微复杂的查询。由于我在Win7机器上,我安装了Cygwin并使用SSH连接到Hadoop服务器。在尝试简单的测试查询时,我收到以下错误: -
hive -e "select actual_date from dm.date_dim limit 10"
AccessControlException: User blah cannot submit applications to queue root.default
根据某人的建议,我先尝试更改队列名称: -
set mapred.job.queuename=foo
注意,如果我运行相同的查询但是选择all,即不需要MapReduce作业,则查询成功: -
hive -e "select * from dm.date_dim limit 10"
我的IT部门和其他内部shell脚本开发人员对此(很多天)的响应非常缓慢,所以有什么建议我应该检查或尝试。我被告知,如果更改队列名称已经有效,那么我可以把它放在我的.hiverc文件中,我不确定它在哪里。
这是权限吗?我应该配置其他东西吗?
我很感激任何帮助,但要注意我最近才开始学习Linux,所以你可能需要愚蠢地回复任何问题。
答案 0 :(得分:1)
您的组织必须指定一些队列才能将群集资源分配给多个团队。因此,如果您未指定作业队列,则除“select *”之外的任何查询都不会运行。因此,在运行您的配置单元查询时,只需添加此配置,您的查询就会运行:
hive -hiveconf mapred.job.queue.name=foo -e "select actual_date from dm.date_dim limit 10"