Hive-3.1.3安装配置运行

前置:

1. 使用的hoadoop版本为3.3.3,可以自行下载安装。Index of /apache/hadoop/common/hadoop-3.3.3https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.3/

2. 远程源数据库用的mysql-5.7.38

3. 虚拟机Centos7

4. 配置jdk1.8环境变量

正式安装HIVE3.1.3

一、文件下载

hive-3.1.3下载:清华镜像地址Index of /apache/hive/hive-3.1.3https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.3/

二、安装HIVE

下载完后上传至虚拟机,然后解压。我这里hadoop装在/opt/hadoop3下,所以hive也传到该目录下。

1. 解压文件

tar -xvf apache-hive-3.1.3-bin.tar.gz

mv apache-hive-3.1.3-bin hive-3.1.3

2. 修改配置文件

2.1 文件位置:cd /opt/hadoop3/hive-3.1.3/conf

cp hive-env.sh.template hive-env.sh

cp hive-default.xml.template hive-site.xml

2.2 修改hive-env.sh文件,修改内容(直接在文件末尾添加即可):

export HADOOP_HOME=/opt/hadoop3/hadoop-3.3.3

export HIVE_CONF_DIR=/opt/hadoop3/hive-3.1.3/conf

export HIVE_AUX_JARS_PATH=/opt/hadoop3/hive-3.1.3/lib

2.3 在hdfs中创建目录

  hdfs dfs -mkdir -p /user
  hdfs dfs -mkdir -p /user/hive
  hdfs dfs -mkdir -p /user/hive/warehouse
  hdfs dfs -mkdir -p /user/hive/tmp
  hdfs dfs -mkdir -p /user/hive/log
  hdfs dfs -chmod -R 777 /user

2.4 修改hive-site.xml

(mysql驱动我用的是mysql-connector-java-8.0.27.jar,下载后放到/opt/hadoop3/hive-3.1.3/lib里面)

<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://mysqlnode1:3308/hive?createDatabaseIfNotExist=true</value>
    <description>mysql链接地址</description>
  </property>

<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
    <description>mysql驱动</description>
  </property>

<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>mysql用户名</description>
  </property>

<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
    <description>mysql密码</description>
  </property>

<property>
        <name>system:java.io.tmpdir</name>
        <value>/user/hive/tmp</value>
        <description>在hdfs创建的地址</description>
  </property>

我在文件前面额外做了两个配置,我看有的配置读取了这两个${system:java.io.tmpdir}和${system:user.name},没有配置的时候,运行时自动在conf下建了文件夹,所以我配了下:

<property>
        <name>system:java.io.tmpdir</name>
        <value>/user/hive/tmp</value>
        <description/>
  </property>
  <property>
        <name>system:user.name</name>
        <value>malachi</value>
        <description>这个随便取得name</description>
  </property>

注意修改完后,把hive-site.xml文件中的 #和&符号删掉,以免运行会报错code 0x8。

2.5 有个jar包可能会冲突 guava-19.0.jar和guava-27.0-jre.jar,我是把hadoop里面guava-27.0-jre.jar复制到hive里面,然后把guava-19.0.jar改为guava-19.0.jar.bak。两个目录分别为/opt/hadoop3/hadoop-3.3.3/share/hadoop/common/lib和/opt/hadoop3/hive-3.1.3/lib。

2.6 配置hive环境变量:

        vi /etc/profile

        在后面加上 export HIVE_HOME=/opt/hadoop3/hive-3.1.3

        export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin

        

3、启动服务

注意:使用hive前,需要确保HDFS和YARN已经启动,再使用HIVE.

3.1 初始化hive元数据:

在mysql中创建了hive数据库,然后执行:

schematool -dbType mysql -initSchema

(schematool 执行文件在/opt/hadoop3/hive-3.1.3/bin下面,配了环境变量就不用去目录下执行。)

 

成功后会出现这么些表,如果没成功,后面启动hive会报错。

3.2 启动服务

hive --service metastore &         ##元数据服务

hive --service hiveserver2 &        ##支持jdbc查询服务

jps -m        ##查看服务是否启动

3.3 验证服务

输入命令: hive

 show databases;        ##展示出了默认数据库 

use default;        ##选择使用default库

create table test(id int, username string);        ##创建table

show tables;        ##展示所有表

3.4 beeline方式连接

 执行:

!connect jdbc:hive2://localhost:10000

连接成功后:

show tables;

到此hive安装、配置、运行结束。

at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.open(HiveMetaStoreClient.java:565) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:224) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.<init>(SessionHiveMetaStoreClient.java:94) ~[hive-exec-3.1.3.jar:3.1.3] at sun.reflect.GeneratedConstructorAccessor20.newInstance(Unknown Source) ~[?:?] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_241] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_241] at org.apache.hadoop.hive.metastore.utils.JavaUtils.newInstance(JavaUtils.java:84) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:95) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:148) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:119) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:4306) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:4374) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:4354) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hadoop.hive.ql.session.SessionState.setAuthorizerV2Config(SessionState.java:960) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hadoop.hive.ql.session.SessionState.setupAuth(SessionState.java:924) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hadoop.hive.ql.session.SessionState.applyAuthorizationPolicy(SessionState.java:1893) ~[hive-exec-3.1.3.jar:3.1.3] at org.apache.hive.service.cli.CLIService.applyAuthorizationConfigPolicy(CLIService.java:131) ~[hive-service-3.1.3.jar:3.1.3] at org.apache.hive.service.cli.CLIService.init(CLIService.java:115) ~[hive-service-3.1.3.jar:3.1.3] at org.apache.hive.service.CompositeService.init(CompositeService.java:59) ~[hive-service-3.1.3.jar:3.1.3] at org.apache.hive.service.server.HiveServer2.init(HiveServer2.java:229) ~[hive-service-3.1.3.jar:3.1.3] at org.apache.hive.service.server.HiveServer2.startHiveServer2(HiveServer2.java:1038) ~[hive-service-3.1.3.jar:3.1.3] ... 9 more
最新发布
03-09
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值