Installing Hive on OSX Lion (10.9) with Brew
Hadoop 2.5.0已经发布了,今天来体验一把Hadoop+Hive。
macos 10.9 brew 安装,没有安装brew则使用以下命令安装。
[shell]
ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)
[/shell]
如果之前有安装hadoop,可以使用brew upgrade来升级之前安装的版本。
[shell]
brew upgrade
[/shell]
接下来按正常流程安装Hadoop和hive
[shell]
brew install hadoop
brew install hive
[/shell]
hive安装完以后,会提示一些环境变量信息,根据实际情况,将环境变量添加到 ~/.bash_profile
[shell]
export JAVA_HOME="$(/usr/libexec/java_home)"
export HADOOP_HOME=/usr/local/Cellar/hadoop/2.4.1
export HIVE_HOME=/usr/local/Cellar/hive/0.13.1/libexec
export HCAT_HOME=/usr/local/Cellar/hive/0.13.1/libexec/hcatalog
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
source ~/.bash_profile
[/shell]
接下来配置hive相关信息,如metastore数据库连接方式等,详细流程可以参考:http://running.iteye.com/blog/908038
[shell]
$mysql -uroot -p
mysql> CREATE DATABASE metastore;
mysql> USE metastore;
mysql> CREATE USER ‘hiveuser’@’localhost’ IDENTIFIED BY ‘password’;
mysql> GRANT ALL PRIVILEGES on metastore.* TO ‘hiveuser’@’localhost’;;
mysql> flush privileges;
[/shell]
mysql权限给了所有权限,否则会出现莫名的问题。
然后告诉hive使用jdbc来连接mysql,同时需要下载mysql连接驱动。
[shell]
curl -L ‘http://www.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.32.tar.gz/from/http://mysql.he.net/’ | tar xz
cp mysql-connector-java-5.1.15/mysql-connector-java-5.1.32-bin.jar /usr/local/Cellar/hive/*/libexec/lib/
[/shell]
如果驱动版本有更新,可以到下面的官网下载,修改上面的版本号
http://dev.mysql.com/downloads/connector/j/
接下来修改hive的配置文件
[shell]
cd /usr/local/Cellar/hive/*/libexec/conf
cp hive-default.xml.template hive-site.xml
[/shell]
修改数据库存连接方式和数据库账号
[shell]
vim hive-site.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/metastore</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hiveuser</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>password</value>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>false</value>
</property>
[/shell]
修改mac下的连接环境变量,添加一行配置信息
[shell]
cp hive-env.sh.template hadoop-env.sh
vim hadoop-env.sh
export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"
[/shell]
最后就可以测试Hive了。
[shell]
$ hive;
hive > show tables;
hive> create table temp_table temp_col string;
[/shell]
安装过程很快,中间遇到几个环境变量、数据库账号不正确的问题,google一把都解决了。