通过Shell脚本自动安装HiveJDBC测试提供CDH5网盘地址

news2024/11/20 16:31:11

〇、参考地址

1、Linux下编写脚本自动安装hive

https://blog.csdn.net/weixin_44911081/article/details/121227024?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163695916016780269859534%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163695916016780269859534&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-3-121227024.pc_v2_rank_blog_default&utm_term=hive&spm=1018.2226.3001.4450

2、如何运行.sh脚本文件

https://blog.csdn.net/weixin_55821558/article/details/125830542

3、hive教程:启动hiveserver2,通过jdbc方式访问hive☆

https://blog.csdn.net/a12355556/article/details/124565395

2、CDH安装hadoop与版本比较

https://www.freesion.com/article/8763708397/

一、代码编写

1、下载Hive

原生:http://archive.apache.org/dist/hive/hive-1.1.0/

CDH版本(已失效):https://archive.cloudera.com/p/cdh5/cdh/5 注意:登录名为邮箱,密码大小写数字+符号!

命令下载(已失效):wget https://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.14.2.tar.gz

CDH5网盘备份:链接:https://pan.baidu.com/s/1XUGRMpjTbrJWDy9QCT9vTw?pwd=gmyf 

比较:CDH版本比原生的兼容性更强,下载哪个都可以

2、编写脚本

vi hive_insatll.sh

echo "----------安装hive----------"
#-C 指定目录
tar -zxf /usr/local/hive-1.1.0-cdh5.14.2.tar.gz -C /usr/local/
#改名
mv /usr/local/hive-1.1.0-cdh5.14.2 /usr/local/hive110
#配置环境变量
echo '#hive' >>/etc/profile
echo 'export HIVE_HOME=/usr/local/hive110' >>/etc/profile
echo 'export PATH=$PATH:$HIVE_HOME/bin' >>/etc/profile

#创建配置文件hive-site.xml
touch /usr/local/hive110/conf/hive-site.xml
path="/usr/local/hive110/conf/hive-site.xml"
#编写配置
echo '<?xml version="1.0" encoding="UTF-8" standalone="no"?>' >> $path
echo '<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>' >> $path
echo '<configuration>' >> $path
#和jdbc如出一辙,更换自己的ip地址和用户名密码即可
echo '<property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://192.168.91.137:3306/hive137?createDatabaseIfNotExist=true</value></property>' >> $path
echo '<property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property>' >> $path
echo '<property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property>' >> $path
echo '<property><name>javax.jdo.option.ConnectionPassword</name><value>123123</value></property>' >> $path
echo '<property><name>hive.server2.thift.client.user</name><value>root</value></property>' >> $path
echo '<property><name>hive.server2.thift.client.password</name><value>123123</value></property>' >> $path
echo '</configuration>' >>$path

3、调用

添加执行权限:chmod u+x hive_insatll.sh

执行.sh文件:./hive_insatll.sh 或 sh hive_insatll.sh

4、使环境变量生效

source /etc/profile

二、运行后的其他操作

 1、下载mysql的jar包

下载地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.38

其他jar包:mysql-binlog-connector-java、 eventuate-local-java-cdc-connector-mysql-binlog……

注意:已经转至新目录

2、放入hive110/lib目录

3、执行格式化操作

schematool -dbType mysql -initSchema

4、启动hiveserver2

前台启动:hive --service hiveserver2

后台启动:nohup hive --service hiveserver2 2>&1 &

组合使用: nohup [xxx 命令操作]> file 2>&1 &,表示将 xxx 命令运行的结 果输出到 file 中(第一个2表示错误输出,另外0表示标准输入,1表示标准输出)

三、配置与验证

1、beeline 客户端连接hive

连接:beeline -u jdbc:hive2://localhost:10000 -n root

执行语句:show databases;

2、java验证

(1)引入依赖

<dependency>
      <groupId>org.apache.hive</groupId>
      <artifactId>hive-jdbc</artifactId>
      <version>1.1.0</version>
      <exclusions>
        <exclusion>
          <groupId>org.eclipse.jetty.aggregate</groupId>
          <artifactId>jetty-all</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.hive</groupId>
          <artifactId>hive-shims</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

(2)代码验证

import java.sql.SQLException; 
import java.sql.Connection; 
import java.sql.ResultSet; 
import java.sql.Statement; 
import java.sql.DriverManager;

public class HiveAPITest {
    private static String driverName = "org.apache.hive.jdbc.HiveDriver";

    public static void main(String[] args) throws SQLException {
        try {
            Class.forName(driverName);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.exit(1);
        }
        
        //replace "hive" here with the name of the user the queries should run as
        Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000/default",
"hive", "");
        Statement stmt = con.createStatement();
        String tableName = "testHiveDriverTable";
        stmt.execute("drop table if exists " + tableName);
        stmt.execute("create table " + tableName + " (key int, value string) row format delimited fields terminated by '\t'");
        
        // show tables
        String sql = "show tables '" + tableName + "'";
        System.out.println("Running: " + sql);
        ResultSet res = stmt.executeQuery(sql);
        if (res.next()) {
            System.out.println(res.getString(1));
        }
        
        // describe table
        sql = "describe " + tableName;
        System.out.println("Running: " + sql);
        res = stmt.executeQuery(sql);
        while (res.next()) {
            System.out.println(res.getString(1) + "\t" + res.getString(2));
        }

        // load data into table
        // NOTE: filepath has to be local to the hive server
        // NOTE: /opt/tmp/a.txt is a \t separated file with two fields per line
        String filepath = "/opt/tmp/a.txt";
        sql = "load data local inpath '" + filepath + "' into table " + tableName;
        System.out.println("Running: " + sql);
        stmt.execute(sql);

        // select * query
        sql = "select * from " + tableName;
        System.out.println("Running: " + sql);
        res = stmt.executeQuery(sql);
        while (res.next()) {
            System.out.println(String.valueOf(res.getInt(1)) + "\t" + res.getString(2));
        }

        // regular hive query
        sql = "select count(1) from " + tableName;
        System.out.println("Running: " + sql);
        res = stmt.executeQuery(sql);
        while (res.next()) {
            System.out.println(res.getString(1));
        }
    } }

3、Zeppelin验证

(1)配置interpreter

(2)验证-Note

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/62372.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux——网络配置(重点)

目录 一、查看网络IP和网关 1.1 那怎么看连接成功呢&#xff1f; 1.1.1 虚拟机接受主机 1.1.2 主机可以接收到虚拟机 1.2 怎么查看电脑的IP地址 方法一&#xff1a; 方法二&#xff1a; 1.3 怎么查看虚拟机的IP地址 二、网络连接模式 2.1 基本了解 2.2 VMware三种网络…

夯实算法-每日温度

题目&#xff1a;LeetCode 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。…

【关系抽取】基于Bert的信息抽取模型CasRel

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

冒名顶替综合症:悄悄地杀死你的梦想

如今&#xff0c;越来越多的开发人员自学成才&#xff0c;很容易消极地与那些拥有计算机科学学士学位或硕士学位的同事进行比较&#xff0c;但请不要这样做。 你们中的很多都很出色&#xff0c;只是你们不清楚这一点。看到那些认为自己不够优秀&#xff0c;但实际上很了不起的人…

MySQL语句

目录 一、常用查询 二、高级SQL语句 1、按关键字排序 单字段排序 按分数降序排列 结合条件过滤 多字段排序 查询学生信息先按兴趣id升序排列&#xff0c;相同分数的&#xff0c;id按升序排列 区间判断及查询不重复记录 嵌套/多条件 对hobbyid进行分组查询&#xff0c…

RabbitMQ学习笔记之Work Queues

工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务&#xff0c;而不得不等待它完成。 相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进 程将弹出任务并最终执行作业。当有多个工作线程时&#xff0c;这些工作线程将一起…

Nacos2.0.3集群搭建

集群搭建 前置条件 JDK 1.8MySQL 5.7.29Nacos 2.0.3 搭建过程 将Nacos安装包上传至三个服务器&#xff0c;本次搭建使用三个端口来模拟三个不同的主机解压&#xff1a; tar -zvxf nacos-server-2.0.3.tar.gzNacos持久化&#xff0c;首先确保服务器已经安装MySQL(Nacos持久化要…

爆肝!阿里最新版的Spring Security源码手册,强行霸占GitHub榜首

写在前面 Spring Security 的前身是 Acegi Security&#xff0c;在被收纳为Spring 子项目后正式更名为Spring Security。在笔者成书时&#xff0c;Spring Security已经升级到5.1.3.RELEASE版本&#xff0c;加入了原生OAuth2.0框架&#xff0c;支持更加现代化的密码加密方式。 …

你入职的时候一定要问领导要的maven私服配置文件,它是什么?Nexus入门使用指南

上一篇教大家如何在Linux搭建Nexus Linux安装Nexus&#xff08;图文解说详细版&#xff09; 文章目录&#x1f64b;登录Nexus&#x1f470;在maven中配置自己的私服地址&#x1f647;在idea中使用nexus作为maven私服&#x1f491; 引用nexus里面的jar包&#x1f487;配置maven文…

【NLP】自然语言处理的语料库与词库

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

双十二有哪些实用性强的数码好物?值得入手的实用数码好物推荐

赶在年末的双十二快来了&#xff0c;大家有没有心仪的数码好物正在购物车里蠢蠢欲动呢&#xff1f;入手数码产品最重要的还是要看其实用性强不强&#xff0c;下面&#xff0c;我整理了一份值得入手的实用数码好物清单&#xff0c;希望能给大家有个参考。 一、蓝牙耳机 蓝牙耳…

10、Springboot整合Security很全

1.什么是Security SpringSecurity是基于Spring AOP和Servlet过滤器的安全框架。 它提供全面的安全性解决方案&#xff0c;同时在Web 请求级和方法调用级处理身份确认和授权。 2.Spring Security核心功能&#xff1f; &#xff08;1&#xff09;认证&#xff08;你是谁&…

Java集合容器面试题(2023最新版)

集合容器概述 什么是集合 集合框架&#xff1a;用于存储数据的容器。 集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。 任何集合框架都包含三大块内容&#xff1a;对外的接口、接口的实现和对集合运算的算法。 接口&#xff1a;表示集合的抽象数据类型。接口…

王洪伟:流体力学与微积分方法求解水池进排水问题

作者 | 王洪伟 北京航空航天大学副教授&#xff0c;仿真秀专栏作者 导 读&#xff1a;经过了几篇略显烧脑的文章后&#xff0c;来一篇轻松一点的&#xff0c;经典的小学数学应用题。 1、问题分析 题&#xff1a;一个水池有一个进水管和一个排水管。只开进水管&#xff0c;2个…

Linux常用命令总结

目录和文件命令 &#xff08;1&#xff09;用户目录&#xff1a;位于/home/user&#xff0c;称之为用户工作目录&#xff1b; &#xff08;2&#xff09;ls&#xff1a;是英文单词list的简写&#xff0c;其功能为列出目录的内容&#xff1b; ls -a 列出隐藏文件&#xff0c;文…

CAS号:67131-52-6, 三肽Ala-Ala-Tyr

H-Ala-Ala-Tyr-OH 用于合成突变型多肽。H-Ala-Ala-Tyr-OH can be synthesized mutant peptides[1][2]. 编号: 193893中文名称: 三肽Ala-Ala-TyrCAS号: 67131-52-6单字母: H2N-AAY-OH三字母: H2N-Ala-Ala-Tyr-COOH氨基酸个数: 3分子式: C15H21N3O5平均分子量: 323.34精确分子量:…

Vue学习:分析hello案例

一个vue实例&#xff0c;接管不了两个容器 和 多个实例&#xff0c;一个容器都不允许 容器实例必须一对一 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" conten…

Nexus存储库管理器搭建-Maven私服

写在前面 &#x1f341;个人主页&#xff1a;微枫Micromaple ✨本期专栏&#xff1a;《0到1项目搭建》欢迎订阅学习~ &#x1f4cc;源码获取&#xff1a;GitCode、GitHub、码云Gitee 持续更新中&#xff0c;别忘了 star 喔~ 在企业开发过程中&#xff0c;就比如说我们Java程序员…

Linux内核中ideapad-laptop.c文件全解析10

接前一篇文章《Linux内核中ideapad-laptop.c文件全解析9》&#xff0c;地址为&#xff1a; Linux内核中ideapad-laptop.c文件全解析9_蓝天居士的博客-CSDN博客 本文针对于上一篇文章提到的配置选项"CONFIG_LEDS_BRIGHTNESS_HW_CHANGED"进行详细分析。在make menuco…

python -- PyQt5(designer)中文详细教程(五)对话框

对话框 对话框是⼀个现代GUI应用不可或缺的⼀部分。对话是两个人之间的交流&#xff0c;对话框就是⼈与电脑之 间的对话。对话框用来输⼊数据&#xff0c;修改数据&#xff0c;修改应用设置等等。 输入文字 QInputDialog 提供了⼀个简单方便的对话框&#xff0c;可以输入字符…