ubuntu下hive-0.8.1配置

1、下载hive包wget http://labs.mop.com/apache-mirror/hive/stable/hive-0.8.1.tar.gz,并用tar -xzvf 将其解压到要安装的目录,我是放在/home/ckl/hadoop-0.20.2/hive

2、vim ~/.bashrc

export HIVE_HOME=$HADOOP_HOME/hive

export PATH=$HIVE_HOME/bin:$PATH

3、hive配置

vim hive/conf/hive-env.sh.template 

HADOOP_HOME=/home/ckl/hadoop-0.20.2

cd hive/conf/

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

chmod +x hive-env.sh

4、在HDFS下创建两个hive文件夹(带有/的是dfs的根目录,没有/的是当前用户所在的目录)



hadoop fs -mkdir /tmp

hadoop fs -mkdir /hive/warehouse

hadoop fs -chmod g+w /tmp

hadoop fs -chmod g+w hive/warehouse


5、将conf/hive-default.xml.template复制两份,分别命名为hive-default.xml(用于保留默认配置)和hive-site.xml(用于个性化配置,可覆盖默认配置)

6、此时关闭终端,重新运行,执行hive则可以成功

7、 测试MapReduce

CREATE TABLE pokes (foo INT, bar STRING);

将内部测试数据载入pokes表中

LOAD DATA LOCAL INPATH '/home/ckl/hadoop-0.20.2/hive/examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;

select foo from pokes;

如果最终能正确显示一堆的数字,表明Hive结合MapReduce使用没问题。

8、上述配置hive默认使用的derby内嵌数据库,而这种数据库只支持一个会话连接。要使用多个会话连接可以使用独立的数据库,这里用的是mysql

apt-get install mysql-server

测试mysql:

mysql -uroot -p

create database hive;

grant all on hive.* to hive@localhost identified by '123456';//创建hive用户,密码为123456


9、将conf/hive-site.xml相应标签修改成

<property>

  <name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://localhost: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>123456</value>

  <description>password to use against metastore database</description>

</property>

10、下载mysql的jdbc驱动包

wget http://downloads.mysql.com/archives/mysql-connector-java-5.0/mysql-connector-java-5.0.8.tar.gz

tar -xzvf mysql-connector-java-5.0.8.tar.gz

将文件夹里面的mysql-connector-java-5.0.8-bin.jar复制到hive/lib下

11、测试hive

show tables;

Hive上建立数据表:

CREATE TABLE my(id INT,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ';

show tables;

select name from my;


退出hive,登陆mysql

mysql -uhive -p

mysql> use hive

mysql> show tables;

mysql> select * from TBLS;//在TBLS表中可以看到my这个表

原文地址:https://www.cnblogs.com/jamesf/p/4751582.html