hive安装配置以及集成hbase
2016-04-26 16:35
477 查看
前期条件:已经安装完hadoop、hbase和元数据配置库mysql。
1、下载hive:http://archive.apache.org/dist/hive/hive-0.9.0/hive-0.9.0.tar.gz
2、配置hive:
解压文件在hadoop上的一个节点:tar zxvf hive-0.9.0.tar.gz
进入conf目录:
cp -rp hive-default.xml.template hive-site.xml
修改hive-site.xml中的存在路径的配置,把路径配置成绝对路径
cp -rp hive-env.sh.template hive-env.sh
cp hive-log4j.properties.template hive-log4j.properties 修改log的路径和日志名称
3、下载mysql的jar包:wget http://cdn.mysql.com/Downloads/Connector-J/mysql-connector-java-5.1.27.tar.gz
4、解压jar包,拷贝mysql-connector-java-5.1.27-bin.jar到hive的lib目录下
5、登陆mysql,创建用户和分配权限:
mysql -u root -p
mysql> create database hivedemo;
Query OK, 1 row affected (0.00 sec)
mysql>GRANT ALL PRIVILEGES ON hivedemo.* TO ‘hiveuser’@'%’ IDENTIFIED BY ‘hivepassword’;
mysql>Exit;
6、配置hive的hive-env.sh:
HADOOP_HOME=${HADOOP_HOME}
export HIVE_CONF_DIR=/home/hadoop/hive-0.9.0/conf
export HIVE_AUX_JARS_PATH=/home/hadoop/hive-0.9.0/lib
7、配置hive的hive-site.xml:
替换:
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=metastore_db;create=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
为:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hivedemo?createDatabaseIfNotExist=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.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
更改mysql用户名:
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hiveuser</value>
<description>username to use against metastore database</description>
</property>
更改mysql密码:
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hivepassword</value>
<description>password to use against metastore database</description>
</property>
9、启动hive,验证是否正确安装部署:
cd /root/test_data/hive-0.9.0/bin
执行 sh hive
执行show databaes;
如果显示default,表示已经正确安装hive.
10、配置hive-site.xml 增加对hbase连接的jar包:
<property>
<name>hive.aux.jars.path</name>
<value>
file:///root/test_data/hive-0.9.0/lib/hive-hbase-handler-0.9.0.jar,
file:///home/hadoop/hbase-0.94.5/hbase-0.94.5.jar,
file:///zookeeper-3.4.5/zookeeper-3.4.5.jar
</value>
</property>
11、重新进入hive:
cd /root/test_data/hive-0.9.0/bin
sh hive -hiveconf hbase.zookeeper.quorum=mongo-01,mongo-02,mongo-03
其中mongo-01,mongo-02,mongo-03为zookeeper服务器的hostname
创建hive对应hbase的表:
CREATE EXTERNAL TABLE poi(key string, attributes string,histories string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,data:attributes,data:histories");
12、执行查询统计语句,检查结果:
select count(*) from poi;
1、下载hive:http://archive.apache.org/dist/hive/hive-0.9.0/hive-0.9.0.tar.gz
2、配置hive:
解压文件在hadoop上的一个节点:tar zxvf hive-0.9.0.tar.gz
进入conf目录:
cp -rp hive-default.xml.template hive-site.xml
修改hive-site.xml中的存在路径的配置,把路径配置成绝对路径
cp -rp hive-env.sh.template hive-env.sh
cp hive-log4j.properties.template hive-log4j.properties 修改log的路径和日志名称
3、下载mysql的jar包:wget http://cdn.mysql.com/Downloads/Connector-J/mysql-connector-java-5.1.27.tar.gz
4、解压jar包,拷贝mysql-connector-java-5.1.27-bin.jar到hive的lib目录下
5、登陆mysql,创建用户和分配权限:
mysql -u root -p
mysql> create database hivedemo;
Query OK, 1 row affected (0.00 sec)
mysql>GRANT ALL PRIVILEGES ON hivedemo.* TO ‘hiveuser’@'%’ IDENTIFIED BY ‘hivepassword’;
mysql>Exit;
6、配置hive的hive-env.sh:
HADOOP_HOME=${HADOOP_HOME}
export HIVE_CONF_DIR=/home/hadoop/hive-0.9.0/conf
export HIVE_AUX_JARS_PATH=/home/hadoop/hive-0.9.0/lib
7、配置hive的hive-site.xml:
替换:
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=metastore_db;create=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
为:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hivedemo?createDatabaseIfNotExist=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.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
更改mysql用户名:
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hiveuser</value>
<description>username to use against metastore database</description>
</property>
更改mysql密码:
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hivepassword</value>
<description>password to use against metastore database</description>
</property>
9、启动hive,验证是否正确安装部署:
cd /root/test_data/hive-0.9.0/bin
执行 sh hive
执行show databaes;
如果显示default,表示已经正确安装hive.
10、配置hive-site.xml 增加对hbase连接的jar包:
<property>
<name>hive.aux.jars.path</name>
<value>
file:///root/test_data/hive-0.9.0/lib/hive-hbase-handler-0.9.0.jar,
file:///home/hadoop/hbase-0.94.5/hbase-0.94.5.jar,
file:///zookeeper-3.4.5/zookeeper-3.4.5.jar
</value>
</property>
11、重新进入hive:
cd /root/test_data/hive-0.9.0/bin
sh hive -hiveconf hbase.zookeeper.quorum=mongo-01,mongo-02,mongo-03
其中mongo-01,mongo-02,mongo-03为zookeeper服务器的hostname
创建hive对应hbase的表:
CREATE EXTERNAL TABLE poi(key string, attributes string,histories string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,data:attributes,data:histories");
12、执行查询统计语句,检查结果:
select count(*) from poi;
相关文章推荐
- django admin ModelForm field 验证
- telnet命令 测试端口连接是否正常
- 知道这20个正则表达式,能让你少写1,000行代码
- java中继承的知识点回顾
- iOS单元测试GHUnit + OCMock(不使用cocoapods版)
- Leetcode:343. Integer Break
- Oracle数据导入导出imp/exp
- 15 个必知的 Android 开发者选项
- Detect UI & Text Changes in DOM Tree with MutationObserver
- 爬虫之自动生成url
- BJFU 1551 ——delightful world——————【暴搜】
- Linux -- 安装配置Android SDK
- 【剑指offer-Java版】32从1到n的整数中1出现的次数
- 页面优化之标题应该从它下手?!
- JAVA_SE基础——61.字符串入门
- 获取MAC地址以及MD5加密
- 暴力遍历-BZOJ-1622- [Usaco2008 Open]Word Power 名字的能量
- Unity中鼠标左键按下,拖拽物体移动
- C#开发微信门户及应用(36)--微信卡劵管理的封装操作
- IIS 7.5配置PHP站点