centos7上hive3.1.3安装及配置

1、安装背景;

hive是基于hadoop的数据仓库软件,部署运行在linux系统之上,安装之前必须保证hadoop环境运行正常,hive本身不是分布式软件,它的分布式主要是借助hadoop实现,存储是hdfs,计算是mapreduce。

需要同时安装apache-hive-3.1.3-bin.tar.gz和mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar两个软件,因为hive的建表元数据需要保存到数据库中,共74张表,一般用mysql。

2、配置mysql;

Hive 允许将元数据存储于本地或远程的外部数据库中,这种设置可以支持 Hive 的多会话生产环
境,在本案例中采用 MySQL 作为 Hive 的元数据存储库。

(1)先卸载centos7自带的mariadb数据库, 因为mariadb5.5版本与hive3.x存在兼容性问题。

# 查找centos7中是否有自带的mariadb数据库
rpm -qa|grep mariadb# mariadb-libs-5.5.64-1.el7.x86_64#卸载
rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps

(2)上传mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar并解压;

此处用“tar -zxvf mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar -C /opt/server/mysql/”命令,会解压失败。

应该使用“tar xvf mysql-5.7.42-1.el7.x86_64.rpm-bundle.tar -C /opt/server/mysql/”,如下图;

(3)安装mysql5.7;

①安装必要的依赖包;

此处是在系统根目录安装,其他位置应该也可以。

# 安装依赖
yum -y install libaio
yum -y install libncurses*
yum -y install perl perl-devel

②安装mysql;

切换目录到“cd opt/server/mysql/”,执行下面四条命令;

# 安装mysql
rpm -ivh mysql-community-common-5.7.42-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-5.7.42-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-5.7.42-1.el7.x86_64.rpm 
rpm -ivh mysql-community-server-5.7.42-1.el7.x86_64.rpm

安装net-tools依赖包;

yum -y install net-tools.x86_64

安装mysql-community-server.xxxxx.rpm;

rpm -ivh mysql-community-server-5.7.42-1.el7.x86_64.rpm

(4)启动mysql;

# 启动mysql
systemctl start mysqld
#查看生成的临时root密码
cat /var/log/mysqld.log | grep password

2023-09-05T03:19:52.654819Z 1 [Note] A temporary password is generated for root@localhost: pRyujui?H9gD

(5)修改初始密码;

# 登录mysql
mysql -u root -p
Enter password:     #输入在日志中生成的临时密码# 更新root密码 设置为sql2023
set global validate_password_policy=0;
set global validate_password_length=1;
set password=password('sql2023');

(6)远程授权;

# 其中 *.*代表对所有表进行授权;‘root’ 代表 root 用户;‘%’ 代表所有的外部 IP;‘sql2023’ 代表自己设置的用户密码。
grant all privileges on *.* to 'root' @'%' identified by 'sql2023';# 刷新
flush privileges;

退出mysql命令:"exit"

(7)相关命令;

#mysql的启动和关闭 状态查看
systemctl stop mysqld
systemctl status mysqld
systemctl start mysqld#建议设置为开机自启动服务
systemctl enable mysqld#查看是否已经设置自启动成功
systemctl list-unit-files | grep mysqld

3、Hive安装和配置;

(1)上传hive安装包apache-hive-3.1.3-bin.tar.gz和mysql_jdbc驱动包mysql-connector-java-5.1.38.jar;

(2)解压hive安装包;

命令“tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /opt/server/”;

(3)添加mysql_jdbc驱动到hive安装包lib目录下;

(4)修改hive-env.sh,加入hadoop安装路径;

# 进入conf目录
[root@server apache-hive-3.1.3-bin]# cd ./conf# 生成hive-env.sh文件
cp hive-env.sh.template hive-env.sh#编辑hive-env.sh信息
vim hive-env.sh

# 加入hadoop路径
HADOOP_HOME=/opt/server/hadoop-3.3.1

(5)新建 hive-site.xml 文件,内容如下,主要是配置存放元数据的 MySQL 的地址、驱动、用户名和密码等信息;

vim hive-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><!-- 存储元数据mysql相关配置 /etc/hosts --><property><name>javax.jdo.option.ConnectionURL</name><value> jdbc:mysql://server:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>sql2023</value></property>
</configuration>

(6)hive2j及以上版本,必须手动初始化元数据库;

# 进入bin目录
cd /opt/server/apache-hive-3.1.2-bin/bin# 初始化元数据库命令
./schematool -dbType mysql -initSchema

(7)添加hive环境变量;

#Hive
export HIVE_HOME=/opt/server/apache-hive-3.1.3-bin
export PATH=$PATH:${HIVE_HOME}/bin

刷新,使其生效;

source ./etc/profile

(8)启动hive,测试功能;

# 连接hive
hive# 创建数据库
create database test;
# 列出所有数据库
show databases;
# 切换数据库
use test;# 建表
create table tb1(id int,name varchar(64));
# 插入一条数据
insert into table tb1 values(1,"wang");
# 查询表数据
select * from tb1;

YARN有MapReduce程序执行;

退出hive命令:"exit;"

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

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

相关文章

笔记本家庭版本win11上win+r,运行cmd默认没有管理员权限,如何调整为有管理员权限的

华为matebookeGo 笔记本之前有段时间不知怎么回事&#xff0c;打开运行框&#xff0c;没有了那一行“使用管理权限创建此任务”&#xff0c;而且cmd也不再是默认的管理员下的&#xff0c;这很不方便,虽然每次winr &#xff0c;输入cmd后可以按ctrlshitenter以管理员权限运行&am…

transformer位置编码最详细的解析

位置编码positional encoding 1. 位置编码是什么&#xff0c;为什么需要它&#xff1f;2. transformer提出的位置编码方法3. 直觉4. 其他细节5. 相对位置6. 常见问题解答 1. 位置编码是什么&#xff0c;为什么需要它&#xff1f; 位置和词语的顺序是任何语言的重要组成部分。它…

STM32f103入门(4)对射式红外传感器计次(外部中断)

中断:在主程序运行过程中&#xff0c;出现了特定的中断触发条件 (中断源)&#xff0c;使得CPU暂停当前正在运行的程序&#xff0c;转而去处理中断程序处理完成后又返回原来被暂停的位置继续运行中断优先级:当有多个中断源同时申请中断时&#xff0c;CPU会根据中断源的轻重缓急进…

useRef 定义的 ref 在控制台可以打印但是页面不生效?

useRef 是一个 React Hook&#xff0c;它能让你引用一个不需要渲染的值。 点击计时器 点击按钮后在控制台可以打印但是页面不生效。 useRef 返回的值在函数组件中不会自动触发重新渲染&#xff0c;所以控制台可以显示变化而按钮上无法显示 ref.current的变化。 import { use…

孙哥Spring源码第14集

第14集 BeanDefintion的创建方式 【视频来源于&#xff1a;B站up主孙帅suns Spring源码视频】 1、注册BeanDefintion的方式如何根据情况进行选择呢&#xff1f; xml 注解 扫描 import 2、为什么没有人用Import 可以通过注解的方式进行对应类型的注册。 3、ImportSelector和…

Lesson4-3:OpenCV图像特征提取与描述---SIFT/SURF算法

学习目标 理解 S I F T / S U R F SIFT/SURF SIFT/SURF算法的原理&#xff0c;能够使用 S I F T / S U R F SIFT/SURF SIFT/SURF进行关键点的检测 SIFT/SURF算法 1.1 SIFT原理 前面两节我们介绍了 H a r r i s Harris Harris和 S h i − T o m a s i Shi-Tomasi Shi−Tomasi…

Mac下使用Homebrew安装MySQL5.7

Mac下使用Homebrew安装MySQL5.7 1. 安装Homebrew & Oh-My-Zsh2. 查询软件信息3. 执行安装命令4. 开机启动5. 服务状态查询6. 初始化配置7. 登录测试7.1 终端登录7.2 客户端登录 参考 1. 安装Homebrew & Oh-My-Zsh mac下如何安装homebrew MacOS安装Homebrew与Oh-My-Zsh…

港陆证券:服装家纺公司上半年投资并购力度加大

9月1日&#xff0c;嘉曼服饰发布公告&#xff0c;为完善多品牌差异化开展战略&#xff0c;将以自有资金收买暇步士&#xff08;Hush Puppies&#xff09;品牌我国内地及香港、澳门区域IP财物。 面对服饰市场的激烈竞争&#xff0c;本年以来一些服饰类A股公司开启了“买买买”形…

SSRF服务端请求伪造

服务端请求伪造&#xff0c;其实就是攻击者构造恶意请求&#xff0c;服务端发起恶意请求&#xff0c;如果服务端不对用户传递的参数进行严格的过滤和限制&#xff0c;就可能导致服务端请求伪造 上面是百度识图&#xff0c;我们可以传递图片地址&#xff0c;百度识图向图片发起…

哈夫曼编码实现文件的压缩和解压

程序示例精选 哈夫曼编码实现文件的压缩和解压 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《哈夫曼编码实现文件的压缩和解压》编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0…

C语言:字符函数和字符串函数(一篇拿捏字符串函数!)

目录 求字符串长度&#xff1a; 1. strlen(字符串长度) 长度不受限制函数&#xff1a; 2. strcpy(字符串拷贝) 3. strcat(字符串追加) 4. strcmp(字符串比较) 长度受限制函数&#xff1a; 5. strncpy(字符串拷贝) 6. strncat(字符串追加) 7. strncmp(字符串比较) 字…

【GAMES202】Real-Time Global Illumination(in 3D)—实时全局光照(3D空间)

一、SH for Glossy transport 1.Diffuse PRT回顾 上篇我们介绍了PRT&#xff0c;并以Diffuse的BRDF作为例子分析了预计算的部分&#xff0c;包括Lighting和Light transport&#xff0c;如上图所示。 包括我们还提到了SH&#xff0c;可以用SH的有限阶近似拟合球面函数&#xff…

购物商场项目实践

1.项目开始 1&#xff09;此项目为在线电商项目 2&#xff09;包含首页&#xff0c;搜索列表&#xff0c;商品详情&#xff0c;购物车&#xff0c;订单&#xff0c;支付&#xff0c;用户登录/注册等多个子模块 3&#xff09;使用Vue全家桶ES6webpackAxios等前端技术 4&…

Pandas数据分析基础—pandas自带函数map()/apply()/applymap()

文章目录 前言一、Series数据处理1、map()方法2、apply()方法3、applymap()方法总结 二、DataFrame数据处理1、map()方法2、apply()方法3、applymap()方法总结 三、map、apply、applymap三个函数区别 前言 在进行数据处理时&#xff0c;经常会对一个DataFrame展开逐行、逐列、…

【AI】机器学习——绪论

文章目录 1.1 机器学习概念1.1.1 定义统计机器学习与数据挖掘区别机器学习前提 1.1.2 术语1.1.3 特点以数据为研究对象目标方法——基于数据构建模型SML三要素SML步骤 1.2 分类1.2.1 参数化/非参数化方法1.2.2 按算法分类1.2.3 按模型分类概率模型非概率模型逻辑斯蒂回归 1.2.4…

redis 数据结构(二)

整数集合 整数集合是 Set 对象的底层实现之一。当一个 Set 对象只包含整数值元素&#xff0c;并且元素数量不时&#xff0c;就会使用整数集这个数据结构作为底层实现。 整数集合结构设计 整数集合本质上是一块连续内存空间&#xff0c;它的结构定义如下&#xff1a; typed…

避雷,软件测试常见的误区之一

随着软件规模的不断扩大&#xff0c;软件设计的复杂程度不断提高&#xff0c;软件开发中出现错误或缺陷的机会越来越多。同时&#xff0c;市场对软件质量重要性的认识逐渐增强。所以&#xff0c;软件测试在软件项目实施过程中的重要性日益突出。但是&#xff0c;现实情况是&…

喜讯 | 数智经营新典范,体验家XMPlus荣获「年度数智经营服务商」

7月27日&#xff0c;“助力运营知识与创新传播”的内容服务平台——运营研究社举行了「2023数字化运营生态大会」&#xff0c;会上正式揭晓了「2023数字化运营生态大奖」的四大榜单&#xff0c;体验家XMPlus荣获「年度数智经营服务商」&#xff01;现场有800运营伙伴齐聚&#…

python 笔记(3)——request、爬虫、socket、多线程

目录 1、使用requests发送http请求 1-1&#xff09;发送get请求 1-2&#xff09;发送 post 请求 1-3&#xff09;发送 get 请求下载网络图片 1-4&#xff09;使用 post 上传文件 1-5&#xff09;自动维护 session 的方式 2、使用 os.popen 执行cmd命令 3、基于 beautif…

【微服务部署】五、Jenkins+Docker一键打包部署NodeJS(Vue)项目的Docker镜像步骤详解

NodeJS&#xff08;Vue&#xff09;项目也可以通过打包成Docker镜像的方式进行部署&#xff0c;原理是先将项目打包成静态页面&#xff0c;然后再将静态页面直接copy到Nginx镜像中运行。 一、服务器环境配置 前面说明了服务器Nginx的安装和配置&#xff0c;这里稍微有些不同&a…