Hive安装配置详解

本文主要是在Hadoop单机模式中演示Hive默认(嵌入式derby 模式)安装配置过程,目录结构如下:

  • 基础环境
  • Hive安装配置
  • 启动及演示

[一]、基础环境

[二]、Hive安装配置

1、下载发布包

到官方下载最近发布包以 0.12.0为例:

1 tar -zxf hive-0.12.0-bin.tar.gz -C /usr/local/share
2 cd /usr/local/share
3 ln -s hive-0.12.0-bin hive

本文中 HIVE_HOME = “/usr/local/share/”

2、设置环境变量

执行 vi ~/.profile ,添加如下内容:

1 #Hive @micmiu.com
2 export HIVE_HOME="/usr/local/share/hive"
3 export PATH=$HIVE_HOME/bin:$PATH

3、配置文件

在目录 <HIVE_HOME>/conf 目录下有4个模板文件:

1 hive-default.xml.template
2 hive-env.sh.template
3 hive-exec-log4j.properties.template
4 hive-log4j.properties.template

copy 生成四个配置文件然后既可自定义相关属性:

1 cd  /usr/local/share/hive/conf
2 $ copy hive-default.xml.template hive-site.xml
3 $ copy hive-env.sh.template hive-env.sh
4 $ copy hive-exec-log4j.properties.template hive-exec-log4j.properties
5 $ copy hive-log4j.properties.template hive-log4j.properties

ps:注意文件名称: hive-site.xml ,本文以嵌入式derby 模式做演示,故以默认配置即可无效修改相关参数。

不过官方0.12.0的发布版本中的 hive-default.xml.template 中有 bug,在 2000行:

<value>auth</auth>  修改为:<value>auth</value>

有关 hive.metastore.schema.verification 版本检查的问题,有两个解决办法

方法一:修改配置文件

第一次运行前先将 hive.metastore.schema.verification 设为false

1 ......
2 <!-- 设为false 不做验证-->
3 <name>hive.metastore.schema.verification</name>
4 <value>false</value>
5 ......

方法二:不改配置,先初始化好数据

执行初始化命令:schematool -dbType derby -initSchema

1 micmiu-mbp:~ micmiu$ schematool -dbType derby -initSchema
2 Metastore connection URL:    jdbc:derby:;databaseName=metastore_db;create=true
3 Metastore Connection Driver :    org.apache.derby.jdbc.EmbeddedDriver
4 Metastore connection User:   APP
5 Starting metastore schema initialization to 0.12.0
6 Initialization script hive-schema-0.12.0.derby.sql
7 Initialization script completed
8 schemaTool completeted

查看初始化后的信息: schematool -dbType derby -info

1 micmiu-mbp:~ micmiu$ schematool -dbType derby -info
2 Metastore connection URL:    jdbc:derby:;databaseName=metastore_db;create=true
3 Metastore Connection Driver :    org.apache.derby.jdbc.EmbeddedDriver
4 Metastore connection User:   APP
5 Hive distribution version:   0.12.0
6 Metastore schema version:    0.12.0
7 schemaTool completeted

详见:https://cwiki.apache.org/confluence/display/Hive/Hive+Schema+Tool

以上方法都可以,否则第一次运行时会类似如下的报错信息:

1 ERROR exec.DDLTask (DDLTask.java:execute(435)) - org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
2         at org.apache.hadoop.hive.ql.metadata.Hive.getDatabase(Hive.java:1143)
3         ......
4 Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
5         at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1212)
6         ......
7 Caused by: java.lang.reflect.InvocationTargetException
8         ......
9 Caused by: MetaException(message:Version information not found in metastore. )
10         at org.apache.hadoop.hive.metastore.ObjectStore.checkSchema(ObjectStore.java:5638)
11         at org.apache.hadoop.hive.metastore.ObjectStore.verifySchema(ObjectStore.java:5622)
12         ......

4、配置dfs中得目录和权限

1 $ hdfs dfs -mkdir       /tmp
2 $ hdfs dfs -mkdir       /user/hive/warehouse
3 $ hdfs dfs -chmod g+w   /tmp
4 $ hdfs dfs -chmod g+w   /user/hive/warehouse

[三]、运行和测试

确保HADOOP_HOME 在环境变量中配置好,然后以CLI(command line interface)方式下运行,直接执行命令  hive 即可,然后执行一些测试命令如下:

1 hive> show databases;
2 OK
3 default
4 Time taken: 4.966 seconds, Fetched: 1 row(s)
5 hive> show tables;
6 OK
7 Time taken: 0.186 seconds
8 hive> CREATE TABLE micmiu_blog (id INT, siteurl STRING);
9 OK
10 Time taken: 0.359 seconds
11 hive> SHOW TABLES;
12 OK
13 micmiu_blog
14 Time taken: 0.023 seconds, Fetched: 1 row(s)
15 hive>

到此嵌入式derby 模式下的Hive安装配置已经成功。

参考:

  • https://cwiki.apache.org/confluence/display/Hive/Home
  • https://cwiki.apache.org/confluence/display/Hive/GettingStarted
  • https://cwiki.apache.org/confluence/display/Hive/Hive+Schema+Tool
  • https://cwiki.apache.org/confluence/display/Hive/AdminManual+MetastoreAdmin

—————–  EOF @Michael Sun —————–

Hive是基于Hadoop的数据仓库工具,它可以将结构化数据映射为一张数据库表,并提供类似SQL语言的查询功能,使得数据分析师和开发人员可以使用SQL语言来查询和分析大规模的数据。下面是Hive安装配置详解: 1. 安装Java Hive需要Java环境来运行,所以需要先安装Java。可以通过以下命令来安装Java: ``` sudo apt-get update sudo apt-get install default-jdk ``` 2. 安装Hadoop Hive是基于Hadoop的,所以需要先安装Hadoop。可以参考Hadoop的安装配置教程。 3. 下载Hive 可以从Hive的官方网站下载最新的版本,也可以从Apache的镜像站点下载。下载完成后,解压缩到指定目录,比如/opt/hive。 4. 配置Hive 配置文件位于Hive的conf目录下,修改hive-env.sh文件,设置JAVA_HOME和HADOOP_HOME变量的值,比如: ``` export JAVA_HOME=/usr/lib/jvm/default-java export HADOOP_HOME=/opt/hadoop ``` 另外,还需要修改hive-site.xml文件,将以下属性设置为对应的值: ``` <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:derby:/opt/hive/metastore_db;create=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>org.apache.derby.jdbc.EmbeddedDriver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value> <description>password to use against metastore database</description> </property> ``` 5. 启动Hive 启动Hive之前,需要先启动Hadoop。启动Hadoop后,可以通过以下命令启动Hive: ``` cd /opt/hive/bin ./hive ``` 启动成功后,可以在Hive的Shell中输入SQL语句,比如: ``` hive> show tables; ``` 以上就是Hive安装配置详解
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值