大数据物流项目:Docker 入门使用(二)
Logistics_Day02:Docker 入门使用
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。
虚拟机
可以实现一些开发、测试与运维之间的问题,但是存在很多缺陷:
04–[理解]-什么是虚拟化
虚拟化(Virtualization)
,在Windows系统上安装VMWare虚拟化软件
,可以将物理机器资源虚拟化到机器上(VM),在虚拟机上安装操作系统,运行应用程序。
虚拟化简单讲,就是把一台
物理计算机
虚拟成多台逻辑计算机
,每个逻辑计算机里面可以运行不同的操作系统,相互不受影响,这样就可以充分利用硬件资源。
- 1)、类型一、直接在硬件资源上安装虚拟化软件,创建虚拟机,安装操作系统,运行应用
- 2)、类型二、硬件之上安装操作系统,再安装虚拟化软件,创建虚拟机,安装操作系统,运行应用
05–[掌握]-初识Docker 容器
Docker是一个开源的应用
容器引擎(框架)
,创建容器,部署运行应用,比如创建容器Contanier,运行MySQL数据库。
Docker将应用及依赖打包到容器Contanier(
轻量级,可移植
),发布Deploy到任何流向linux服务器运行
06–[理解]-容器与虚拟机比较
Docker是一种容器技术,==
解决软件跨环境迁移的问题
===
1)、什么是虚拟机
VMs也消耗大量系统资源,每个VM不仅运行一个OS的完整copy并且需要所有硬件的虚拟化copy,这消耗大量RAM和CPU。
- 2)、容器是
将操作系统虚拟化
- 容器是在操作系统之上,每个容器
共享OS内核
,执行文件和库等- 容器是非常轻量的,仅仅MB水平并且几秒即可启动
- VM相比,
容器仅需OS、支撑程序和库文件
便可运行应用
虚拟机VM和容器Contanier比较
07–[掌握]-Docker 服务端和客户端
Docker是一个
客户端-服务端(C/S)架构
程序,Docker客户端只需要向Docker服务端或者守护进程发出请求,服务端或者守护进程完成所有工作返回结果。
- 1)、Docker 服务端(Server),运行以后就是一个守护进程(后台运行),类比MySQL数据库服务
- 启动Docker 服务
- 2)、Docker 客户端(Client),向服务端发送请求指令,Server端接收以后,执行操作,完成以后返回结果给客户端,类比mysql
- 使用
docker
命令,操作容器
在同一台宿主机器上运行Docker守护进程或者客户端,Docker 容器引擎提供命令行:
docker
,就是客户端Client,可以向Docker 服务端发送请求
docker引擎是一个c/s结构的应用,主要组件见下图:
- 1)、
镜像image
:模板,相当Java中定义类- 2)、
容器Contanier
:实例,相当Java中基于类创建对象
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
- 从镜像中创建容器,运行应用。
- 1)、Docker 镜像
- Docker 镜像(Image)就是一个只读的模板。
镜像(Image)就是一堆只读层(read-only layer)的统一视角
右边可以看到多个只读层,它们重叠在一起,除了最下面一层,其它层都会有一个指针指向下一层。
统一文件系统(Union File System)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,这样就隐藏了多层的存在,在用户的角度看来,只存在一个文件系统。
镜像采用分层的架构,更多为了更好利用资源,进行重用(各层可以被重复使用)。
09–[掌握]-Docker 安装及服务启动
Docker容器引擎(框架),Docker Server服务端和Docker Client客户端,将其安装在一台机器上。
直接解压提供压缩包【CentOS7.7.zip
】,导入至VMWare虚拟软件中,启动虚拟机。
导入虚拟机以后,启动虚拟机时,选择已经导入移动该虚拟机:192.168.88.10, node1.itcast.cn,root/123456
修改虚拟机为命令行模式(启动后为桌面模式):
[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源方式安装,所以需要连接网络。
安装完成以后,启动Docker服务:
systemctl start docker
- 点赞
- 收藏
- 关注作者
评论(0)