Hive是基于Hadoop,我相信你已经安装好Hadoop全分布式集群环境了
安装Hadoop全分布式集群教程
安装mysql环境
mysql建立hive的元数据库
进入mysql,建立一个数据库(数据库名可以自己起,但是要记住这个数据库的名称,后面要用到这个名字)
create database if not exists hive_metadata;
把这个数据库的使用权分配给hive用户(确保hive后期可以正常使用)
# ‘*’ 代表 所有的表 ‘@‘代表任意ip地址
grant all privileges on hive_metadata.* to 'hive'@'%' identified by '设置连接密码,后面要使用到,不要忘记';
# localhost是本机
grant all privileges on hive_metadata.* to 'hive'@'localhost' identified by '设置连接密码,后面要使用到,不要忘记';
# yun1是hadoop的主节点
grant all privileges on hive_metadata.* to 'hive'@'yun1' identified by '设置连接密码,后面要使用到,不要忘记';
# 刷新
flush privileges;
# 使用该数据库
use hive_metadata;
# 退出mysql
exit;
配置Hive
开发包
链接: https://pan.baidu.com/s/1W8lkQzhd1pBzglrN9UgSOw 密码: osln
下载途径不唯一
解压、重命名
tar -vxf apache-hive-2.1.0-bin.tar.gz
mv apache-hive-2.1.0-bin hive
配置环境变量
vim /etc/profile
/software/hive 是安装包的位置
# Hive环境
export HIVE_HOME=/software/hive
export PATH=$HIVE_HOME/bin:$PATH
mysql连接的Jar包
链接: https://pan.baidu.com/s/12qPOYL3vEatWygkVXIq0VA 密码: o8jn
下载途径不唯一
把这个jar包放进hive安装包下的lib文件下
mv mysql-connector-java-5.1.34-bin.jar /software/hive/lib
配置hive-site.xml文件
在hive/conf下新建文件
vim /sofware/hive/conf/hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 这里的ip换成主机的ip hive_metadata换成你刚才建立的hive元数据库名称-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://49.234.88.58:3306/hive_metadata?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>hive</value>
</property>
<!-- 输入授权的密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>xxx</value>
</property>
<property>
<name>hive.fetch.task.conversion</name>
<value>more</value>
</property>
</configuration>
配置hive-log4j.properties.template文件
把hive/conf下面的hive-log4j.properties.template文件更改为hive-log4j.properties
mv hive-log4j.properties.template hive-log4j.properties
更改日志的存储位置
vim hive-log4j.properties
property.hive.log.dir = /software/hive/logs
如果你以后hive出错了,你就查看日志(日志在你配置的路径下),百分百好使,然后你就知道为什么要做这一步了,因为日志是爹。
配置hive-env.sh文件
把hive/conf下面的hive-env.sh.template文件更改为hive-env.sh
mv hive-env.sh.template hive-env.sh
配置文件
vim hive-env.sh
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/software/hadoop
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/software/hive/conf
# Folder containing extra ibraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=/software/hive/lib
验证是否安装成功
#开启hadoop进程:
start-dfs.sh
start-yarn.sh
和hadoop的检测流程一样,jps查看进程。下方是主节点的进程
初始化元数据库,生成元数据。
cd /software/hive/bin
./schematool -initSchema -dbType mysql
出现下图则成功,否则检查报错内容。
输入hive即可进入hive环境(如果卡死则查看日志找原因)
然后随便建立一个数据库,一个表,成功了就代表环境搭建成功。
# 创建数据库
create database test;
# 创建表
use test;
create table stu(id int,name string,age int);