作者:家有吃货_魏ranran | 来源:互联网 | 2023-09-18 15:33
版权声明:本文由董可伦首发于https://dongkelun.com,非商业转载请注明作者及原创出处。商业转载请联系作者本人。 https://blog.csdn.net/dkl12/article/details/80232813
我的原创地址:https://dongkelun.com/2018/03/24/hiveConf/
前言:
由于只是在自己的虚拟机上进行学习,所以对hive只是进行最简单的配置,其他复杂的配置文件没有配置。
1、前提
1.1 安装配置jdk1.8
1.2 安装hadoop2.x
hadoop单机模式安装见:centos7 hadoop 单机模式安装配置
1.3 安装mysql并配置myql允许远程访问,我的mysql版本5.7.18。
mysql数据库安装过程请参考:Centos 7.2 安装 Mysql 5.7.13
2、下载hive
下载地址:http://mirror.bit.edu.cn/apache/hive/,我下载的是apache-hive-2.3.2-bin.tar.gz。
wget http://mirror.bit.edu.cn/apache/hive/hive-2.3.2/apache-hive-2.3.2-bin.tar.gz 或者下载到本地,通过工具上传到虚拟机中
3、解压到/opt目录下(目录根据自己习惯)
tar -zxvf apache-hive-2.3.2-bin.tar.gz -C /opt/
4、配置hive环境变量
vim /etc/profile
export HIVE_HOME=/opt/apache-hive-2.3.2-bin export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile
5、配置hive
5.1 配置hive-site.xml
其中ConnectionUserName和ConnectionPassword为mysql远程访问的用户名和密码,hive_metadata为mysql数据库,随自己习惯命名。
cd /opt/apache-hive-2.3.2-bin/conf/ vim hive-site.xml
"1.0" encoding="UTF-8" standalOne="no"?> type="text/xsl" href="configuration.xsl"?> javax.jdo.option.ConnectionURL jdbc:mysql://192.168.44.128:3306/hive_metadata?&createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword Root-123456 javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver datanucleus.schema.autoCreateAll true hive.metastore.schema.verification false
5.2 配置hive-site.xml
cp hive-env.sh.template hive-env.sh vim hive-env.sh
HADOOP_HOME=/opt/hadoop-2.7.5 export HIVE_CONF_DIR=/opt/apache-hive-2.3.2-bin/conf
具体位置如图:
6、加载mysql驱动(要与自己安装的mysql版本一致)
下载地址:http://dev.mysql.com/downloads/connector/j/
我下载的是:mysql-connector-java-5.1.46.tar.gz,解压并将其中的mysql-connector-java-5.1.46-bin.jar放到hive/lib下
具体路径为:/opt/apache-hive-2.3.2-bin/lib
7、初始化数据库
schematool -initSchema -dbType mysql
8、启动hive
启动hive之前先启动hadoop,不然会报Connection refused异常,在命令行jps看一下hadoop是否启动成功然后启动hive
hive
然后简单的测试:
show databases;
出现如下图所示即代表配置成功!
9、简单的hive语句测试
建表:
CREATE TABLE IF NOT EXISTS test (id INT,name STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY " " LINES TERMINATED BY "\n";
插入数据
insert into test values(1,'张三');
查询
select * from test;