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

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

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

相关文章

Webpack5入门到原理17:Loader 原理

loader 概念 帮助 webpack 将不同类型的文件转换为 webpack 可识别的模块。 loader 执行顺序 分类 pre&#xff1a; 前置 loadernormal&#xff1a; 普通 loaderinline&#xff1a; 内联 loaderpost&#xff1a; 后置 loader 执行顺序 4 类 loader 的执行优级为&#xff…

【ARM 嵌入式 编译系列 2.6 -- GCC 编译时间统计参数 -ftime-report -Q 】

请阅读【嵌入式开发学习必备专栏 之 ARM GCC 编译专栏】 文章目录 GCC 编译时间统计 GCC 编译时间统计 如果你想要统计 GCC 编译过程中各个阶段的时间&#xff0c;可以使用 GCC 的 -ftime-report 选项。这个选项可以让编译器在编译结束后报告每个编译阶段所花费的时间。要使用…

Linux fsck命令教程:如何检查和修复你的文件系统(附实例详解和注意事项)

Linux fsck命令介绍 fsck&#xff0c;全称File System Consistency Check&#xff0c;主要用于检查和修复Linux文件系统的不一致和错误。该工具用于解决潜在的文件系统问题。fsck可以为你提供检查和修复一切文件系统中的问题的功能&#xff0c;包括一些潜在的磁盘错误等。 Li…

网络通信(Socket/TCP/UDP)

一、Socket 1.概念: Socket(又叫套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接协议,客户端的IP地址,客户端的端口,服务器的IP地址,服务器的端口。 一个Socket是一对IP地址…

笔试面试题——二叉树进阶(一)

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、根据二叉树创建字符串1、题目讲解2、思路讲解3、代码实现 二、二叉树的分层遍历1、题目讲…

【C语言基础考研向】11 gets函数与puts函数及str系列字符串操作函数

1.gets函数与puts函数 gets函数类似于scanf函数&#xff0c;用于读取标准输入&#xff0e;前面我们已经知道scanf函数在读取字符串时遇到空格就认为读取结束&#xff0c;所以当输入的字符串存在空格时&#xff0c;我们需要使用gets 函数进行读取. gets函数的格式如下: char *…

大数据导论(4)---大数据应用

文章目录 1. 在互联网中的应用1.1 推荐系统1.2 长尾理论1.3 推荐方法与模型1.4 推荐系统应用 2. 在其他领域的应用2.1 企业营销2.2 智慧交通 1. 在互联网中的应用 1.1 推荐系统 1. 推荐系统产生&#xff1a;  (1) 互联网的飞速发展使我们进入了信息过载的时代&#xff0c;搜索…

【赠书第17期】Excel高效办公:文秘与行政办公(AI版)

文章目录 前言 1 了解Excel的强大功能和工具 2 提升Excel技能的方法 3 结合AI技术提升Excel应用 4 注意事项 5 推荐图书 6 粉丝福利 前言 随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;我们的工作方式也在发生深刻变革。其中&#xff0c;Excel 作…

使用cmake进行完成开发实践

根据这个UML图进行cmake的实践 首先按照使用vscode在wsl2中配置clangd环境-CSDN博客的内容先创建出cmake项目。 之后在项目目录中创建include和src目录。 根据UML图&#xff0c;首先要完成Gun类的实现。分别在include&#xff0c;src目录下创建头文件和源文件&#xff0c;写入…

vue组件扩展

Vue中如何扩展一个组件 mixins、extends、slots、composition api 1、mixins 值可以是一个混合对象数组,混合实例可以包含选项,将在extend将相同的选项合并 mixins代码: var mixin{data:{mixinData:我是mixin的data},created:function(){console.log(这是mixin的created);},…

NAT44-ED features及节点图

VPP配置SNAT&#xff0c;内网接口GigabitEthernet2/0/0&#xff0c;外网接口GigabitEthernet3/0/0&#xff0c;NAT之后的地址为GigabitEthernet3/0/0接口的地址。 vpp# set interface state GigabitEthernet2/0/0 up vpp# set interface state GigabitEthernet3/0/0 up vpp# v…

上位机图像处理和嵌入式模块部署(qt图像处理)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 很多人一想到图像处理&#xff0c;本能的第一反应就是opencv&#xff0c;这也没有错。但是呢&#xff0c;这里面还是有一个问题的&#xff0c;不知…

Leetcode刷题笔记题解(C++):LCR 174. 寻找二叉搜索树中的目标节点

思路&#xff1a;二叉搜索树的中序遍历是有序的从大到小的&#xff0c;故得出中序遍历的结果&#xff0c;即要第cnt大的数为倒数第cnt的数 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeN…

JUC并发编程-集合不安全情况以及Callable线程创建方式

6. 集合不安全 1&#xff09;List 不安全 //java.util.ConcurrentModificationException 并发修改异常&#xff01; public class ListTest {public static void main(String[] args) {List<Object> arrayList new ArrayList<>();for(int i1;i<30;i){new Thr…

​WordPress顶部管理工具栏怎么添加一二级自定义菜单?

默认情况下&#xff0c;WordPress前端和后台页面顶部都有一个“管理工具栏”&#xff0c;左侧一般就是站点名称、评论、新建&#xff0c;右侧就是您好&#xff0c;用户名称和头像。那么我们是否可以在这个管理工具栏中添加一些一二级自定义菜单呢&#xff1f; 其实&#xff0c…

力扣746. 使用最小花费爬楼梯

动态规划 思路&#xff1a; 定义 dp[i] 为到达下标 i 层的最小花费&#xff1b;则状态转移方程为&#xff1a; 第 i 层可以从第 i - 1 层爬一层或者第 i - 2 层爬两层到达&#xff1b;则 dp[i] std::min(dp[i - 1] cost[i - 1], dp[i - 2] cost[i - 2])初始状态&#xff1a…

编程笔记 html5cssjs 050 CSS表格2-1

编程笔记 html5&css&js 050 CSS表格2-1 一、表格边框二、全宽表格三、合并表格边框四、表格宽度和高度五、水平对齐六、垂直对齐七、表格内边距八、可悬停表格九、条状表格十、表格颜色十一、响应式表格十二、CSS 表格属性十三、练习小结 使用 CSS 可以极大地改善 HTML…

SpringSecurity+JWT前后端分离架构登录认证

目录 1. 数据库设计 2. 代码设计 登录认证过滤器 认证成功处理器AuthenticationSuccessHandler 认证失败处理器AuthenticationFailureHandler AuthenticationEntryPoint配置 AccessDeniedHandler配置 UserDetailsService配置 Token校验过滤器 登录认证过滤器接口配置…

应用层—HTTPS详解(对称加密、非对称加密、密钥……)

文章目录 HTTPS什么是 HTTPSHTTPS 如何加密HTTPS 的工作过程对称加密非对称加密 HTTPS 什么是 HTTPS HTTPS 也是一个应用层的协议。是在 HTTP 协议的基础上引入的一个加密层。 由来&#xff1a;HTTP 协议内容都是按照文本的方式明纹传输&#xff0c;这就导致在传输过程中出现…

AndroidStudio 无法打开 arb 文件

问题描述 在做Flutter国际化的时候&#xff0c;AndroidStudio突然无法打开arb文件。 原因分析&#xff1a; Android Studio 默认可能并不支持直接打开.arb文件&#xff0c;因为.arb文件通常用于Flutter的国际化资源。为了在Android Studio中编辑和查看.arb文件&#xff0c;您…