docker 安装hive

news2024/11/26 0:32:44

记录一下使用docker快速搭建部署hive环境

目录

  • 写在前面
      • 步骤
  • 安装docker
      • 安装docker
      • 安装docker-compose
      • 配置docker国内镜像源(可选)
  • 安装git & 配置github
  • 部署Hive
      • docker-hive
      • 开始部署
  • 使用Hive命令行
  • 收尾工作
      • 安装vi、lrzsz
      • 关闭相关命令
  • END
  • 参考链接

写在前面

想练练Hive SQL,但是没有hive shell环境。现在只有一台空的CentOS 7机子,一想要弄jdk、hadoop、mysql、hive就头疼。

于是在网上找了找,发现用docker部署hive会快很多,在此记录一下部署过程。

以下过程每一步在文末都附有参考文档,出错的朋友可以去看对应的参考文档。

步骤

  1. 安装docker
  2. 安装git,配置github。因为用的是github上大佬写好的docker compose服务,所以要git clone下来。
  3. 部署hive
  4. 使用hive命令行
  5. 收尾工作

安装docker

要用到docker和docker-compose,我们依次来安装

安装docker

如果你之前安装过 docker,请先删掉

yum remove docker docker-common docker-selinux docker-engine

安装一些依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

拉取docker-ce.repo

wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

把软件仓库地址替换为 TUNA:

sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo

最后安装(默认安装的是最新版docker):

yum makecache fast
yum install docker-ce

启动docker,设为开机自启,查看docker版本

systemctl start docker
systemctl enable  docker
docker version

至此,不报错的话,docker就安装好了。

安装docker-compose

依次执行以下命令

curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose


chmod +x /usr/local/bin/docker-compose


ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose


docker-compose --version

配置docker国内镜像源(可选)

我在后面pull docker镜像时,速度很慢,所以又配了一下国内镜像加速源,可配可不配。

参考https://www.cnblogs.com/reasonzzy/p/11127359.html这篇文章,我配的是阿里云镜像。

安装git & 配置github

执行以下命令就可以安装git了

yum -y install git

配置github的话,比较常规的操作,可以参考https://www.cnblogs.com/smartwen666/p/7891108.html这篇文章。

部署Hive

准备工作都做完了,可以开始部署Hive了。

docker-hive

用的是大佬写好的docker-hive。

上链接:https://github.com/big-data-europe/docker-hive

可以根据README.md中的介绍,来进行部署、测试。

开始部署

依次执行以下命令

git clone git@github.com:big-data-europe/docker-hive.git

# 注:本文所有docker-compose都是在docker-hive目录下执行的
cd docker-hive

# 这步在后台起一个hive,元数据库用的是postgresql
# 会费一点时间,需要耐心等待
docker-compose up -d

等上面命令运行完成后,可以执行docker-compose ps命令查看正在运行的镜像。

下图是我运行这个命令的截图:

在这里插入图片描述

可以看到有namenode、datanode、hive等,表示部署成功了。

使用Hive命令行

依次执行以下步骤

# 进入bash
docker-compose exec hive-server bash

# 使用beeline客户端连接
/opt/hive/bin/beeline -u jdbc:hive2://localhost:10000

# 执行SQL。这两句是可以直接执行的,镜像带了example文件
CREATE TABLE pokes (foo INT, bar STRING);
LOAD DATA LOCAL INPATH '/opt/hive/examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;

# 查询
select * from pokes;

查询结果:

在这里插入图片描述

至此,就可以开始愉快的写Hive SQL了。

收尾工作

安装vi、lrzsz

准备sql表数据时,发现这个docker image默认没有安装vi,就自己安一个吧。

apt-get update

apt-get install vim

# lrzsz是一个上传下载文件的工作,也安装一下
apt-get install lrzsz

关闭相关命令

# 关闭hive相关服务
docker-compose kill

# 关闭docker
systemctl stop docker

# 跑路
init 0 

END

一套操作下来,好像也没省多少事。但是有docker,部署乱七八糟的环境还是挺省心的。

安装过程有问题的小伙伴,可以看下面的参考链接,也可以评论交流。

参考链接

清华镜像站安装docker:https://mirror.tuna.tsinghua.edu.cn/help/docker-ce/

Centos7下安装Docker:https://blog.csdn.net/u014069688/article/details/100532774

Docker Compose教程:https://www.runoob.com/docker/docker-compose.html

Docker Compose详解:https://www.jianshu.com/p/658911a8cff3

配置docker国内镜像源:https://www.cnblogs.com/reasonzzy/p/11127359.html

git配置连接github:https://www.cnblogs.com/smartwen666/p/7891108.html

docker-hive github:https://github.com/big-data-europe/docker-hive

转载至:https://www.cnblogs.com/upupfeng/p/13452385.html

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

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

相关文章

解锁Java迭代器:优雅遍历集合元素的秘密武器

解锁Java迭代器:优雅遍历集合元素的秘密武器 你是否曾想过,在Java的编程世界中,有没有一种方法可以优雅地遍历集合中的元素,而不需要关心底层实现?答案是肯定的,那就是——迭代器(Iterator&…

使用vite创建Vue/React前端项目,配置@别名和Sass样式,又快又方便

Vite官方网站:Vite | 下一代的前端工具链 Vite 并不是基于 Webpack 的,它有自己的开发服务器,利用浏览器中的原生 ES 模块。这种架构使得 Vite 比 Webpack 的开发服务器快了好几个数量级。Vite 采用 Rollup 进行构建,速度也更快…

【前端|CSS】5种经典布局

页面布局是样式开发的第一步,也是 CSS 最重要的功能之一。 常用的页面布局,其实就那么几个。下面我会介绍5个经典布局,只要掌握了它们,就能应对绝大多数常规页面。 这几个布局都是自适应的,自动适配桌面设备和移动设备…

【BASH】回顾与知识点梳理(十五)

【BASH】回顾与知识点梳理 十五 十五. 指令与文件的搜寻15.1 脚本文件名的搜寻which (寻找『执行档』) 15.2 文件档名的搜寻whereis (由一些特定的目录中寻找文件文件名)locate / updatedbfind与时间有关的选项与使用者或组名有关的参数与文件权限及名称有关的参数额外可进行的…

h5端获取定位

第三方api有腾讯、高德、百度&#xff0c;下面简述腾讯位置api 引入jweixin.js <script> // 方法一 把js文件放到自己服务器上 import wx from /static/jweixin-1.6.0.js;// 方法二 vue在生命周期中应用 mounted() {const oScript document.createElement("scrip…

TechTool Pro for mac(硬件监测和系统维护工具)

TechTool Pro 是为 Mac OS X 重新设计的全新工具程序&#xff0c;不但保留旧版原有的硬件侦测功能&#xff0c;还可检查系统上其他重要功能&#xff0c;如&#xff1a;网络连接&#xff0c;区域网络等。 TechTool Pro for mac随时监控和保护您的电脑&#xff0c;并可预设定期检…

C++入门(小白篇1)

前言&#xff1a; 最近想学一下一下C看了一些博客内容写的倒是很充实&#xff0c;但是&#xff0c;细节不到位&#xff0c;我是有Python基础的&#xff0c;所以学习来蛮快的&#xff0c;但是对于小白的话&#xff0c;有好多小细节大多数博客还是不够详细&#xff0c;由此我想写…

在golang中引入私有git仓库的pkg包?引入私有Git仓库的包:在Go语言项目中轻松实现

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to Golang Language.✨✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1…

CAD绘制法兰、添加光源、材质并渲染

首先绘制两个圆柱体&#xff0c;相互嵌套 在顶部继续绘制圆柱体&#xff0c;这是之后要挖掉的部分 在中央位置绘制正方形 用圆角工具&#xff1a; 将矩形的四个角分别处理&#xff0c;效果&#xff1a; 用拉伸工具 向上拉伸到和之前绘制的圆柱体高度齐平 绘制一个圆柱体&#…

性能优化必知必会

系统性能调优 分为四个层次 基础设施网络编解码分布式系统性能整体提升 一&#xff1a;基础设施优化 从提升单机进程的性能入手&#xff0c;包括高效的使用主机的CPU、内存、磁盘等硬件&#xff0c;通过提高并发编程提升吞吐量&#xff0c;根据业务特性选择合适的算法 01 …

将http协议升级为https协议——域名平台部分的设置

为远程群晖NAS的自定义域名免费申请SSL证书 文章目录 为远程群晖NAS的自定义域名免费申请SSL证书前言1. 向域名平台申请SSL证书1.1 购买“免费证书” 2. 进一步进行创建证书设置2.1 对证书的关联域名进行补充 3. 云解析DNS3.1 进行验证信息 前言 我们可以成功地将自己购买的域…

数据结构之时间复杂度-空间复杂度

大家好&#xff0c;我是深鱼~ 目录 1.数据结构前言 1.1什么是数据结构 1.2什么是算法 1.3数据结构和算法的重要性 1.4如何学好数据结构和算法 2.算法的效率 3.时间复杂度 3.1时间复杂度的概念 3.2大O的渐进表示法 【实例1】&#xff1a;双重循环的时间复杂度&#xf…

uView日历控件(u-calendar)优化

1 问题 u-calendar日历控件存在的问题&#xff1a; 不能设置默认选中值&#xff0c;打开弹窗选择起始日期&#xff0c;然后点击取消按钮或蒙版关闭弹窗时&#xff0c;日历弹窗中的选中值发生改变&#xff08;再次打开日历弹窗时&#xff0c;就可以看到选中值的错误&#xff09…

IMV8.0

一、背景内容 经历了多个版本&#xff0c;基础内容在前面&#xff0c;可以使用之前的基础环境&#xff1a; v1&#xff1a; https://blog.csdn.net/wtt234/article/details/132139454 v2&#xff1a; https://blog.csdn.net/wtt234/article/details/132144907 v3&#xff1a; h…

选择软件检测机构时的注意事项,获取软件测试报告的费用为多少?

随着信息科技的发展&#xff0c;我们的生活和工作也越来越离不开软件产品的使用。软件企业要想在行业崭露头角&#xff0c;软件质量是重中之重。因此很多软件企业为了更好的保障软件质量&#xff0c;会选择将该项工作交由软件检测机构进行。 一、选择软件检测机构时的注意事项…

小尺寸、高效率的88W8997-A0-CBQ2E005-T无线互连芯片,NV24C64DWVLT3G 64Kb EEPROM存储器

88W8997-A0-CBQ2E005-T 是业界尺寸最小、能效最高的MU-MIMO无线互连组合芯片&#xff0c;面向企业级和消费级市场。88W8997是业界首款全面支持Bluetooth 4.2以及未来Bluetooth 5.0全套功能的28nm 2 x 2 802.11ac Wave-2组合芯片。该器件实现了高达867Mbps的峰值数据传送速率&am…

W5100S-EVB-PICO作为TCP Client 进行数据回环测试(五)

前言 上一章我们用W5100S-EVB-PICO开发板通过DNS解析www.baidu.com&#xff08;百度域名&#xff09;成功得到其IP地址&#xff0c;那么本章我们将用我们的开发板作为客户端去连接服务器&#xff0c;并做数据回环测试&#xff1a;收到服务器发送的数据&#xff0c;并回传给服务…

kettle之转换嵌套转换问题

在kettle中如果转换中还调用了转换&#xff0c;需要用过滤记录和中止来判断是否转换内容成功。否则&#xff0c;运行失败了&#xff0c;也会显示成功。这样计算数据会出现问题 如下图所示&#xff1a; 如下图count转换Execution results参数如下: 如下图中用ExecutionNrErro…

vue3获得url上的参数值

1、引入 import { useRoute } from vue-router2、获得const route useRoute() console.log(route.query.number)

IntelliJ IDEA 2021/2022关闭双击shift全局搜索

IDEA左上角 File-->Settings 找到Navigate -->Search Everywhere &#xff0c;右键添加快捷键。 OK --> Apply应用