1. 准备安装文件hive-1.2.2
注意:安装Hive之前,需要在CentOS 7中先安装MySQL!!
在Windows中下载Hive1.2.2,下载网址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/
利用XFtp软件,将Windows中保存的apache-hive-1.2.2-bin.tar.gz拷贝到hadp01虚拟机,存储位置:/home/root/
2.解压缩Hive安装文件
在hadp01中切换到Hive安装文件所在目录:cd /home/root
解压缩到apps目录中:tar -xzvf apache-hive-1.2.2-bin.tar.gz -C apps
将解压缩的默认目录改名为hive-1.2.2
cd /home/root/apps
mv apache-hive-1.2.2-bin hive-1.2.2
3.配置环境变量
编辑/etc/profile文件:vi /etc/profile
在文件末尾增加两行:
export HIVE_HOME=/home/root/apps/hive-1.2.2
export PATH=$PATH:$HIVE_HOME/bin
使修改的profile文件生效:source /etc/profile
4.修改Hive配置文件
切换到配置文件目录:cd /home/root/apps/hive-1.2.2/conf
编辑hive-env.sh
文件
cp hive-env.sh.template hive-env.sh
vi hive-env.sh
找到如下代码
# Set HADOOP_HOME to point to a specific hadoop install directory
# HADOOP_HOME=${bin}/../../hadoop
# Hive Configuration Directory can be controlled by:
# export HIVE_CONF_DIR=
修改效果如下:
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/home/root/apps/hadoop-2.9.2
# Hive Configuration Directory can be controlled by:export HIVE_CONF_DIR=/home/root/apps/hive-1.2.2/conf
编辑hive-site.xml
文件:vi hive-site.xml
编辑hive-site.xml
文件,内容如下
<configuration>
<!-- hive查询时输出列名 -->
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<!-- 显示当前数据库名 -->
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadp01:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<!--JDBC连接驱动,8.0版本需要用com.mysql.cj.jdbc.Driver,如果是5.x版本用com.mysql.jdbc.Driver-->
<value>com.mysql.cj.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<!--连接MySQL的用户名-->
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<!--连接MySQL的密码-->
<name>javax.jdo.option.ConnectionPassword</name>
<value>Hadoop2!</value>
<description>password to use against metastore database</description>
</property>
</configuration>
5.添加MySQL连接的jar资源包
在Windows中下载MySQL连接的jar包
下载网址: https://dev.mysql.com/downloads/connector/j/
操作系统类型选择Platform Independent
下载ZIP格式压缩文件,解压缩后得到jar包文件:mysql-connector-java-8.0.19.jar
利用XFtp将jar包文件mysql-connector-java-8.0.19.jar
上传到CentOS 7中hive-1.2.2的lib目录中
修改文件权限
cd /home/root/apps/hive-1.2.2/lib
chmod 777 mysql-connector-java-8.0.19.jar
6.启动hive
先启动Hadoop集群
cd /home/root/apps/hadoop-2.9.2/sbin
./start-dfs.sh
./start-yarn.sh
第一次启动hive前,要运行 schematool 命令来执行初始化操作 schematool -dbType mysql -initSchema
启动hive的两种方式
直接启动:hive
启动后,可以在本机进行交互式操作
启动hive服务:hiveserver2 -hiveconf hive.root.logger=DEBUG,console
启动服务后,可以在别的节点上用beeline去连接(或者在XShell中复制当前连接窗口),比如在hadp02节点:
beeline -u jdbc:hive2://hadp01:10000 -n root
退出Beeline:!quit
停止hive服务:Ctrl+C
如果连接报错User: root is not allowed to impersonate root (state=08S01,code=0)
,需要修改hadoop配置文件core-site.xml
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
注意配置中name属性中的“root”代表的是一个用户,异常信息中User:后面的用户是哪个,在这里就配置哪个。
关闭Hadoop集群
cd /home/root/apps/hadoop-2.9.2/sbin
./stop-all.sh