大数据物流项目: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.comdocker 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)