前置条件:正确安装hadoop、MySQL、jdk.
1、配置MySQL:在MySQL创建一个用户提供给hive使用
$ mysql -uroot -proot
mysql> create user 'hive' identified by 'hive';
mysql> grant all privileges on *.* to 'hive' with grant option;
mysql> flush privileges;
2、下载hive: http://apache.fayea.com/hive/
3、解压安装
$ tar -zxvf apache-hive-1.2.1-bin.tar.gz
4、配置hive
(1)在/etc/profile 添加以下配置
export HIVE_HOME=/usr/java/apache-hive-1.2.1-bin
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=$CLASSPATH:$HIVE_HOME/bin
source /etc/profile 是文件生效
cp hive-default.xml.template hive-default.xml
cp hive-default.xml.template hive-site.xml
cp hive-env.sh.template hive-env.sh
cp hive-log4j.properties.template hive-log4j.properties
cp hive-exec-log4j.properties.template hive-exec-log4j.properties
(3)修改hive-site.xml文件。
cd /usr/java/apache-hive-1.2.1-bin/conf
vim hive-site.xml
或者用拷贝到Windows中用Notepad++等编辑器编辑后再替换。
增加如下,主要设置${system:java.io.tmpdir}的值。
<property>
<name>system:java.io.tmpdir</name>
<value>/usr/java/apache-hive-1.2.1-bin/iotmp</value>
<description/>
</property>
<property>
<name>system:user.name</name>
<value>username</value>
<description/>
</property>
如果不进行修改,会报一下错误:
Relative path in absoluteURI:${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
mkdir iotmp
(5)在hive-site.xml中根据name值查找对应修改其value值
<!--Server2连接的主机名,Hive安装在Master机上 -->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>Master</value>
<description>Bind host on which to run the HiveServer2 Thrift service.</description>
</property>
</pre><pre name="code" class="html"> <!--所连接的数据库实例 -->
<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>
<pre name="code" class="html"> <!--数据库驱动 -->
<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>hive</value>
<description>password to use against metastore database</description>
</property>
解压出mysql-connector-java-5.1.39-bin.jar包拷贝到/usr/java/apache-hive-1.2.1-bin/lib下
(7)修改hive-env.sh
# set java environment
exportJAVA_HOME=/usr/java/jdk1.8.0_65
export JRE_HOME=/usr/java/jdk1.8.0_65/jre
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
exportCLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
# set hadoop path
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$PATH
# set hive environment
exportHIVE_HOME=/usr/local/apache-hive-1.2.1-bin/
export PATH=$HIVE_HOME/bin:$PATH
export HIVE_AUX_JARS_PATH=$HIVE_HOME/bin
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HADOOP_USER_CLASSPATH_FIRST=true
5、启动hive
cd /usr/java/apache-hive-1.2.1-bin
bin/hive
成功提示如下:
[root@localhost apache-hive-1.2.1-bin]# bin/hive
Logging initialized using configuration in file:/usr/java/apache-hive-1.2.1-bin/conf/hive-log4j.properties
hive> SHOW TABLES
参考博文:http://blog.csdn.net/wang_zhenwei/article/details/50563718