Docker安装及Docker构建简易版Hadoop生态

一、首先在VM创建一个新的虚拟机将Docker安装好

  1. 更新系统:首先打开终端,更新系统包列表。

    sudo apt-get update
    sudo apt-get upgrade
    

    下图是更新系统包截图

  2. 安装Docker:使用以下命令在Linux上安装Docker。

    sudo apt-get install -y docker.io 
    

  3. 启动Docker服务:使用以下命令启动Docker服务,我们通过ps命令可以看到docker服务的进程

    sudo systemctl start docker
    

  4. 使Docker开机自启:使用以下命令将Docker服务添加到系统服务中,使其在系统启动时自动启动。

    sudo systemctl enable docker
    

  5. 验证Docker是否安装成功:使用以下命令检查Docker是否成功安装。

    docker version
    

  6. 添加当前用户到Docker用户组:为了避免在执行Docker命令时使用sudo,可以将当前用户添加到Docker用户组中。

    sudo usermod -aG docker <username>
    

    其中“<username>”是您的用户名。

  7. 退出当前会话并重新登录:要使更改生效,退出当前会话并重新登录。

    ​
    # 要退出当前 Docker 会话并重新登录,可以使用以下命令:exit# 然后再使用以下命令重新登录:docker login# 这将提示您输入 Docker Hub 用户名和密码,以便重新登录。​

现在您已经成功在Linux上安装了Docker容器。您可以使用docker run命令来启动新容器 

二、在Docker中安装Hive(非Docker Compose 方式)

  1. 确保已安装和启动Docker后,打开终端并输入以下命令以下载Hive镜像:

docker pull sequenceiq/hadoop-docker:2.7.1

下图是下载 hadoop容器截图

  1. 等待hadoop镜像下载完成后,输入以下命令以启动Hive容器:
docker run -it sequenceiq/hadoop-docker:2.7.1 /etc/bootstrap.sh -bash## 以下是 释义
docker run -it sequenceiq/hadoop-docker:2.7.1 /etc/bootstrap.sh -bash 命令的意思是,在当前系统上启动一个新的 Docker 容器,使用指定的镜像 sequenceiq/hadoop-docker:2.7.1,然后运行 /etc/bootstrap.sh 脚本来配置 Hadoop,最后打开一个交互式的 Bash shell。让我们详细解释一下这个命令的各个部分:docker run:这是 Docker 命令来启动一个新的容器。
-it:这是两个选项。-i 表示交互式会话,-t 表示为终端提供伪终端。这两个选项结合起来意味着提供一个可以交互的终端。
sequenceiq/hadoop-docker:2.7.1:这是要使用的 Docker 镜像的名称和版本号。在这个例子中,我们使用的是名为 sequenceiq/hadoop-docker 的镜像,版本为 2.7.1。
/etc/bootstrap.sh -bash:这是在容器启动时要运行的命令。在这个例子中,我们首先运行 /etc/bootstrap.sh 脚本来配置 Hadoop,然后运行 -bash 进入交互式的 Bash shell。

 推出hadoop,以下方式启动hadoop

  1. 在安装docker的liunx,输入以下命令以安装Hive:
yum install -y hive

  1. 安装完成后,您可以使用以下命令启动Hive:
hive

  1. 接下来,您可以使用Hive进行数据分析和查询。

三、在Docker中安装Flink(非Docker Compose 方式)

使用Docker方式搭建单机Flink可以快速方便地进行本地测试和开发。下面是Docker方式搭建单机Flink的步骤:

  1. 获取Flink镜像

在命令行中执行以下指令,获取Flink官方镜像:

docker pull flink:1.13.0-scala_2.12

  1. 启动Flink容器

在命令行中执行以下指令,启动Flink容器:

docker run -it -p 8081:8081 flink:1.13.0-scala_2.12

该指令会以交互模式启动Flink容器,并将容器内部的8081端口映射到本地的8081端口。

  1. 验证Flink容器

在浏览器中输入 http://localhost:8081/,可以看到Flink的Web界面,证明Flink容器已经启动成功。

现在,您已经成功地使用Docker搭建了一个单机Flink环境,可以在其中进行本地测试和开发。

请注意,在这个过程中,您需要了解Docker的基本使用方法和Hadoop生态系统的基本知识。

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

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

相关文章

黑马点评环境搭建导入

一开始配置maven的时候&#xff0c;发现怎么都无法查看maven的版本&#xff0c;后来才知道是JAVA_HOME的问题&#xff0c;开头多了一个空格&#xff08;因为我是直接复制过去的&#xff09;&#xff0c;然后搜网上通过命令行可以看到肉眼看不到的bug。 通过命令行的方式改正确后…

YARN资源管理框架论述

一、简介 为了实现一个Hadoop集群的集群共享、可伸缩性和可靠性&#xff0c;并消除早期MapReduce框架中的JobTracker性能瓶颈&#xff0c;开源社区引入了统一的资源管理框架YARN。 YARN是将JobTracker的两个主要功能&#xff08;资源管理和作业调度/监控&#xff09;分离&…

el-select 选择一条数据后,把其余数据带过来

1. 案例&#xff1a; ps: 票号是下拉框选择&#xff0c;风险分类、场站名称以及开始时间是选择【票号】后带过来的。 2. 思路: 使用官网上给的方法&#xff0c;选择之后&#xff0c;触发change方法从而给其余字段赋值 3. 代码 <el-form-itemlabel"票号&#xff1a;&…

__call__函数

一、定义 在Python中&#xff0c;__call__函数是一个特殊的方法&#xff0c;用于使一个对象可以像函数一样被调用。当一个对象定义了__call__方法时&#xff0c;它就成为了一个可调用对象。 二、使用 class Counter:def __init__(self):self.count 0def __call__(self):sel…

【LeetCode-面试经典150题-day18】

目录 17.电话号码的字母组合 77.组合 46.全排列 52.N皇后Ⅱ 17.电话号码的字母组合 题意&#xff1a; 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xf…

微前端:重塑大型项目的前沿技术

引言 随着互联网技术的飞速发展&#xff0c;前端开发已经从简单的页面制作逐渐转变为复杂的应用开发。在这个过程中&#xff0c;传统的前端开发模式已经难以满足大型项目的需求。微前端作为一种新的前端架构模式&#xff0c;应运而生&#xff0c;它旨在解决大型项目中的前端开…

Android——基本控件(下)(十八)

1. 时钟组件&#xff1a;AnalogClock与DigitalClock 1.1 知识点 &#xff08;1&#xff09;掌握AnalogClock与DigitalClock的使用&#xff1b; 1.2 具体内容 package com.example.clockproject;import android.os.Bundle; import android.app.Activity; import android.view…

uniapp 实现地图距离计算

在uniapp中实现地图距离计算可以借助第三方地图服务API来实现。以下是一种基本的实现方式&#xff1a; 注册地图服务API账号&#xff1a;你可以选择使用高德地图、百度地图等提供地图服务的厂商&#xff0c;注册一个开发者账号并获取API密钥。 安装相关插件或SDK&#xff1a;根…

C#,《小白学程序》第六课:队列(Queue)的应用,《实时叫号系统》

医院里面常见的叫号系统怎么实现的&#xff1f; 1 文本格式 /// <summary> /// 下面定义一个新的队列&#xff0c;用于演示《实时叫号系统》 /// </summary> Queue<Classmate> q2 new Queue<Classmate>(); /// <summary> /// 《小白学程序》第…

C语言二——依次将10个数输入,要求将其中最大的数输出

这是一个简单的C语言程序&#xff0c;它会接受用户输入的10个整数&#xff0c;然后找出最大值并输出。 程序的执行步骤如下&#xff1a; 声明一个数组 n&#xff0c;用于存储用户输入的10个整数&#xff0c;声明一个变量 i 和 t。提示用户输入10个数。使用 for 循环&#xff…

【TI毫米波雷达笔记】毫米波雷达芯片结构框架解析(以IWR6843AOP为例)

【TI毫米波雷达笔记】毫米波雷达芯片结构框架解析&#xff08;以IWR6843AOP为例&#xff09; 代码解读&#xff1a; blog.csdn.net/weixin_53403301/article/details/132565590文章目录 芯片框架Demo工程功能CCS工程导入工程叙述Software TasksData PathOutput information s…

leetcode438. 找到字符串中所有字母异位词(java)

滑动窗口 找到字符串中所有字母异位词滑动窗口数组优化 上期经典 找到字符串中所有字母异位词 难度 - 中等 Leetcode 438 - 找到字符串中所有字母异位词 给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出…