Heim > Datenbank > MySQL-Tutorial > Hauptteil

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

WBOY
Freigeben: 2016-06-07 16:30:07
Original
945 Leute haben es durchsucht

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
Nach dem Login kopieren

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

mkdir /home/hadoop/hive
Nach dem Login kopieren
mv /home/hadoop/hive-0.8.1 /home/hadoop/hive
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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

cp hive-env.sh.template hive-env.sh
Nach dem Login kopieren

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

vim hive-env.sh
Nach dem Login kopieren

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

配置设置HADOOP_HOME结束。

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

步骤如下所示:

bin/hadoop fs -mkdir /tmp 
Nach dem Login kopieren
bin/hadoop fs -mkdir /user/hive/warehouse 
Nach dem Login kopieren
bin/hadoop fs -chmod g+w /tmp
Nach dem Login kopieren
bin/hadoop fs -chmod g+w /user/hive/warehouse
Nach dem Login kopieren

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


创建/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
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
cp hive-default.xml.template hive-default.xml
Nach dem Login kopieren
cp hive-default.xml.template hive-site.xml
Nach dem Login kopieren

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

cd /home/hadoop/hive/conf
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
vim hive-site.xml
Nach dem Login kopieren

下面是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
Nach dem Login kopieren

修改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
Nach dem Login kopieren

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
Nach dem Login kopieren

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");
Nach dem Login kopieren

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

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

在hive中:

hive> show tables;
Nach dem Login kopieren

hbase_hive

在hbase中:

hbase(main):004:0> list
Nach dem Login kopieren

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
Nach dem Login kopieren

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

mkdir /home/hadoop/sqoop
Nach dem Login kopieren
mv /home/hadoop/sqoop-1.4.2.bin__hadoop-0.20 /home/hadoop/sqoop
Nach dem Login kopieren

7.3?修改配置文件

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

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

cd /home/hadoop/sqoop/conf
Nach dem Login kopieren

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

cp sqoop-env.sh.template sqoop-env.sh 
Nach dem Login kopieren

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

vim sqoop-env.sh
Nach dem Login kopieren

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

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



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

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



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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!