- 环境准备
- hadoop集群(hive需要运行在hadoop集群中)
参考:
Hadoop完全分布式集群搭建
Hadoop高可用(HA)集群搭建 - 集群中有一台服务器中安装了MySQL
参考:Linux中安装MySQL - hive安装包
下载地址
https://mirrors.aliyun.com/apache/hive/
我的hadoop版本为2.6.5,hive版本为1.2.1
1. 集群规划
hadoop01-hadoop04:hadoop集群
hadoop01:MySQL服务器
hadoop02:Hive
2. 安装步骤
(1) 上传并解压安装包
[hadoop@hadoop02 ~]$ tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /home/hadoop/apps/
(2) 配置环境变量,加入HIVE_HOME
export HIVE_HOME=/home/hadoop/apps/hive-1.2.1
export PATH=$PATH:$HIVE_HOME/bin
(3) 修改配置文件hive-site.xml
该文件在HIVE_HOME/conf/下
# 如果没有该文件,复制hive-default.xml.template为hive-site.xml
[hadoop@hadoop02 conf]$ cp hive-default.xml.template hive-site.xml
[hadoop@hadoop02 conf]$ vim hive-site.xml
<configuration>
<!--可选,配置hive数据存放的位置,是一个HDFS路径,默认就是/user/hive/warehouse-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<!--可选,如果mysql服务器与hive在一台机器,这个配置的作用就是把hive的元数据存到本地mysql中-->
<!--
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
-->
<!--以下4个配置是mysql的基本配置-->
<!--数据库hivedb是存放元数据的mysql数据库,可以自定义名称-->
<!--
注意:
如果hive与mysql在同一台机器,把hadoop01换成localhost
一定是localhost,不能写mysql那台的服务器的主机名或IP
-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop01/hivedb?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>
</configuration>
(4) 把JDBC驱动包放到HIVE_HOME/lib目录下
(5) 保证hadoop的jline jar包和hive的 jline jar包版本保持一致(高版本替换低版本)
hadoop的jline jar包存放位置:HADOOP_HOME/share/hadoop/yarn/lib/
下
其中的jline包为:jline-0.9.94.jar(hadoop-2.6.5)
hive的jline jar包存放位置:HIVE_HOME/lib/
下
其中的jline包为:jline-2.12.jar(hive-1.2.1)
删除hadoop的jline包,把hive的jline包放进去
(6) 初始化元数据(必须保证mysql服务正常启动,且允许远程连接)
[hadoop@hadoop02 conf]$ schematool -dbType mysql -initSchema
上图代表初始化成功!
(7) 启动hive(必须保证hadoop集群正常启动)
[hadoop@hadoop02 conf]$ hive
或者
[hadoop@hadoop02 conf]$ hive --service cli
# 进去hive客户端
hive>
Hive单用户模式安装成功!