大数据物流项目:Docker 入门使用(二)

举报
Maynor学长 发表于 2022/06/01 19:04:12 2022/06/01
【摘要】 Logistics_Day02:Docker 入门使用 01-[复习]-上次课程内容回顾主要讲解物流大数据项目项目介绍和项目解决方案。1、项目介绍 行业背景、项目背景:数据量大(海量数据、大规模数据)和业务复杂 本项目基于一家大型物流公司研发的智慧物流大数据平台 物流实时大屏系统:ClickHouse数据库 + 服务接口SpringCloud + NodeJS/Vue2、项目解决方案 物...

Logistics_Day02:Docker 入门使用

img

01-[复习]-上次课程内容回顾

主要讲解物流大数据项目项目介绍和项目解决方案。

1、项目介绍
	行业背景、项目背景:数据量大(海量数据、大规模数据)和业务复杂
	本项目基于一家大型物流公司研发的智慧物流大数据平台
		物流实时大屏系统:ClickHouse数据库 + 服务接口SpringCloud + NodeJS/Vue

2、项目解决方案
	物流快读:业务流程,6个部分组成,中间4个部分
		快递单:tbl_express_bill,运单:tbl_waybill,客户表、快递员表、仓库表、车辆运输表
	逻辑架构
		业务数据:数据库RDBMs(Oracle、MySQL)
		采集数据:OGG、Canal
		数据缓冲:Kafka
		实时ETL:StructuredStreaming
		数据存储:Kudu(离线报表和即席查询Impala)、Es(物流信息检索)、ClickHouse(实时大屏和服务接口)
		资源统一调度:YARN、Azkaban
	数据流转图
    	业务数据存储			大数据存储与分析
    技术选项,为什么选择这些框架??
    	Kafka,大数据流式处理
    	计算Spark,目前来说,能够使用Spark搞定,就不用Flink
	非功能描述
		服务器选项:云主机还是物理机
		集群规模:按照数据量计算和规划
	服务器资源规划
		本次学习项目时,服务器说明

02-[了解]-第2天:课程内容提纲

主要讲解Docker容器基本使用

1、Docker 容器是什么
	虚拟化是什么
	容器是什么
	虚拟机与容器比较


2、Docker 框架安装部署
	Docker容器引擎框架架构
		C/S
	安装,在线联网yum安装
	启动服务及加速配置
	
3、Docker容器命令使用
	镜像image
	容器container

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NlPjC7CH-1651888604573)(/img/image-20210518151229534.png)]

03–[了解]-大数据项目为什么使用Docker

​ 随着大数据平台型产品方向的深入应用实践和Docker开源社区的逐渐成熟,业界有不少的大数据研发团队开始使用Docker。

Docker会让大数据平台部署更加简单快捷、让研发和测试团队集成交付更加敏捷高效、让产线环境的运维更加有质量保障。

1615533027804

虚拟机可以实现一些开发、测试与运维之间的问题,但是存在很多缺陷:

1615533188596

官网:https://www.docker.com/

1615533217031

04–[理解]-什么是虚拟化

虚拟化(Virtualization),在Windows系统上安装VMWare虚拟化软件,可以将物理机器资源虚拟化到机器上(VM),在虚拟机上安装操作系统,运行应用程序。

在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原来的组态更好的方式来应用这些资源。

1615533757293

​ 虚拟化简单讲,就是把一台物理计算机虚拟成多台逻辑计算机,每个逻辑计算机里面可以运行不同的操作系统,相互不受影响,这样就可以充分利用硬件资源。

  • 1)、类型一、直接在硬件资源上安装虚拟化软件,创建虚拟机,安装操作系统,运行应用
  • 2)、类型二、硬件之上安装操作系统,再安装虚拟化软件,创建虚拟机,安装操作系统,运行应用

1615533906190

05–[掌握]-初识Docker 容器

​ Docker是一个开源的应用容器引擎(框架)创建容器,部署运行应用,比如创建容器Contanier,运行MySQL数据库。

1615535123251

Docker将应用及依赖打包到容器Contanier(轻量级,可移植),发布Deploy到任何流向linux服务器运行

06–[理解]-容器与虚拟机比较

Docker是一种容器技术,==解决软件跨环境迁移的问题===

1615535594325

​ VMs也消耗大量系统资源,每个VM不仅运行一个OS的完整copy并且需要所有硬件的虚拟化copy,这消耗大量RAM和CPU。

  • 2)、容器是将操作系统虚拟化
    • 容器是在操作系统之上,每个容器共享OS内核,执行文件和库等
    • 容器是非常轻量的,仅仅MB水平并且几秒即可启动
    • VM相比,容器仅需OS、支撑程序和库文件便可运行应用

1615535739222

虚拟机VM和容器Contanier比较

1615535830164

07–[掌握]-Docker 服务端和客户端

​ Docker是一个客户端-服务端(C/S)架构程序,Docker客户端只需要向Docker服务端或者守护进程发出请求,服务端或者守护进程完成所有工作返回结果。

  • 1)、Docker 服务端(Server),运行以后就是一个守护进程(后台运行),类比MySQL数据库服务
    • ​ 启动Docker 服务
  • 2)、Docker 客户端(Client),向服务端发送请求指令,Server端接收以后,执行操作,完成以后返回结果给客户端,类比mysql
    • 使用docker命令,操作容器

1612077125442

​ 在同一台宿主机器上运行Docker守护进程或者客户端,Docker 容器引擎提供命令行:docker,就是客户端Client,可以向Docker 服务端发送请求

1612077210810

docker引擎是一个c/s结构的应用,主要组件见下图:

  • 1)、镜像image:模板,相当Java中定义类
  • 2)、容器Contanier:实例,相当Java中基于类创建对象

1615536410014

1、Server是一个常驻进程
2、REST API 实现了client和server间的交互协议
3、CLI 实现容器和镜像的管理,为用户提供统一的操作界面

08–[掌握]-Docker 结构(镜像和容器)

​ Docker使用C/S架构,==Client 通过接口与Server进程通信实现容器的构建,运行和发布==。client和server可以运行在同一台集群,也可以通过跨主机实现远程通信。

构建(build):创建镜像、运行(run):创建容器和启动、发布(Deploy):应用运行和迁移

  • 1)、镜像Image

    • 自定义镜像文件:DockerFile,build构建出镜像
    • 可以从注册中心仓库中拉取镜像,最大公开镜像仓库:hub.docker.com
    docker pull elasticsearch
    
  • 2)、容器Contanier

    • 从镜像中创建容器,运行应用。

1615537043833

  • 1)、Docker 镜像
    • Docker 镜像(Image)就是一个只读的模板。

1615537480347

镜像(Image)就是一堆只读层(read-only layer)的统一视角

1615537538645

右边可以看到多个只读层,它们重叠在一起,除了最下面一层,其它层都会有一个指针指向下一层。

统一文件系统(Union File System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,这样就隐藏了多层的存在,在用户的角度看来,只存在一个文件系统。

1615537623172

镜像采用分层的架构,更多为了更好利用资源,进行重用(各层可以被重复使用)。

09–[掌握]-Docker 安装及服务启动

​ Docker容器引擎(框架),Docker Server服务端和Docker Client客户端,将其安装在一台机器上。

​ 直接解压提供压缩包【CentOS7.7.zip】,导入至VMWare虚拟软件中,启动虚拟机。

导入虚拟机以后,启动虚拟机时,选择已经导入移动该虚拟机:192.168.88.10, node1.itcast.cn,root/123456

1612079957733

修改虚拟机为命令行模式(启动后为桌面模式):

[root@node1 ~]# systemctl  get-default
graphical.target

[root@node1 ~]# systemctl  set-default multi-user.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.

[root@node1 ~]# 
[root@node1 ~]# systemctl  get-default      
multi-user.target

[root@node1 ~]# shutdown -r now

​ 将Docker安装到Centos上,注意:建议安装在Centos7.x以上的版本。整个安装步骤参考教案即可,采用在线yum源方式安装,所以需要连接网络。

官网:https://docs.docker.com/engine/install/centos/

1615538753532

安装完成以后,启动Docker服务:systemctl start docker

1615539483022

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。