在CentOS6.9安装Hive2.3.4

一、环境

操作系统:CentOS6.9
软件版本:Hive2.3.4

二、安装MySQL

hive的数据存储

首先弄清楚什么是元数据和表数据:元数据就是表的属性数据,表的名字,列信息,分区等标的属性信息,它是存放在RMDBS传统数据库中的(如mysql)。表数据就是表中成千上万条数据了。

hive的存储过程:启动hive时,会初始化hive,这时会在mysql中生成大约36张表(后续随着业务的复杂会增加),然后创建表,会在mysql中存放这个表的信息(不是以表的形式存在的,而是把表的属性以数据的形式放在mysql中,这样在hive中使用sql命令一样是能够查到这张表的)。然后把本地的文本文件使用hive命令格式化导入到表中,这样这些数据就存放到hdfs中,而不是在mysql或hive中。

我这里是使用MySQL存储Hive的元数据,所以要先安装MySQL。可参考以下方法:

在CentOS6.9安装MySQL5.7:https://blog.csdn.net/andyguan01_2/article/details/88027338

修改mysql参数(我这里是用mysql的root用户来登录Hive元数据库,应该也可以用其他用户):

# 进入mysql
mysql -uroot -p # 然后输入mysql的密码
# 切换成mysql库
use mysql; 
# 查询用户信息
select User,Host,authentication_string from user; 
# 设置远程登录权限
grant all privileges on *.* to 'root'@'%' identified by '填实际密码' with grant option; 
# 授权本地客户端登录此库
grant all privileges on *.* to 'root'@'10.200.4.117' identified by '填实际密码';
# 刷新配置信息
flush privileges;
# 退出
exit

三、安装Hive

1、下载安装包

打开下载网址:
https://archive.apache.org/dist/hive/hive-2.3.4/
在CentOS6.9安装Hive2.3.4_第1张图片
在以上页面找到对应文件,右键复制链接地址(https://archive.apache.org/dist/hive/hive-2.3.4/apache-hive-2.3.4-bin.tar.gz)。

以root用户登录服务器,下载安装文件:

wget https://archive.apache.org/dist/hive/hive-2.3.4/apache-hive-2.3.4-bin.tar.gz

2、解压安装文件

以root用户执行以下命令解压:

tar -zxf apache-hive-2.3.4-bin.tar.gz -C /u01/app

修改安装文件所有者:

chown -R hadoop:hadoop /u01/app/apache-hive-2.3.4-bin

以hadoop用户下载连接mysql的jar包:

cd /u01/app/apache-hive-2.3.4-bin/lib
wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar

3、修改配置文件

3.1 配置/etc/profile

以root用户操作:

vi /etc/profile

增加以下内容:

export HIVE_HOME=/u01/app/apache-hive-2.3.4-bin
export PATH=$PATH:$HIVE_HOME/bin

使配置生效:

source /etc/profile

3.2 配置hive-env.sh

以hadoop用户操作。先从template文件复制,再编辑:

cp $HIVE_HOME/conf/hive-env.sh.template $HIVE_HOME/conf/hive-env.sh
vi $HIVE_HOME/conf/hive-env.sh

输入以下内容:

HADOOP_HOME=/u01/app/hadoop-2.6.5
export HIVE_CONF_DIR=/u01/app/apache-hive-2.3.4-bin/conf

3.3 配置hive-log4j2.properties

以hadoop用户操作。先从template文件复制,再编辑:

cp $HIVE_HOME/conf/hive-log4j2.properties.template $HIVE_HOME/conf/hive-log4j2.properties
vi $HIVE_HOME/conf/hive-log4j2.properties

设置:

property.hive.log.dir = /u01/app/hadoop-2.6.5/logs

3.4 配置hive-site.xml

以hadoop用户操作。先从template文件复制,再编辑:

cp $HIVE_HOME/conf/hive-default.xml.template $HIVE_HOME/conf/hive-site.xml
vi $HIVE_HOME/conf/hive-site.xml

将configuration中的内容换成如下配置:






	hive.metastore.warehouse.dir
	/data/hive/warehouse



	hive.cli.print.header
	true



	hive.cli.print.current.db
	true



	hive.exec.mode.local.auto
	true



	hive.metastore.uris
	thrift://10.200.4.117:9083
	Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.



	javax.jdo.option.ConnectionURL
	jdbc:mysql://10.200.4.117:3306/hive?createDatabaseIfNotExist=true&useSSL=false
	JDBC connect string for a JDBC metastore


	javax.jdo.option.ConnectionUserName
	root
	username to use against metastore database


	javax.jdo.option.ConnectionPassword
	填mysql的root密码
	password to use against metastore database


	javax.jdo.option.ConnectionDriverName
	com.mysql.jdbc.Driver
	Driver class name for a JDBC metastore


4、创建hive元数据所在路径

以hadoop用户操作:

hdfs dfs -mkdir /tmp #如果有这个路径,这不需要重新创建
hdfs dfs -mkdir -p /user/hive/warehouse #创建目录
hdfs dfs -chmod g+w /tmp #修改文件权限
hdfs dfs -chmod g+w /user/hive/warehouse #修改文件权限

5、初始化mysql元数据库

以hadoop用户操作:

 schematool -initSchema -dbType mysql

在CentOS6.9安装Hive2.3.4_第2张图片
6、开启元数据

以hadoop用户操作:

nohup hive --service metastore & #开启元数据

7、启动Hive并测试

以hadoop用户操作:

hive
show databases;
create database ssj;
create table ssj.tmp1
(name string) 
row format delimited fields terminated by "\t";
select * from ssj.tmp1;

在CentOS6.9安装Hive2.3.4_第3张图片
完毕。

你可能感兴趣的:(hive)