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文件的配置示例:
<property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> <description>location of default database for the warehouse </description> </property> <property> <name>hive.exec.scratchdir</name> <value>/tmp</value> <description>Scratch space for Hive jobs</description> </property>
修改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
代码如下所示:
<property> <name>javax.jdo.option.ConnectionURL</name> <value> jdbc:mysql://10.2.0.254:3306/hive?createDatabaseIfNotExist=true </value> <description> JDBC connect string for a JDBC metastore </description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</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>exhive</value> <description> password to use against metastore database </description> </property>
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
代码如下所示:
<property> <name>hive.aux.jars.path</name> <value> 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 </value> </property>
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
相关推荐
在本文档中,我们将详细介绍如何搭建一个大数据集群环境,包括 Hadoop、HBase、Hive 和 Sqoop 的安装配置及使用。该文档将分为四部分:Hadoop 集群环境搭建、HBase 集群环境搭建、Hive 集群环境搭建和 Sqoop 集成...
小牛学堂-大数据24期-04-Hadoop Hive Hbase Flume Sqoop-12天适合初学者.txt
3.集群能正常运行的条件是集群可节点宕机数应保证有超过集群机器总数一半的机器在运行,因此从经济和实用性来说,集群的节点一般是奇数个,本文部署4台机器,其容灾能力与部署3台机器一致,即只能宕机1台
本压缩包"hadop安装文件.rar"提供了关于Hadoop及其相关组件(如Hive、HBase、Sqoop和MySQL)的安装步骤,这对于初学者和系统管理员来说是一份宝贵的资源。 首先,我们来详细了解一下Hadoop。Hadoop由Apache软件基金...
Hadoop+Hive+Mysql+Zookeeper+Hbase+Sqoop详细安装手册
flume、hive和sqoop的实用案例:flume收集日志hive负责处理数据sqoop负责将数据导出到mysql中供页面展示
- 使用Sqoop的`--create-hbase-table`选项指定HBase表的列族和列。 - 运行Sqoop命令,将MySQL数据导入到HBase中。 **4. 使用HBase Java API把数据从本地导入到HBase中**: - 创建Java项目,导入HBase相关依赖库...
综上所述,这个分布式数据库课程设计项目通过整合 Hbase、Hive、MySQL、Sqoop 等工具,实现了从数据采集、存储、分析到可视化的全流程,展现了大数据处理的一般流程和关键技术。通过实际操作,学习者可以深入理解和...
本篇笔记主要围绕 Sqoop 的使用场景、安装步骤以及如何配合 Hive 和 Hbase 使用进行展开。 #### 二、数据传输流程设计 最初的设计方案是通过 Sqoop 将数据从 PostgreSQL 导入到 Kafka,再通过存储程序将 Kafka 的...
出现此问题时使用:java.lang.NullPointerException at org.json.JSONObject.(JSONObject.java:144) at org.apache.sqoop.util.SqoopJsonUtil.... at org.apache.sqoop.Sqoop.main(Sqoop.java:252)
mapreduce方式入库hbase hive hdfs,速度很快,里面详细讲述了代码的编写过程,值得下载
标题 "Hadoop、HBase、Hive、Pig、Zookeeper资料整理" 涵盖了大数据处理领域中几个核心的开源项目,这些项目在分布式计算、数据存储和管理方面发挥着重要作用。以下是对这些技术的详细介绍: 1. **Hadoop**:Hadoop...
叶梓老师整理的Hadoop2.2.0+Hbase0.98.4+sqoop-1.4.4+hive-0.98.1安装手册,非常实用
在大数据领域,构建一个完整的生态系统是至关重要的,其中包括多个组件,如Hadoop、Spark、Hive、HBase、Oozie、Kafka、Flume、Flink、Elasticsearch和Redash。这些组件协同工作,提供了数据存储、处理、调度、流...
Sqoop 工具是 Hadoop 下连接关系型数据库和 Hadoop 的桥梁,支持关系型数据库和 hive、hdfs、hbase 之间数据的相互导入。 Sqoop 的安装与使用可以分为以下几个步骤: 首先,需要安装 Sqoop 工具,Sqoop 工具的...
文中介绍了通过 Sqoop 在 MySQL 和 HDFS 之间、MySQL 和 Hive 之间以及 MySQL 和 HBase 之间的数据互导过程,包括如何处理常见的错误。同时,也详细记录了 MySQL 用户创建、授权、数据插入和 Sqoop 配置的相关细节。...
【sqoop将MySQL数据导入Hbase2.1.6】...总的来说,将MySQL数据导入Hbase2.1.6涉及的关键步骤包括设置正确的Sqoop参数,创建HBase表和列族,以及处理好复合主键。在操作过程中,要注意这些细节,以便顺利完成数据迁移。
在大数据处理领域,Hadoop、HBase和Hive是三个重要的组件,它们分别扮演着不同的角色,共同构建了一个高效、可扩展的数据处理生态系统。本文将详细介绍这三个组件的整合工程和相关文档,帮助读者理解如何在实际项目...