更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
Hive在FreeBSD的安装配置上,跟Linux的差别不是很大,主要要注意一个shell的问题,FreeBSD下默认是没有bash的,所以需要先安装一个bash上去才可以正常的使用Hive。
主要说说配置Metastore的部分。
Hive目前比较流行的有三种数据库当元数据管理的方式,mysql,pgsql,derby。derby属于hive默认安装就带的,无需配置,直接把hive解压缩就可以了。mysql和pgsql是目前使用最广泛的数据库。但是实际上,只要理解了hive对metastore的访问,就可以知道,只要是可以支持JDBC的关系型数据库,都可以当元数据的管理。比如Oracle或者SQL Server也可以用来存储元数据的关系表。只要你有这种JDBC的驱动就可以了。
先说下postgreSQL吧,要使用pgsql的话,当然你需要一个能够正常访问的pgsql,以及正常的访问权限。以下示例数据库名和用户名密码我都用hive,这个自己安装的时候修改一下就好了。
默认的hive从apache下载下来,解压缩之后需要设置一下环境变量HADOOP_HOME和JAVA_HOME,这个是由于hive是hadoop之上封装的应用,相当于一个扩展工具,所以对HDFS和map/reduce访问都需要使用hadoop的接口。
PostgreSQL:
需要先从这个地址下载对应你pgsql版本的jdbc驱动
http://jdbc.postgresql.org/download.html
然后将jar包放到$HIVE_HOME/lib/,就可以了。
将默认的hive-default.xml.template复制一份并改名为hive-site.xml,编辑这个文件,将下列部分是默认的derby访问,需要注释掉:
几种数据库配置形式是一样的。
<!--<
property
>
<
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.ConnectionDriverName
</
name
>
<
value
>org.apache.derby.jdbc.EmbeddedDriver
</
value
>
<
description
>Driver class name for a JDBC metastore
</
description
>
</
property
>
<
property
>
<
name
>
javax.jdo.option.ConnectionUserName
</
name
>
<
value
>
</
value
>
<
description
>username to use against metastore database
</
description
>
</
property
>
<
property
>
<
name
>
javax.jdo.option.ConnectionPassword
</
name
>
<
value
>
</
value
>
<
description
>password to use against metastore database
</
description
>
</
property
>-->
然后放入以下内容
<
property
>
<
name
>javax.jdo.option.ConnectionURL
</
name
>
<
value
>jdbc:postgresql://127.0.0.1:5432/hive?
</
value
>
<
description
>JDBC connect string for a JDBC metastore
</
description
>
</
property
>
<
property
>
<
name
>javax.jdo.option.ConnectionDriverName
</
name
>
<
value
>org.postgresql.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
>hive
</
value
>
<
description
>password to use against metastore database
</
description
>
</
property
>
这样就可以了,当你启动一个hive-cli,hive会自动创建相关的表。