Hive(2.1.0)配置过程

1、解压hive到hadoop的source目录下

2、配置环境变量

export HIVE_HOME=/usr/local/hadoop/hive
export HIVE_CONF_DIR=$HIVE_HOME/conf
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
export PATH=$PATH:$HIVE_HOME/bin

3、配置教程参考地址:http://www.cnblogs.com/bjtu-leefon/p/3170044.html (不能完全参考)    

 1)更改用户权限。在终端中输入如下命令:

sudo chown -R hadoop:hadoop hive

2)进入hive的conf目录

      复制hive-default.xml.template文件两次,将文件名分别更改为,hive-default.xml和hive-site.xml,hive-default.xml为hive默认配置文件,不需要修改,hive-site.xml为用户自定义配置文件,在启动hive时用户自定义修改的部分会覆盖默认配置。

3)在hive的目录下,新建warehouse、tmp、log文件夹。

      此时修改hive-site.xml中的对应路径。

<property>
   <name>hive.metastore.warehouse.dir</name>
   <value>修改为warehouse文件夹路径(例如:/usr/local/hadoop/hive/warehouse)
   </value>
   <description>location of default database for the warehouse</description>
</property>
<property>
   <name>hive.querylog.location</name>
   <value>修改为log文件夹的路径(例如:/usr/local/hadoop/hive/log)</value>
   <description>
    Location of Hive run time structured log file
   </description>
</property>
<property>
    <name>hive.downloaded.resources.dir</name>
    <value>修改为tmp文件夹的地址(例如:/usr/local/hadoop/hive/tmp</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
</property>

4)进入hive的conf目录

      复制hive-env.sh.template更改名字为hive-env.sh

      修改hive-env.sh的内容。

      将export HADOOP_HEAPSIZE=1024前面的‘#’去掉,当然可以根据自己的环境对这个默认的1024进行优化;

      将export HADOOP_HOME前面的‘#’号去掉,并让它指向所安装hadoop的目录,例如:/usr/local/hadoop

      export HIVE_CONF_DIR、export HIVE_AUX_JARS_PATH同理,配置相应路径。

      将export HIVE_CONF_DIR=/usr/local/hadoop/hive/conf,并且把‘#’号去掉;

      将export HIVE_AUX_JARS_PATH=/usr/local/hadoop/hive/lib,并且把‘#’号去掉。

4、初始化元数据库

     本例中将初始化元数据为远程mysql(同时替换内置derby元数据库为mysql)

     未初始化数据库会报如下错误:

     Exception in thread “main” java.lang.RuntimeException: Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType …) to create the schema.

    运行./schematool -initSchema -dbType ...命令初始化元数据

   -dbType后跟的相关参可选:derby|mysql|postgres|oracle

   derby数据库为hive的内置数据库,不需要修改配置文件,如果使用mysql,需要修改配置文件:

   参考教程:http://www.cnblogs.com/linjiqin/archive/2013/03/04/2943025.html

 1)新建mysql数据库hivedb,并建立用户hivedb,设置密码

 2)修改hive-site.xml中原本为derby的配置项

修改内容如下:

 

 <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://远程mysql服务器IP地址:3306/hivedb</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>hivedb(mysql用户名)</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>hivedb(mysql用户密码)</value>
</property>

 3)因为上面配置了com.mysql.jdbc.Driver,所以需要引入mysql-connector-java-5.1.27.jar,将jar包放入hive目录下的lib文件夹中。

 4)在进入hive目录下的bin目录,运行命令:./schematool -initSchema -dbType mysql

 运行成功,结果如下:

5)然后输入hive,启动hive,出现输入框即启动成功。

   6)进一步验证:

   1)在Hive上建立数据表

   hive> CREATE TABLE test(id INT,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

  2)在hive输入框中输入 show tables 命令,查看是否显示表test。

  3)从 MySQL 数据库上查看元数据信息,从mysql的终端输入命令

     select * from tbls

     查看是否显示表test的相关信息,显示,即建表成功。

5、启动报错: 

Logging initialized using configuration in jar:file:/usr/local/hadoop/hive/lib/hive-common-2.1.0.jar!/hive-log4j2.properties Async: true

Exception in thread "main" java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwxr-xr-x

权限问题,解决方案:

输入命令:hadoop fs -chmod -R 777 /tmp/hive

转载于:https://my.oschina.net/u/2478308/blog/757486

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值