0. 基本环境说明
- jdk版本: jdk1.7.0_80
- hadoop版本: hadoop-2.6.1
- hive版本: apache-hive-1.2.2-bin
1. 下载解压
#解压到指定的目录
tar xzvf apache-hive-1.2.2-bin.tgz -C /usr/local/src
2. 安装mysql
mysql可以和hive装在一个虚拟机上,也可以装在其他的机器上,进行远程连接.
我之前已经在本地pc上装的有mysql,所以在这里就不赘述mysql的安装步骤了.
添加mysql驱动:
copy一个mysql的驱动jar包,到hive的lib目录下.
3. 修改配置文件
进入解压后的目录/usr/local/src/apache-hive-1.2.2-bin
(1) 在conf目录下创建一个名为hive-site.xml文件:
添加如下配置:
- 配置数据库连接:
- 配置显示当前数据库,以及查询表的行头信息
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.175.1:3306/metastore?createDatabaseIfNotExist=true</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>
<property>
<name>hive.cli.print.header</name>
<value>true</value>
<description>Whether to print the names of the columns in query output.</description>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
<description>Whether to include the current database in the Hive prompt.</description>
</property>
</configuration>
(2) 修改Hive运行日志存放位置:
在/usr/local/src/apache-hive-1.2.2-bin目录下新建一个logs文件夹,用于保存日志文件:
mkdir logs
修改文件hive-log4j.properties:
#hive.log.dir=${java.io.tmpdir}/${user.name}
hive.log.dir=/usr/local/src/apache-hive-1.2.2-bin/logs
4. 配置环境变量
export HIVE_HOME=/usr/local/src/apache-hive-1.2.2-bin
export PATH=$HIVE_HOME/bin:$PATH
要记得bash下,刷新配置.
查看一下环境变量配置是否生效:
echo $HIVE_HOME
hive相当于是一个客户端,无需搞成集群模式.所以只需要在一个节点上配置即可.
5. 测试
输入hive命令,启动Hive CLI
hive
退出Hive CLI:
exit
6. 可能遇到的异常信息
(1) 连接数据库时,可能会因为varchar字节问题报异常,可参考下面文章:
http://blog.csdn.net/wind520/article/details/39890967
(2) 启动过程中,可能会出现hive和hadoop中组件版本不一致引起的错误.可参考下面文章:
操作内容: 删除share/hadoop/yarn/lib下的旧jar包,copy新的进来,同时分发到其他节点上.
https://blog.csdn.net/silentwolfyh/article/details/51568228