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 人发表留言,猛击->> 这里
申明:本教程内容由威凡网编辑整理并提供IT程序员分享学习,如文中有侵权行为,请与站长联系(QQ:254677821)!