您的位置:首页 > 其它

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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: