ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Hive下载安装

2022-02-24 14:35:23  阅读:269  来源: 互联网

标签:opt module jar hive Hive 下载安装 mysql


一、Hive安装地址

二、部署安装

  1. 把下载的apache-hive-3.1.2-bin.tar.gz  上传到linux的/opt/software目录下 
  2. 解压apache-hive-3.1.2-bin.tar.gz到/opt/module/目录下面 
    $ tar -zxvf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module/
    #修改hive名字
    $ mv apache-hive-3.1.2-bin hive
  3. 修改 /etc/profile环境变量
    $ sudo vim /etc/profile
    
    #添加内容
    #HIVE_HOME 
    export HIVE_HOME=/opt/module/hive 
    export PATH=$PATH:$HIVE_HOME/bin 

    #更新环境变量
    $ sudo source /etc/profile
  4. 解决Jar包冲突 
    #hadoop中已经有了log4j
    $ mv /opt/module/hive/lib/log4j-slf4j-impl-2.10.0.jar  /opt/module/hive/lib/log4j-slf4j-impl-2.10.0.jar.bak

    以及guava-19.0.jar包的冲突,通过 find命令可以查看与hadoop的包冲突

     需要移除hive中的guava-19.0.jar包并将hadoop中的guava-27-jre.0.jar包复制到hive中

    $ mv /opt/module/hive/lib/guava-19.0.jar  /opt/module/hive/lib/guava-19.0.jar.bak
    $ cp /opt/module/hadoop-3.2.2/share/hadoop/common/lib/guava-27.0-jre.jar   /opt/module/hive/lib/
  5. 初始化元数据库
    $ $HIVE_HOME/bin/schematool -dbType derby -initSchema 

    测试hive,输入以下内容会报异常

hive> show databases; 

原因

  Hive默认使用的元数据库为derby,开启Hive之后就会占用元数据库,且不与其他客户端共享数据,所以我们需要将Hive的元数据地址改为MySQL。

解决办法

  下载安装mysql:在Linux中安装mysql5.7 - 干了这瓶老干妈 - 博客园 (cnblogs.com)

三、Hive元数据配置到MySQL

3.1 下载并拷贝mysql驱动

下载mysql-connector-java-5.1.37.jar并上传到 /opt/software目录下,将MySQL的JDBC驱动拷贝到Hive的lib目录下 

$ cp /opt/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib 

3.2 在$HIVE_HOME/conf目录下新建hive-site.xml文件 

$ vim $HIVE_HOME/conf/hive-site.xml

添加以下内容:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <!-- jdbc连接的URL -->
        <property>
           <name>javax.jdo.option.ConnectionURL</name>
           <value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</value>
        </property>

        <!-- jdbc连接的Driver-->
        <property>
           <name>javax.jdo.option.ConnectionDriverName</name>
           <value>com.mysql.jdbc.Driver</value>
        </property>

        <!-- jdbc连接的username-->
        <property>
           <name>javax.jdo.option.ConnectionUserName</name>
           <value>root</value>
        </property>

        <!-- jdbc连接的password -->
        <property>
           <name>javax.jdo.option.ConnectionPassword</name>
           <value>123456</value>
        </property>

        <!-- Hive元数据存储版本的验证 -->
        <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>

        <!-- Hive默认在HDFS的工作目录 -->
        <property>
           <name>hive.metastore.warehouse.dir</name>
           <value>/user/hive/warehouse</value>
        </property>
</configuration>

3.3 登录Mysql并新建Hive的元数据库

$ mysql -uroot -p123456
mysql> create database metastore; 
mysql> quit;

3.4 初始化Hive数据库

$ schematool -initSchema -dbType mysql -verbose 

3.5 再次启动Hive并测试

$  $HIVE_HOME/bin/hive 
hive> show databases; 
hive> show tables;
hive> create table test (id int);
hive> insert into test values(1);
hive> select id form test;
 

四、配置Hive的访问方式

以上内容我们配置好了hive,但是只能在我们的主机能访问,其他人的都不行,所以我们这里需要配置Hive的访问方式,并且知道有几种访问hive的方式。

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

  1. 在hive-site.xml文件中添加如下配置信息
    <!-- 指定存储元数据要连接的地址 -->          
    <property>             
        <name>hive.metastore.uris</name>                         
        <value>thrift://node01:9083</value>     
    </property>
  2. 启动metastore 
    $ hive --service metastore
    2022-01-23 17:09:32: Starting Hive Metastore Server
    
    #注意: 启动后窗口不能再操作,需打开一个新的shell窗口做别的操作 
  3. 启动Hive(另外打开一个窗口
    $ bin/hive 

4.2 使用 JDBC的方式 访问Hive(推荐方式)

注意,通过JDBC访问hive,是需要提前配置好第一种访问方式,即:元数据服务访问Hive 。JDBC的方式是通过server2访问元数据服务。

  1. 在hive-site.xml文件中添加如下配置信息 
    #将以下部分加入到hive-site.xml文件中 
    # thrift:Hive拥有HiveServer (Thrift)或者Hiveserver2组件,提供了JDBC驱动服务,
    #使得我们可以用Java代码或者Python来连接Hive并进行一些关系型数据库的sql语句查询等操作。

    <!-- 指定hiveserver2连接的host -->  <property> <name>hive.server2.thrift.bind.host</name> <value>node01</value> </property> <!-- 指定 hiveserver2 连接的端口号 --> <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property>
  2. 启动hiveserver2 
    #建议使用命令
    $ /bin/hive --service hiveserver2
    
    #也可以用
    $ hiveserver2  //该命令需要校验两次,启动较慢

    注意:启动hiveserver2前,要先启动 metastore(见第一种方式)

  3. 启动beeline客户端(需要多等待一会) 
    $ beeline -u jdbc:hive2://node01:10000 -n user
  4. (启动成功)看到如下界面 
    Connecting to jdbc:hive2://node01:10000
    Connected to: Apache Hive (version 3.1.2)
    Driver: Hive JDBC (version 3.1.2)
    Transaction isolation: TRANSACTION_REPEATABLE_READ
    Beeline version 3.1.2 by Apache Hive
    0: jdbc:hive2://node01:10000> 

     

 

标签:opt,module,jar,hive,Hive,下载安装,mysql
来源: https://www.cnblogs.com/Ao0216/p/15926050.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有