配置Hive以本地模式运行

时间:2015-10-23 15:53:42

标签: hadoop mapreduce hive hiveql

您好我正试图在本地模式下运行Hive,我已经设置了HIVE_OPTS环境变量

export HIVE_OPTS='-hiveconf 
mapred.job.tracker=local 
-hiveconf fs.default.name=file:////<myhomedir>/hivelocal/tmp 
-hiveconf hive.metastore.warehouse.dir=file:////<myhomedir>/hivelocal/warehouse
-hiveconf javax.jdo.option.ConnectionURL=jdbc:derby:;databaseName=/<myhomedir>/hivelocal/metastore_db;create=true'

并使用hive客户端

连接到配置单元

当我创建表(名称demo)时,我仍然看到该表是在HDFS的default数据库中创建的。我希望在本地文件系统(file:///)中创建表,因为我使用hive.metastore.warehouse.dir=file:////<myhomedir>/hivelocal/warehouse设置仓库

我在这里错过了什么吗?

PS:我正在使用Cloudera发行版

1 个答案:

答案 0 :(得分:3)

我也遇到了同样的问题。以下是步骤(有试用和错误),我已经按照这个步骤进行修复。

  1. 转到 /etc/hive/conf &amp;重命名由cloudera生成的 hive-site.xml

  2. 检查 /tmp/hive 的权限并给予相应的许可。暂时,只是为了测试,我已经给出了:

    [cloudera@quickstart ~]$ sudo chmod 777 /tmp/hive/

  3. 配置本地模式:

    [cloudera@quickstart ~]$ export HIVE_OPTS='-hiveconf mapred.job.tracker=local -hiveconf fs.default.name=file:///home/cloudera/hivelocal/tmp -hiveconf hive.metastore.warehouse.dir=file:///home/cloudera/hivelocal/warehouse –hiveconf javax.jdo.option.ConnectionURL=jdbc:derby:;databaseName=/home/cloudera/hivelocal/metastore_db;create=true'

  4. 创建表格:

    hive> Create table doc_one(text string) row format delimited fields terminated by '\n' stored as textfile;

  5. /home/cloudera/hivelocal/

  6. 中成功创建了表格