java大数据hadoop2.9.2 Linux安装mariadb和hive
一、安装mariadb
版本centos7
1、检查Linux服务器是否已安装mariadb
yum list installed mariadb*
2、如果安装了,想要卸载
yum remove mariadb
rm -rf /etc/my.cnf
rm -rf /var/lib/mysql
才能完全删除
3、安装mariadb
在线网络安装
yum install -y mariadb-server
开启服务
systemctl start mariadb.service
输入下方命令,进入数据库内部
mysql

给用户权限,方便后续使用navicat等工具远程登录
show databases;
use mysql;
grant all on *.* to 'root'@'%' identified by '123456';
select user,host,password from user;
二、安装Hive
1、上传hive压缩包到Linux系统解压
tar -zcvf apache-hive-3.1.1-bin.tar.gz
把解压缩的文件复制到/usr/local/hive
2、修改配置文件
(1)修改hive-env.sh
cd /usr/local/hive/conf
cp ./hive-env.sh.template . /hive-env.sh
编辑hive-env.sh
添加下方两行
HADOOP_HOME=/usr/local/hadoop
export HADOOP_HOME

(2)修改hive-site.xml
hive-site.xml文件
编辑指定hive元数据要保存的关系数据库的连接信息
cd /usr/local/hive/conf
cp ./hive-default.xml.template ./hive-site.xml
编辑hive-site.xml
在hive-site.xml文件修改部分节点配置
<configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://ip:3306/hive?createDatabaseIfNotExist=true</value><description>JDBC connect string for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.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>
</configuration>
3、启动测试
vi /etc/profile
添加下方全局配置
HIVE_HOME=/usr/local/hive
export HIVE_HOME
PATH=$HIVE_HOME/bin:$PATH
export PATH
navicat连接mysql创建一个库,即前面安装的mariadb中新增hive数据库
schematool -dbType mysql -initSchema//初始化表结构
命令有可能报错,需要下载mysql驱动
https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-5.1.47.tar.gz
tar -zxvf mysql-connector-java-5.1.47.tar.gz
解压缩后,把里面的jar包mysql-connector-java-5.1.47.jar文件拷贝到
/usr/local/hive/lib
start-all.sh启动Hadoop,然后再执行初始化表结构的命令
进入hive内部,输入hive命令,有可能报错,需要修改配置文件hive-site.xml
vi /usr/local/hive/conf/hive-site.xml
修改如下几个节点
将hive-site.xml文件中的${system:java.io.tmpdir}替换为hive的临时目录,例如我替换为/home/lch/software/Hive/apache-hive-2.1.1-bin/tmp/,该目录(tmp)如果不存在则要自己手工创建,并且赋予读写权限。
<property><name>Hive.exec.local.scratchdir</name><value>/usr/local/hive/tmp/${user.name}</value><description>Local scratch space for Hive jobs</description></property><property><name>hive.downloaded.resources.dir</name><value>/usr/local/hive/tmp/${hive.session.id}_resources</value><description>Temporary local directory for added resources in the remote file system.</description></property><property><name>hive.server2.logging.operation.log.location</name><value>/usr/local/hive/tmp/operation_logs</value><description>Top level directory where operation logs are stored if logging functionality is enabled</description></property>
后面输入hive即可进入

4、hive操作
创建数据库
create database test;
创建表
use test;create table t_student(id int,name string,sex string,age int
)
row format delimited fields terminated by ',';
后面可在hadoop的文件系统web端查看到创建的库和表

在Linux的任意一个目录新增一个文件,my_student.txt
cd /root/app/
vi ./my_student.txt
1,zhangsan,man,20
2,lisi,woman,21
3,wangwu,man,34
4,xiaofan,woman,24
文件上传到hadoop中的hive目录
hdfs dfs -put ./my_student.txt /user/hive/warehouse/test.db/t_student
再去hive里面通过sql查询语句
select * from t_student;
5、Java操作
创建maven项目,依赖如下
<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc --><dependency><groupId>org.apache.hive</groupId><artifactId>hive-jdbc</artifactId><version>2.3.4</version></dependency>
操作代码
public class TestHive {public static void main(String[] args) throws Exception{test();}public static void test()throws Exception{Class.forName("org.apache.hive.jdbc.HiveDriver");Connection conn = DriverManager.getConnection("jdbc:hive2://192.168.208.133:10000/test", "root", "123456");Statement stmt = conn.createStatement();String sql = "select * from t_student";ResultSet rs = stmt.executeQuery(sql);while(rs.next()) {System.out.println(rs.getInt(1));System.out.println(rs.getString(2));System.out.println(rs.getString(3));System.out.println(rs.getInt(4));}}
}
需要hive开启远程
(1)配置远程
vi /usr/local/hadoop/etc/hadoop/core-site.xml
添加两个节点
<property><name>hadoop.proxyuser.root.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.root.groups</name><value>*</value></property>
Linux运行命令
hiveserver2
启动hiveserver2这个命令需要等几分钟才能完全启动,后面才能运行Java代码连接hive客户端查询里面的表数据
相关文章:
java大数据hadoop2.9.2 Linux安装mariadb和hive
一、安装mariadb 版本centos7 1、检查Linux服务器是否已安装mariadb yum list installed mariadb* 2、如果安装了,想要卸载 yum remove mariadb rm -rf /etc/my.cnf rm -rf /var/lib/mysql 才能完全删除 3、安装mariadb 在线网络安装 yum install -y mari…...
Docker部署微服务问题及解决
👨🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:Docker容器命令案例:Nginx容器修改,Redis容器持久化 📚订阅专栏:Docker 希望文章…...
Android: alarm定时很短时,比如500ms,测试执行mPowerManager.forceSuspend()后,系统不会suspend
参考文档: https://blog.csdn.net/weixin_35691921/article/details/124961404 Android: alarm定时很短时,比如500ms,然后执行mPowerManager.forceSuspend()后,系统不会suspend,原因分析: static int ala…...
一个简单好用的C语言单元测试框架-Unity
Unity简介: Unity是一个用于C语言的轻量级单元测试框架。它由Throw The Switch团队开发,旨在简化嵌入式系统的单元测试。单元测试中单元的含义,单元就是人为规定的最小的被测功能模块,如C语言中单元指一个函数,Java里…...
ubuntu系统 vscode 配置c/c++调试环境
文章目录 1.安装插件2.目录结构3.cmake tools配置 1.安装插件 c/c插件 cmake cmake tools插件 2.目录结构 . ├── build ├── CMakeLists.txt ├── demo │ └── main.cpp ├── image.png ├── src │ ├── add.cpp │ └── add.hpp └── vsdebug.…...
算法练习-A+B/财务管理/实现四舍五入/牛牛的菱形字符(题目链接+题解打卡)
难度参考 难度:简单 分类:熟悉OJ与IDE的操作 难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。以下内容均为个人笔记,旨在督促自己认真学习。 题目 A B1. A B - AcWing题库财务管理1004:财…...
XSS语句
XSS测试语句 在测试网站是否存在XSS漏洞时,应该输入一些标签如<,>输入后查看网页源代码是否过滤标签,如果没过滤,很大可能存在XSS漏洞。 <h5>1</h5> <span>1</span> <SCRIPT>alert(document.cookie)&l…...
AD导出BOM表 导出PDF
1.Simple BOM: 这种模式下,最好在pcb界面,这样的导出的文件名字是工程名字,要是在原理图界面导出,会以原理图的名字命名表格。 直接在菜单栏 报告->Simple BOM 即可导出物料清单,默认导出 comment pattern qu…...
linux 的nobody是什么用户? 对安全有没有影响?
目 录 一、前言:nobody是不是可疑用户? 二、Linux系统中的nobody用户? 二、有nobody用户存在,安全吗? 一、前言:nobody是不是可疑用户? 在前面一篇文章“Linux安全问题,如何查看哪…...
2024年华数杯国际数学建模B 光伏电(Problem B: Photovoltaic Power)完整思路以及源代码分享
背景 中国的电力构成包括传统的能源发电(如煤炭、石油和天然气)、可再生能源发电 (如水力发电、风能、太阳能和核能)和其他形式的电力。这些发电方式在满足中 国巨大的电力需求方面发挥着至关重要的作用。根据最新数据…...
在 Spring MVC 中,用于接收前端传递的参数的注解有以下几种
目录 RequestParam: PathVariable: RequestBody: RequestHeader: CookieValue: RequestParam: 用于获取请求参数的值。可以指定参数名称和默认值。示例代码: GetMapping("/users&q…...
K8s常用命令
查看集群各节点的状态 部署应用 删除一个service服务 查询service服务列表 kubectl get services 查看网络资源 kubectl get svc pod 创建一个namespace kubectl create namaspace namespace名称 创建一个pod 通常不需要创建pod 查看pod kubectl get pods kube…...
MySQL的基本操作
目录 序言 一、SQL语句(Structured Query Language) 1.1 SQL简介 1.2 SQL语句的分类 1.3 SQL语句的书写规范 二、数据库操作 2.1 查看库 2.2 创建库 2.3 切换库 2.4 删除库 三、MySQL字符集 3.1 MySQL字符集的分类 3.2 UTF8和UTF8MB4的区别…...
【b站咸虾米】chapter4_vue组件_新课uniapp零基础入门到项目打包(微信小程序/H5/vue/安卓apk)全掌握
课程地址:【新课uniapp零基础入门到项目打包(微信小程序/H5/vue/安卓apk)全掌握】 https://www.bilibili.com/video/BV1mT411K7nW/?p12&share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 四、vue组件 uni-app官网 …...
Java网络编程——UDP通信原理
一、TCP和UDP概述 传输层通常以TCP和UDP协议来控制端点与端点的通信 TCPUDP协议名称传输控制协议用户数据包协议是否连接面向连接的协议。数据必须要建立连接无连接的协议,每个数据报中都给出完整的地址信息,因此不需要事先建立发送方和接受方的连接是…...
Spring | Srping AOP (AOP简介、动态代理、基于“代理类”的AOP实现)
目录: 1.Spring AOP简介1.1 AOP简介1.2 AOP术语 2.动态代理2.1 JDK动态代理2.2 CGLIB代理 3.基于“代理类”的AOP实现3.1 Spring的通知类型3.2 ProxyFactoryBean ( 可通知.xml配置文件完成aop功能 ) 1.Spring AOP简介 1.1 AOP简介 Spring的AOP模块,是Spring框架体系…...
StarRocks 生成列:百倍提速半结构化数据分析
半结构化分析主要是指对 MAP,STRUCT,JSON,ARRAY 等复杂数据类型的查询分析。这些数据类型表达能力强,因此被广泛应用到 OLAP 分析的各种场景中,但由于其实现的复杂性,对这些复杂类型分析将会比一般简单类型…...
数据结构---数组
一、基本概念 1. 存放一组相同数据类型的集合 2.在内存中,分配连续的空间,数组创建时要指定大小 3. 定义 数据类型 [] 数组名 // 1.定义一个数组,里面的元素包含10, 20, 24, 17, 35, 58, 45, 74 int arr[] {10, 20, 24, 17, 35, 58, 45, 74}; 4. 获取数组的长度 int lengt…...
知识笔记(八十四)———链式语句中fetchSql和force和bind用法
fetchSql: fetchSql用于直接返回SQL而不是执行查询,适用于任何的CURD操作方法。 例如: $result Db::table(think_user)->fetchSql(true)->find(1);输出result结果为: SELECT * FROM think_user where id 1 force&#…...
为什么要用B+树
B树的优势 支持范围查询:B树在进行范围查询时,只需要从根节点一直遍历到叶子节点,因为数据都存储在叶子节点上,而且叶子节点之间有指针连接,可以很方便的进行范围查询 支持排序:B树的叶子节点按照关键字顺…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
