java大数据hadoop2.9.2 Linux安装mariadb和hive

news2024/11/16 19:56:30

一、安装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客户端查询里面的表数据

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

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

相关文章

java常见的面试问题

目录 一、异常 1、 throw 和 throws 的区别&#xff1f; 2、 final、finally、finalize 有什么区别&#xff1f; 3、try-catch-finally 中哪个部分可以省略&#xff1f; 4、try-catch-finally 中&#xff0c;如果 catch 中 return 了&#xff0c;finally 还会执行吗&#…

vue3 实现自定义radio

需求背景解决效果bgRadio.vue 需求背景 实现一个自定义选中样式的 radio 解决效果 bgRadio.vue <!--/** * author: liuk * date: 2024/01/25 * describe: 背景单选框 * email: 1229223630qq.com */--> <template><div class"radio-wrap"><l…

Linux 互斥锁、读写锁、条件变量以及信号量

互斥锁 同步与互斥概述 现代操作系统基本都是多任务操作系统&#xff0c;即同时有大量可调度实体在运行。在多任务操作系统中&#xff0c;同时运行的多个任务可能&#xff1a; 都需要访问/使用同一种资源多个任务之间有依赖关系&#xff0c;某个任务的运行依赖于另一个任务 …

AP5216 平均电流型LED降压恒流驱动IC 手电筒汽车摩托车灯芯片

产品描述 AP5216 是一款 PWM工作模式, 高效率、外围简单、内置功率管&#xff0c;适用于5V&#xff5e;100V输入的高精度降压 LED 恒流驱动芯片。输出最大功率可达9W&#xff0c;最大电流 1.0A。AP5216 可实现全亮/半亮功能切换&#xff0c;通过MODE 切换&#xff1a;全亮/半亮…

Java 集合Map相关面试题

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d7;本文收录于java面试题系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏Rust初阶教程、go语言基…

如何使用docker实现越权漏洞-webug靶场搭建(超详解)

越权漏洞-webug靶场搭建 1.打开docker systemctl start docker 2.查找webug docker search webug 3.拉取docker.io/area39/webug 镜像 docker pull docker.io/area39/webug 4.查看镜像 docker images 5.创建容器 docker run -d -p 8080:80 --name webug docker.io/area39/we…

哈夫曼树(Huffman)

哈夫曼树 Huffman 编码问题 问题引入 什么是编码&#xff1f; 简单说就是建立【字符】到【数字】的对应关系&#xff0c;如下面大家熟知的 ASC II 编码表&#xff0c;例如&#xff0c;可以查表得知字符【a】对应的数字是十六进制数【0x61】 \000102030405060708090a0b0c0d…

五款焊在电脑上的效率软件

在当今快节奏的商业环境中&#xff0c;提高工作效率成为了每个人都渴望实现的目标。尤其是在面对繁忙的工作日程、庞杂的任务清单和团队合作的压力时&#xff0c;我们需要一些可靠的工具来帮助我们更好地管理时间、组织工作和提高生产力。幸运的是&#xff0c;现在有许多高效的…

k8s的图形化工具--rancher

什么是rancher&#xff1f; rancher是一个开源的企业级多集群的k8s管理平台 rancher和k8s的区别 都是为了容器的调度和编排系统&#xff0c;但是rancher不仅能够调度&#xff0c;还能管理k8s集群&#xff0c;自带监控&#xff08;普罗米修斯&#xff09; 实验部署 实验架构…

分类预测 | Matlab实现GRU-Attention-Adaboost基于门控循环单元融合注意力机制的Adaboost数据分类预测/故障识别

分类预测 | Matlab实现GRU-Attention-Adaboost基于门控循环单元融合注意力机制的Adaboost数据分类预测/故障识别 目录 分类预测 | Matlab实现GRU-Attention-Adaboost基于门控循环单元融合注意力机制的Adaboost数据分类预测/故障识别分类效果基本描述程序设计参考资料 分类效果 …

WinSCP如何使用公网TCP地址访问本地服务器

文章目录 1. 简介2. 软件下载安装&#xff1a;3. SSH链接服务器4. WinSCP使用公网TCP地址链接本地服务器5. WinSCP使用固定公网TCP地址访问服务器 1. 简介 ​ Winscp是一个支持SSH(Secure SHell)的可视化SCP(Secure Copy)文件传输软件&#xff0c;它的主要功能是在本地与远程计…

基于 Gurobi 的纸浆运载船顺序装卸决策建模求解|Gurobi优化应用

Pulp-Carrier-Loading-Optimization-with-Gurobi 基于 Gurobi 的纸浆运载船顺序装卸决策建模求解。中山大学智能工程学院《运筹学》课程期末建模课程设计。优化工具&#xff1a;Python的Gurobi 项目仓库 Github: Pulp-Carrier-Loading-Optimization-with-Gurobi 摘要 本研究…

信驰达科技多款TI CC2340R5系列低功耗蓝牙模块强势上线

信驰达科技基于TI CC2340R5推出了多款蓝牙串口模块&#xff0c;包括RF-BM-2340B1、RF-BM-2340B1I、RF-BM-2340A2、RF-BM-2340A2I、RF-BM-2340C2&#xff0c;RF-BM-2340x系列低功耗蓝牙模块采用TI CC2340R5 5 mm x 5 mm(VQFN40) 和4 mm x 4 mm(VQFN24)封装SoC&#xff0c;支持板…

信息检索与数据挖掘 | (十二)聚类

文章目录 &#x1f4da;聚类&#x1f4da;KMeans&#x1f4da;层次聚类&#x1f407;层次聚类概述&#x1f407;dendrogram-树状图&#x1f407;linkages-衡量两个类之间的距离&#x1f407;Lance-Williams算法&#x1f407;K-means VS 层次聚类 &#x1f4da;DBSCAN &#x1f…

pdf怎么转换成jpg图片?pdf转图片工具用它就够了

有时候&#xff0c;我们可能需要将pdf文档转换为图片格式&#xff0c;以便于文档的处理和管理。通过将pdf转换为图片&#xff0c;可以将每一页pdf转换为独立的图片文件&#xff0c;便于整理、存储和管理&#xff0c;如果您有多个PDF文件需要转换成图片&#xff0c;可以批量pdf转…

WorkPlus AI智能客服解决方案,提升企业服务质量

在当今竞争激烈的商业环境中&#xff0c;提供卓越的客户服务成为企业赢得市场竞争的关键。而AI智能客服技术的不断发展&#xff0c;则成为了提高服务效率和满意度的利器。作为一款领先的AI助理解决方案&#xff0c;WorkPlus AI助理以其出色的性能和智能化的功能&#xff0c;助力…

(二十八)ATP应用测试平台——使用electron集成vue3桌面应用程序

前言 Electron 是一个开源的框架&#xff0c;它允许使用 Web 技术&#xff08;HTML、CSS 和 JavaScript&#xff09;构建跨平台的桌面应用程序。通过 Electron&#xff0c;开发者可以使用前端技术栈来创建具有原生应用程序体验的桌面应用。 Electron可以在 Windows、Mac 和 L…

【C++进阶】STL容器--list使用迭代器问题分析

目录 前言 1. list的基本使用 1.1 list构造函数 1.2 list迭代器 1.3 list capacity 1.4 list元素访问 1.5 list 修改操作 insert erase swap resize clear 2. list失效迭代器问题 3. list使用算法库函数问题 总结 前言 list&#xff08;链表&#xff09;在C中非常重要…

怎么把音频转换成二维码?把音频制作成二维码的方法

现在很多二维码被用来作为信息传递的一种方式&#xff0c;常见的类型包括文本、图片、音视频等等。选择这种方式的好处在于&#xff0c;不仅制作起来非常简单&#xff0c;有效的降低成本&#xff0c;而且便捷性也比较强。那么如何将音频格式的文件做成二维码图片呢&#xff1f;…

一文读懂:怎样将 MongoDB 转变为预测数据库?操作详解来了!

商界对人工智能 (AI) 和机器学习 (ML) 的兴趣日益浓厚。ML/AI 的预测功能能够以比人工分析更快的速度从检测到的模式中快速获得见解。此外&#xff0c;生成式机器学习应用程序&#xff08;如 OpenAI 和 Hugging Face&#xff09;的最新进展为企业提供了强大工具以用于生成和分析…