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

写在前面

想练练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

使用docker快速搭建hive环境的更多相关文章

  1. spring boot / cloud (十八) 使用docker快速搭建本地环境

    spring boot / cloud (十八) 使用docker快速搭建本地环境 在平时的开发中工作中,环境的搭建其实一直都是一个很麻烦的事情 特别是现在,系统越来越复杂,所需要连接的一些中间件也越 ...

  2. 使用Docker快速搭建ELK环境

    今天由于Win系统的笔记本没带回家,其次Docker在非Linux系统下都需要安装额外的软件去镜像才行 所以感觉没有差别,先直接用Mac搭建一遍呢, 本篇部分命令和配置内容为摘抄 Mac下使用Dock ...

  3. 使用docker快速搭建本地环境

    在平时的开发中工作中,环境的搭建其实一直都是一个很麻烦的事情 特别是现在,系统越来越复杂,所需要连接的一些中间件也越来越多. 然而要顺利的安装好这些中间件也是一个比较费时费力的工作. 俗话说" ...

  4. Docker快速搭建LNMP环境

    一.使用Dockerfile制作镜像 前面的博客中已经介绍了如何基于容器制作镜像,此方法的原理是使用一个正在运行的容器,根据生产所需进行配置更改等操作后,使其满足生产环境,再将这个容器打包制作为镜像, ...

  5. 【Rocketmq】通过 docker 快速搭建 rocketmq 环境

    1. 安装 Namesrv 拉取镜像 docker pull rocketmqinc/rocketmq:4.4.0` 启动容器 docker run -d -p 9876:9876 -v {RmHom ...

  6. 一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

  7. 五分钟用Docker快速搭建Go开发环境

    挺早以前在我写过一篇用 `Docker`搭建LNMP开发环境的文章:[用Docker搭建Laravel开发环境](http://mp.weixin.qq.com/s?__biz=MzUzNTY5MzU ...

  8. Docker-教你如何通过 Docker 快速搭建各种测试环境

    今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通 ...

  9. Docker 快速搭建 MySQL8 开发环境

    使用 Docker 快速搭建一个 MySQL8 开发环境 步骤 获取镜像 docker pull mysql:8 启动容器,密码 123456,映射 3306 端口 docker run --name ...

随机推荐

  1. 前端04 /css样式

    前端04 /css样式 目录 前端04 /css样式 昨日内容回顾 css引入 选择器 基础选择器 组合选择器 属性选择器 伪类选择器 伪元素选择器 优先级(权重) 通用选择器 css样式 1高度宽度 ...

  2. SQL注入环境的搭建

    使用Phpstudy搭建SQL注入环境: 1.下载phpstudy安装 2.下载sql实验环境 所用环境的代码是一个印度人的开源项目平台.里面包含了基本的各种注入类型,同时又有get和post类型,以 ...

  3. Python Ethical Hacking - VULNERABILITY SCANNER(5)

    EXPLOITATION - XSS VULNS XSS - CROSS SITE SCRIPTING VULNS Allow an attacker to inject javascript cod ...

  4. P1330 封锁阳光大学(洛谷)

    题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由n个点构成的无向图,n个点由m条道 ...

  5. 题解 CF1359A 【Berland Poker】

    题意 给出 \(n,m,k\) ,表示 \(k\) 名玩家打牌,共 \(n\) 张牌,\(m\) 张王,保证 \(k|n\) ,记得分为 拿到最多王的玩家手中王数 \(-\)拿到第二多王的玩家手中的王 ...

  6. react实战 : 用矩阵思想做一个自适应布局容器组件

    需求是这样的. 有一个需要显示若干方块型元素的小区域 数量比较少的时候显示一排 数量比较多的时候显示两排 用 grid 不好,因为当数量为奇数的时候需要两排里面的元素都乖乖的居中显示. 用 flex ...

  7. IDEA 2020.1.2安装破解激活 idea 2020.1.3下载 安装 一键破解

    IDEA 2020.1.2 idea 2020.1.3下载 安装 破解 本项目只做个人学习研究之用,不得用于商业用途!若资金允许,请点击链接购买正版,谢谢合作!学生凭学生证可免费申请正版授权!创业公司 ...

  8. 盘点 6 个被淘汰的 Java 技术,它们都曾经风光过!

    大家好啊,今天栈长给大家分享下我的开发历程中,我知道的那些被淘汰的技术或者框架,有些我甚至都没有用过,但我知道它曾经风光过. 废话不多说,下面我要开始吹了-- 1.Swing 下面这个是用 swing ...

  9. 从css属性和布局来说明一下,行类元素和行类块元素和块元素的区别

    //布局 inline: 如果水平宽度足够大,那么将在一行显示 inline-block: 如果水平宽度足够大,那么将在一行显示 block: 独占一行 //css属性 inline: 无法设置高度, ...

  10. mysql 联合唯一

    CREATE TABLE `NewTable` ( `id` int NOT NULL , `name` varchar(255) NULL , `phone` varchar(255) NULL , ...