Heim  >  Artikel  >  Datenbank  >  Hive部署(包括集成Hbase和Sqoop)

Hive部署(包括集成Hbase和Sqoop)

WBOY
WBOYOriginal
2016-06-07 16:30:07946Durchsuche

Hive部署(包括集成Hbase和Sqoop)? 1 安装环境 1.1 系统环境 ??? 主要是选择软件版本。 Hadoop 1.0.3 Hbase 0.94.0 Hive 0.8.1 zookeeper-3.3.5 Mysql 5.5.28 JDK 1.6 Sqoop-1.4.2 1.2 环境变量 $HDOOP_HOME:/home/hadoop/hadoop $HBASE_HOME:/home/hadoo

Hive部署(包括集成Hbase和Sqoop)?

1 安装环境

1.1 系统环境

??? 主要是选择软件版本。

  • Hadoop 1.0.3
  • Hbase 0.94.0
  • Hive 0.8.1
  • zookeeper-3.3.5
  • Mysql 5.5.28
  • JDK 1.6
  • Sqoop-1.4.2

1.2 环境变量

  • $HDOOP_HOME:/home/hadoop/hadoop
  • $HBASE_HOME:/home/hadoop/hbase
  • ?$HIVE_HOME:/home/hadoop/hive

2 下载

http://mirror.bit.edu.cn/apache/hive/hive-0.8.1/

3 解压

tar –xf hive-0.8.1.tar.gz

将解压后的hive-0.8.1文件放在系统的/home/hadoop/hive/中。

mkdir /home/hadoop/hive
mv /home/hadoop/hive-0.8.1 /home/hadoop/hive

4 修改配置文件

4.1?设置HADOOP_HOME

修改hive-0.8.1目录下/conf/hive-env.sh.template中的HADOOP_HOME为实际的Hadoop安装目录。

步骤一:进入/home/hadoop/hive/conf。

cd /home/hadoop/hive/conf

步骤二:复制hive-env.sh.template命名为hive-env.sh。

cp hive-env.sh.template hive-env.sh

步骤三:修改HADOOP_HOME目录为/home/hadoop/hadoop。

vim hive-env.sh

?修改完成之后的效果如图所示。

配置设置HADOOP_HOME结束。

4.2?在HDFS中创建/tmp/user/hive/warehouse并设置权限

步骤如下所示:

bin/hadoop fs -mkdir /tmp 
bin/hadoop fs -mkdir /user/hive/warehouse 
bin/hadoop fs -chmod g+w /tmp
bin/hadoop fs -chmod g+w /user/hive/warehouse

修改完成之后的效果如图所示:


创建/tmp和/user/hive/warehouse结束。

4.3 修改hive-site.xml

hive-site.xml主要配置项说明如下所示:

  • hive.metastore.warehouse.dir:数据存放目录,默认路径为/user/hive/warehouse
  • hive.exec.scratchdir:临时文件目录,默认路径为/tmp

步骤一:创建hive-default.xml、hive-site.xml

将conf/hive-default.xml.template复制两份,分别命名为hive-default.xml(用于保留默认配置)和hive-site.xml(用于个性化配置,可覆盖默认配置)。命令如下所示:

cd /home/hadoop/hive/conf
cp hive-default.xml.template hive-default.xml
cp hive-default.xml.template hive-site.xml

步骤二:修改hive-site.xml,命令如下所示:

cd /home/hadoop/hive/conf
vim hive-site.xml

下面是hive-site.xml文件的配置示例:

hive.metastore.warehouse.dir
/user/hive/warehouse
location of default database for the warehouse
hive.exec.scratchdir
/tmp
Scratch space for Hive jobs

修改hive-site.xml结束。

4.4?测试

在终端输入bin/hive,当你看到“hive>”,那么恭喜你,Hive已经正确安装,可以运行了。

5

5 设置Hive元数据存储

由于Hive的元数据可能要面临不断的更新、修改和读取,所以它显然不适合使用Hadoop文件系统进行存储。目前Hive将元数据存储在RDBMS中,比如MySQL、Derby中。本文选择MySQL。

5.1?连接数据库配置参数

  • javax.jdo.option.ConnectionURL:元数据连接字串
  • javax.jdo.option.ConnectionDriverName:DB连接引擎
  • javax.jdo.option.ConnectionUserName:DB连接用户名
  • javax.jdo.option.ConnectionPassword:DB连接密码

5.2?修改hive-site.xml

代码如下所示:

javax.jdo.option.ConnectionURL
jdbc:mysql://10.2.0.254:3306/hive?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore
javax.jdo.option.ConnectionUserName
hive
username to use against metastore database
javax.jdo.option.ConnectionPassword
exhive
password to use against metastore database

5.3?拷贝MySQL的JDBC驱动包

把MySQL的JDBC驱动包(mysql-connector-java-5.1.21.jar)复制到Hive的lib目录下。

Hive元数据配置结束。

5.4 测试

在Hive中创建表成功后,数据库中自动创建表格,即说明配置成功。如图所示:




?
?

6

6 Hive集成Hbase

6.1?前置条件及原理

Hadoop、hive和hbase环境搭建完成。Hive与Hbase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive-hbase-handler.jar工具类(Hive Storage Handlers)。

6.2 配置hbase与hive结合包

?将hbase-0.94.0.jar 、zookeeper-3.3.5.jar包copy至所有节点$HDOOP_HOME/lib及$HIVE_HOME/lib下。注意$HIVE_HOME/lib含有hbase包需要删除。

将protobuf-java-2.4.0a.jar包copy至所有节点$HADOOP_HOME/lib下,并需要重启集群(不重启该包不会被加载进classpath)。

将hbase-site.xml文件copy至所有节点$HDOOP_HOME/conf下。

6.3 配置hive-site.xml

代码如下所示:

hive.aux.jars.path
file:///home/hadoop/hive/lib/hive-hbase-handler-0.8.1jar,
file:/// home/hadoop/hive/lib/hbase-0.94.0.jar,
file:/// home/hadoop/hive/lib/zookeeper-3.4.5.jar

Hive与hbase集成到这里就结束了。

6.4 测试

1、启动hive,创建表。代码如下:

hive>CREATE TABLE hbase_hive(key string, value string)
STORED BY
'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES
("hbase.columns.mapping"=":key,info:value")
TBLPROPERTIES  ("hbase.table.name"= "hbase_hive");

创建表成功,表名为:hbase_hive。

2、在hive和hbase查询表hbase_hive是否存在

在hive中:

hive> show tables;

hbase_hive

在hbase中:

hbase(main):004:0> list

TABLE???????????????????????????????????????????????????????????????

hbase_hive???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

Hive和Hbase中都出现了hbase_hive这张表,表明Hive集成Hbase成功。

7

7 安装sqoop

7.1 下载sqoop

http://www.apache.org/dist/sqoop/1.4.2/sqoop-1.4.2.bin__hadoop-0.20.tar.gz

7.2?解压

tar –xf sqoop-1.4.2.bin__hadoop-0.20.tar.gz

将解压后的sqoop-1.4.2.bin__hadoop-0.20文件放在系统的/home/hadoop/sqoop/中。

mkdir /home/hadoop/sqoop
mv /home/hadoop/sqoop-1.4.2.bin__hadoop-0.20 /home/hadoop/sqoop

7.3?修改配置文件

修改sqoop目录下/conf/sqoop-env.sh.template中的HADOOP_HOME和HIVE_HOME安装目录。

步骤一:进入/home/hadoop/sqoop/conf。

cd /home/hadoop/sqoop/conf

步骤二:复制sqoop-env.sh.template命名为sqoop-env.sh。

cp sqoop-env.sh.template sqoop-env.sh 

步骤三:修改HADOOP_HOME目录为/home/hadoop/hadoop。

vim sqoop-env.sh

修改完成之后的效果如图所示。
??? 到这里,sqoop就已经安装成功。???

此博客为原创,转载请保留此出处,谢谢。 http://free9277.iteye.com/blog/1847094



已有 0 人发表留言,猛击->> 这里

ITeye推荐
  • —软件人才免语言低担保 赴美带薪读研!—



Hive部署(包括集成Hbase和Sqoop)

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Cloudera CDH4卸载Nächster Artikel:[转]Integrating Lucene with HBase