Hive312安装配置(Linux和Windows)-hive312安装配置

Hive3.1.2安装配置

Linux

Linux上的安装配置都比较简单

安装

  1. 安装配置Hadoop,hadoop配置参考
  2. 安装hive3.1.2,配置环境变量
  3. 建议将conf文件夹中日志的properties文件配置下,方便排查错误

在hdfs上创建hive工作目录

  1. 启动hdfs
  2. 在hdfs上创建目录
    bin/hadoop fs -mkdir       /tmp
    bin/hadoop fs -mkdir       /user/hive/warehouse
    bin/hadoop fs -chmod g+w   /tmp
    bin/hadoop fs -chmod g+w   /user/hive/warehouse
    

默认元数据存储启动

元数据默认存储在derby中

  1. 启动hdfs
  2. 执行以下命令初始化元数据库
hive --service schematool -dbType=derby -initSchema
# 或者
schematool -dbType-derby -initSchema
  1. 启动hive

使用MySQL存储元数据

  1. 配置hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value> jdbc:mysql://192.168.8.1:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>

  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>


  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
    <description>password to use against metastore database</description>
  </property>

  <!-- <property>
          <name>hive.metastore.schema.verification</name>
          <value>false</value>
      </property>

      <property>
          <name>
              hive.metastore.event.db.notification.api.auth
          </name>
          <value>
              false
          </value>
      </property> -->

  <property>
    <name>hive.metastore.uris</name>
    <value>thrift://centos1:9083</value>
  </property>

</configuration>
  1. 下载mysql-connector-java连接驱动,拷贝到hive目录lib下,本人使用的mysql8,驱动和类名(com.mysql.cj.jdbc.Driver)要对应上
  2. 使用上述命令初始化元数据库,dbType为mysql,执行完毕检查mysql中是否出现元数据库
  3. 启动hive

使用元数据服务方式访问Hive

  1. 配置hive-site.xml
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://centos1:9083</value>
    </property>
    
  2. 启动元数据服务
    hive --service metastore
    
  3. 启动hive

JDBC方式访问Hive

该方式访问流程为
hive client => hive server2 => hive metastore service => metastore_db

  1. 配置hive-site.xml

     <!-- hive server2连接的host -->
    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>centos1</value>
    </property>
    
    <!-- hiveserver2连接的端口 -->
    <property>
        <name>hive.server2.thrift.bind.port</name>
        <value>10000</value>
    </property>
    
  2. 启动metastore服务

  3. 启动hive server2

    bin/hiveserver2
    # 或者
    bin/hive --service hiveserevr2
    
  4. 使用hive默认jdbc工具beeline连接
    使用beeline连接之前

  5. 查看metastore服务是否启动

  6. 查看hiveserver2是否启动,端口10000是否开启

  7. 监控日志,方便排查错误

    beeline -u jdbc:hive2://centos1:10000 -n bigdata
    

    -n指定用户,hadoop对用户进行认证,可能会报授权失败的错误,需要停止所有服务,配置hadoop core-site.xml配置用户,在启动所有服务。

总结

Linux上的启动较为简单,碰到的错误也很少,建议配置日志,方便排错。hive的日志在/tmp/当前用户/hive.log中。

Windows

Windows上安装配置相对复杂,网上资料较少,凭着一股倔劲,花了较多时间把他整出来了。

安装配置Hadoop

  1. 安装Hadoop,配置环境变量HADOOP_HOME。
  2. 配置xml文件
    • etc/hadoop/core-site.xml
      <configuration>
          <property>
              <name>fs.defaultFS</name>
              <value>hdfs://localhost:9000</value>
          </property>
      </configuration>
    
    • etc/hadoop/hdfs-site.xml
    <configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    </configuration>
    
    以上为最基本的配置,单节点,副本数1,yarn、历史服务器等均未配置,更多配置可以参考Hadoop集群配置
  3. 初始化namenode,(Hadoop3.x命令,不同版本可能不一样)
     bin/hdfs namenode -format
    

如果是在Linux以上配置已经可以正常启动hdfs了,在本人的windows11上,还有两个问题

  1. 下载winutils
    Hadoop在weindows上需要额外的dll文件和cmd脚本等,需要下载匹配的版本解压到bin目录下,winutils下载地址
  2. hdfs启动目录
    本人电脑上,启动和关闭hdfs必须在Hadoop的bin目录下
    D:\prog\hadoop3.2>cd bin
    D:\prog\hadoop3.2\bin>..\sbin\start-dfs.cmd
    
    直接cd到sbin下或者其他目录均会报错,可能与start-dfs.cmd脚本的编写有关。

安装配置Hive

安装下载、配置环境变量与在Linux上没有什么不同,但无法正常启动

  1. 没有windows启动脚本
    下载hive命令的windows版本,解压到hive的bin目录下,下载文件中还有guava27.jar文件,复制到hive的lib目录下,同时删除lib目录下原有的guava包。

  2. 初始化元数据库
    hive命令schematool无法在windows上使用,windows版本也没有schema.cmd(实际上bin/ext目录下有),所以初始化数据库命令为

    hive.cmd --service schematool -dbType derby -initSchema
    
  3. 初始化元数据库之后,hive正常启动

  4. SELECT数据报错
    原因是hive和hadoop的guava版本问题,hive我们替换为27版本,hadoop替换为19版本(其他版本未尝试),到maven仓库下载guava19,替换两处原有的guava包,删除原有的,使用guava19

    • share\hadoop\hdfs\lib
    • share\hadoop\common\lib

    替换后hive查询正常

总结

除了上述有坑的地方,Windows上hive配置和Linux都一样,其实基本上是在Linux上使用,Windows上没有必要,主要是一个排查问题,解决问题的过程。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值