Hadoop搭建教程学习笔记(4)

1、解压与安装
 
解压hive-0.9.0.tar.gz到/opt/目录下:

tar -zxvf hive-0.9.0.tar.gz -C /opt

mv /opt/hive-0.9.0 /opt/hive

2、配置hive-env.sh

Hive提供了一个模版文件hive-env.sh.template,复制一份改名为hive-env.sh

cp hive-env.sh.template hive-env.sh

配置JAVA_HOME、配置HIVE的主目录,并把HIVE的bin加入环境变量:

export JAVA_HOME=/usr/java/jdk/

export HIVE_HOME=/opt/hive

export PATH=$PATH:$HIVE_HOME/bin

export Hadoop_HOME=/opt/hadoop

3、配置conf/hive-site.xml

默认没有提供hive-site.xml,仅提供了配置模版hive-default.xml.template,我们需要把它复制成为hive-default.xml和hive-site.xml

cp hive-default.xml.template hive-default.xml

cp hive-default.xm.template hive-site.xml

其实,可以先把hive-site.xml里面所有的<property>节点全部删除(如果不删除,进行配置需要先查找原来的配置有则进行修改,无则添加。麻烦!删除后清晰!)。

4、Hive集成HBase

将Hive的lib目录里面的HBase.jar包用实际安装的HBase的jar包替换掉。

rm -rf /opt/hive/hbase.jar

cp /opt/hbase/hbase-*.jar /opt/hive/lib/

交Hive的lib目录里面的zookeeper包用HBase的lib目录里面的替换掉

rm -rf zookeeper*.jar

cp /opt/hbase/lib/zookeeper*.jar /opt/hive/lib

在hive-site.xml中添加

<property>
 
  <name>hive.aux.jars.path</name>

<value>file:///opt/hive/lib/hive-hbase-handler-0.9.0.jar,file:///opt/hive/lib/hbase-0.94.2.jar,file:///opt/hive/lib/zookeeper-3.4.3.jar</value>

</property>

运行

/hive-hiveconf hbase.master=master.60000

测试:

create table htest(key int, value string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties('hbase.columns.mapping'=':key,f:value') tblproperties('hbase.table.name'='htest');

select * from htest

5、使用MySQL管理Meta数据

安装MySql

yum -y install mysql mysql-server 

配置Mysql默认编码:

vi /etc/my.cnf 

#在[mysqld]配置组下添加

default-character-set=utf8 

#新添加组[mysql],如果组[mysql]已存在,只需在组下加入便可

default-character-set=utf8 

设置MySQL服务开机自动启动: 

chkconfig mysqld on 启动MSQL服务 

service mysqld start 设置MySQL密码:

首次安装,无密码,直接mysql进入,执行下面SQL:

set password for root@localhost=password("在这里填入root密码"); 

非首次安装,有密码,使用下面命令修改密码:

/ust/bin/mysqladmin -uroot -p password root 

创建hive库,并设置编码:

create database hive;

alter database hive character set latin1;

把MySQL的JDBC驱动包放入Hive的lib下: 

cp mysql-connector-java-5.1.21.jar /opt/hive/bin 

在hive-site.xml中修改或添加:
<property> 
   
  <name>javax.jdo.option.ConnectionURL</name> 
 
  <value> 
 
jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useUnicode=false&characterEncoding=latin1 
 
  </value> 
 
</property> 
 
<property> 
 
  <name>javax.jdo.option.ConnectionDriverName</name> 
 
  <value>com.mysql.jdbc.Driver</value> 
 
</property> 
 
<property> 
 
  <name>javax.jdo.option.ConnectionUserName</name> 
 
  <value>root</value> 
 
</property> 
 
<property> 
   
  <name>javax.jdo.option.ConnectionPassword</name> 
 
  <value>root</value> 
 
</property>

经过以上配置可在mysql中保存Meta信息

6、执行

进入hive命令行:

/hive 

使用Hive命令:

show tables; 

#存储在文本文件中

create table my(id int, name string) row format delimited fields terminated by '\t' stored as textfile;

describe my;

load data local inpath '/opt/data/test.txt' overwrite into table my;

select * from my limit 10;

select count(*) from my;

drop table my;

7、Hive常见配置解释(未完)

hive.exec.mode.local .auto

默认:false

定义:自动进入本地模式

描述:设置为true可进入本地模式,便于调试

相关阅读:hive 终端产生的问题 (Failed to start database 'metastore_db', see the next exception for details.) 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/c83ead3578b9afa1c48d678db26224ff.html