cdh6.3 hive2.1.1升级hive2.3.8

环境说明

操作系统:Centos7

[En]

Operating system: centos7

CDH版本:6.3.2

hive 版本 2.1.1 升级hive2.3.8

一、下载hive2.3.8版本

下载地址:http://archive.apache.org/dist/hive/

如果有重要数据的建议备份一下元数据,就是把hive的对应mysql数据库的数据进行一下备份

二、升级hive版本(这一步在所有安装了hive的节点都这样操作)

先停掉CDH的hive

上传到CDH集群所在的服务器。我这里的CDH是一个三节点集群。

[En]

Upload to the server where the CDH cluster is located. My CDH here is a three-node cluster.

解压缩

[En]

Decompression

tar -zxf  apache-hive-2.3.8-bin.tar.gz

cdh6.3 hive2.1.1升级hive2.3.8

1、复制hive 2.3.8 lib包到原来的hive中

在hive 的安装目录下创建lib238目录

将hive2.3.8下的lib目录下的所有内容复制到lib238目录下

cp -r  /home/apache-hive-2.3.8-bin/lib/ /opt/cloudera/parcels/CDH/lib/hive/lib238/

2、修改hive的启动文件

cdh6.3 hive2.1.1升级hive2.3.8
#HIVE_LIB=${HIVE_HOME}/lib
HIVE_LIB=${HIVE_HOME}/lib238

3、替换spark中hive 包(hive on spark运行)

将spark的hive目录下的 hive-exec-2 .1.1-cdh6.3.2.jar包换成hive-exec-2.3.8.jar包

cdh6.3 hive2.1.1升级hive2.3.8
cp /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hive/lib238/hive-exec-2.3.8.jar /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/spark/hive/

同样,在安装了HIVE的所有节点上执行上述三个步骤。

[En]

Again, the above three steps are performed on all nodes where hive is installed.

第三,升级HIVE的MySQL数据库。如果不执行此步骤,启动配置单元将失败。

[En]

Third, upgrade the mysql database of hive. If you do not do this step, starting Hive will fail.

需要运行的脚本位于下载的hive2.3.8目录中

[En]

The script that needs to be run is in the directory of the downloaded hive2.3.8

登录MySQL

[En]

Log in to mysql

mysql> use cdh_hivemetastore;  //我创建hive的时候对应的数据库名称,大家根据自己的实际情况来

 mysql> source /home/hive-2.3.8/scripts/metastore/upgrade/mysql/upgrade-2.1.0-to-2.2.0.mysql.sql;

 mysql> source /home/hive-2.3.8/scripts/metastore/upgrade/mysql/upgrade-2.2.0-to-2.3.0.mysql.sql;

启动配置单元

[En]

Start hive

cdh6.3 hive2.1.1升级hive2.3.8

cdh6.3 hive2.1.1升级hive2.3.8

4.编写一个简单的Java程序来连接升级后的配置单元

[En]

4. Write a simple java program to connect the upgraded hive

我在这里创建了一个带有测试连接的maven项目。

[En]

I am here by creating a maven project with a test connection

java代码

package com.gong.hive;

import java.sql.*;
import java.sql.DriverManager;
import java.sql.ResultSet;

public class HiveJdbcTest {
    private static String driverName = "org.apache.hive.jdbc.HiveDriver";
    private static String connctUrl = "jdbc:hive2://172.16.119.26:10000/ods";
    private static String userName = "root";
    private static String password = "";

    public static void main(String[] args) throws SQLException, ClassNotFoundException {
        Class.forName(driverName);

        Connection con = DriverManager.getConnection(connctUrl);
        Statement stmt = con.createStatement();
        String tableName = "testth";

        //创建表
        stmt.execute("create table  if not exists " + tableName + " (id bigint, name string,age int)");

        //插入
        stmt.execute("insert into " +tableName + "( id ,name ,age ) values(4,'隔壁老王',100   )"  );
       stmt.execute("insert into " +tableName + "( id ,name ,age ) values(5,'董小姐',200   )"  );
        stmt.execute("insert into " +tableName + "( id ,name ,age ) values(6,'沙雕',300   )"  );

        //查询
        ResultSet res = stmt.executeQuery( "select * from " + tableName );
        while (res.next()) {
            System.out.println( res.getLong(1) +"," + res.getString(2) + "," + res.getInt(3)  );
        }

        stmt.close();
        con.close();

    }
}

pom.xml依赖

 <dependency>
      <groupId>junitgroupId>
      <artifactId>junitartifactId>
      <version>4.11version>
      <scope>testscope>
    dependency>
    <dependency>
      <groupId>org.apache.hivegroupId>
      <artifactId>hive-jdbcartifactId>
      <version>2.3.8version>
    dependency>
    <dependency>
      <groupId>org.apache.hadoopgroupId>
      <artifactId>hadoop-commonartifactId>
      <version>3.0.0version>
    dependency>
    <dependency>
      <groupId>org.apache.hivegroupId>
      <artifactId>hive-execartifactId>
      <version>2.3.8version>
    dependency>

此时,您不能直接运行代码进行测试。首先启动hiveserver2。如果之前已经启动了hiveserver2,则必须退出并重新启动,否则在运行代码时会报告错误,这意味着JDBC版本不对应。

[En]

At this time, you can’t run the code directly to test. Start hiveserver2 first. If hiveserver2 has been started before, you must quit and restart it, otherwise you will report an error when running the code, which means that the jdbc version does not correspond.

hiveserver2进程如果之前是后台方式运行,网上很多退出的方法是:

使用PS-AUX|grep hiveserver2命令查询进程号,然后删除-9进程号,这种方法经过实践一直没有成功,因为hiveserver2的进程号一直在变化,事实证明这种方法不起作用。

[En]

Use the command ps-aux | grep hiveserver2 to query the process number, and then kill-9 process number, this method has not been successful after practice, because the process number of hiveserver2 has been changing, it turns out that this method does not work.

我们可以使用jps命令查看当前进程、运行Jar的进程、删除的所有进程,然后重启CDH的hive,然后到命令行终端启动hiveserver2

[En]

We can use the jps command to view the current process, the process of RunJar, all kill dropped, then restart the hive of CDH, and then go to the command line terminal to start hiveserver2

启动hiveserver2命令

[En]

Start the hiveserver2 command

转到CDH的hive/bin目录<details><summary>[En]</summary>Go to the hive/bin directory of CDH</details>

前台启动hiveserver2。<details><summary>[En]</summary>The foreground starts hiveserver2.</details>
 ./hive --service  hiveserver2

后台启动<details><summary>[En]</summary>Background start</details>
 nohup  ./hive --service hiveserver2 &

如果您在前端运行hiveser2,您可以直接在外壳终端中看到运行日志。如果您在后台运行hiveserver2,请通过调用ail-f nohup.out来检查日志。

[En]

If you are running hiveserer2 at the front end, you can see the running log directly in the shell terminal. If you are running hiveserver2 in the background, check the log by calling tail-f nohup.out.

现在可以运行Java代码来测量连接

[En]

This is the time to run the java code to measure the connection

Original: https://www.cnblogs.com/braveym/p/16373756.html
Author: 百里登峰
Title: cdh6.3 hive2.1.1升级hive2.3.8

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/6879/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • hive grouping set

    reference https://www.cnblogs.com/erlou96/p/13564191.html data-demo 2015-03,2015-03-10,coo…

    大数据 2022年8月8日
    0270
  • docker pull proxy 代理

    完整参考:Control Docker with systemd | Docker Documentation sudo mkdir -p /etc/systemd/system/…

    大数据 2022年9月19日
    0120
  • 【转】Spark深入:配置文件与日志

    【From】https://www.cnblogs.com/sorco/p/7070922.html Original: https://www.cnblogs.com/pekkl…

    大数据 2022年8月17日
    0330
  • Hadoop 问题小结

    任务无法提交 排查 登录master节点服务,yarn.scheduler.capacity.maximum-am-resource-percent 配置为 0.5 ,表示core…

    大数据 2022年9月7日
    0200
  • Hbase学习笔记——rowkey

    案例 bash;gutter:true; Reliable and Scalable Data Ingestion at Airbnb https://www.slideshare…

    大数据 2022年8月17日
    0660
  • Kettle构建Hadoop ETL实践(三):Kettle对Hadoop的支持

    本篇演示使用Kettle操作Hadoop上的数据。首先概要介绍Kettle对大数据的支持,然后用示例说明Kettle如何连接Hadoop,如何导入导出Hadoop集群上的数据,如何…

    大数据 2022年8月26日
    0510
  • RationalDMIS 7.1 元素定义

    所有元素在测量前,都必须先有理论值,这个理论值或从图纸上获得,或直接从CAD模型中拾取。 作为测量程序,所有的元素在使用前,都必须先有理论值。 在进行各项元素的检测前,都必须先有理…

    大数据 2022年9月7日
    0240
  • 大数据学习笔记——————-(1)

    第一部分 Spark学习 该部分,主要对Spark学习笔记进行记录,学习资料翻译自《apache_spark_tutorial.pdf》 该部分为5个章节来学习Spark: Ø 第…

    大数据 2022年9月7日
    0410
  • Hbase原理、基本概念、基本架构

    http://blog.csdn.net/woshiwanxin102213/article/details/17584043 怀有希望!! Original: https://w…

    大数据 2022年8月17日
    0500
  • 文本预处理

    文本预处理(持续更新) 文本预处理的核心或者说是干嘛的?答:把词变成能训练的东西。本文目的:作为一个工具使用 1、简单粗暴的文本处理(英文)将非英文直接替换成空格,并将所有字母都转…

    大数据 2022年9月16日
    0160
  • Talking-Heads Attention

    1. Multi-Head Attention 当前最流行的Attention机制当属 Scaled-Dot Attention (源于 Attention Is All You …

    大数据 2022年9月16日
    0180
  • 22-Spring Authorization Server初体验

    Original: esktop 企业日常技巧5.0】Tableau如何利用浏览器提取 .twbx 文件中的形状Author: 大数据Title: 张国荣家的弟弟

    大数据 2022年9月4日
    0190
  • HBase设计与开发性能优化(转)

    本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法。有关HBase系统配置级别的优化,这里涉及的不多,这部分可以参考:淘宝Ken Wu同学的博客。 1.1 …

    大数据 2022年8月17日
    0400
  • 人工智能专业就业前景怎样?需要怎样的专业技能?

    在国家积极推动人工智能一级学科建设的背景下,2020年3月,全国有大约180所高校新增”人工智能”本科专业;同时,数据科学与大数据技术专业的学校也占到了 1…

    大数据 2022年9月16日
    0250
  • 实体联系模型

    文章目录 ​​一、前言概述​​ ​​二、属性​​ ​​三、联系​​ ​​四、弱实体​​ ​​五、案例一​​ ​​六、案例二​​ ​​七、练习题​​ 一、前言概述 数据模型分两种: …

    大数据 2022年9月7日
    0270
  • Hive分区——Partition(静态分区,动态分区)详解

    文章目录 * – 分区目的 – 分区的创建 – + * 1.创建建表时候不管动态还是静态分区 * 2.执行load 装载数据 * 3.查看表结构…

    2022年8月15日
    0370
  • JavaScript-JavaScript预解析

    变量提升、函数提升 变量使用时会将变量声明提升到作用域的上面。函数调用时会将函数声明提升到作用域的上面。 提升:提升的只是定义,赋值不会被提升。 [En] When a varia…

    大数据 2022年9月7日
    0240
  • Hive动态分区

    一)hive中支持两种类型的分区: 静态分区SP(static partition) 动态分区DP(dynamic partition) 静态分区与动态分区的主要区别在于静态分区是…

    大数据 2022年8月15日
    0310
  • JVM GC算法 CMS 详解(转)

    CMS,全称Concurrent Low Pause Collector,是jdk1.4后期版本开始引入的新gc算法,在jdk5和jdk6中得到了进一步改进,它的主要适合场景是对响…

    大数据 2022年9月19日
    0150
  • Hive编程指南—动态分区插入

    Hive如果需要创建非常多的分区,那么用户就需要写很多的SQL,Hive提供了一个动态分区功能,其可以基于查询参数推断需要创建的分区名称 INSERT OVERWRITE TABE…

    大数据 2022年8月15日
    0310
  • 作为一名视觉工程师该怎么学习?

    作为一名刚刚入门的视觉工程师,我来写一点点这段时间的收获感悟吧! [En] As an entry-level visual engineer, let me write a li…

    大数据 2022年9月16日
    0230
  • 【论文笔记(3)】Attention Is All You Need

    目录 Ⅰ 论文信息 Ⅱ 论文框架 * 1 Introdcution 2 Background 3 Model Architecture – 3.1 Encoder an…

    大数据 2022年9月16日
    0400
  • 详解Docker的网络模式

    我们在使用docker run创建Docker容器时,可以用–net选项指定容器的网络模式,Docker有以下4种网络模式: host模式:使用–net=h…

    大数据 2022年9月19日
    0140
  • 2023算法岗秋招笔试面试记录

    秋招笔试面试全记录 字节-电商 两数之和,返回列表中所有满足和为target的下标二元组,输入数据会有重复数字 正则表达式,匹配【space】【char】*3之后的数字,并加一 如…

    大数据 2022年9月16日
    0240
  • [spark 面试]Yarn Cluster生产环境下JVM的OOM和Stack Overflow问题

    1、Spark on Yarn下JVM的OOM问题及解决方式2、Spark中Driver的Stack Overflow的问题及解决方式 Spark on Yarn cluster …

    大数据 2022年9月7日
    0230
  • hadoop中常见的命令

    今天学习了Hadoop中常用的一些命令,在这里就和大家分享一下: 所有的hadoop命令均由bin/hadoop脚本引发。不指定参数运行hadoop脚本会打印所有命令的描述。 用法…

    大数据 2022年9月7日
    0310

发表回复

登录后才能评论
免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部