容器技术

使用Docker在本地搭建Hadoop分布式集群

删除回忆录丶 提交于 2019-12-05 10:54:12
学习Hadoop集群环境搭建是Hadoop入门必经之路。搭建分布式集群通常有两个办法: 要么找多台机器来部署(常常找不到机器) 或者在本地开多个虚拟机(开销很大,对宿主机器性能要求高,光是安装多个虚拟机系统就得搞半天……)。 那么,问题来了! 有没有更有可行性的办法? 提到虚拟化, Docker 最近很是火热!不妨拿来在本地做虚拟化,搭建Hadoop的伪分布式集群环境。虽然有点大材小用,但是学习学习,练练手也是极好的。 文章比较长,建议先倒杯水,听我慢慢到来…… 先说一下我的思路吧: 先使用Docker构建一个Hadoop运行环境的镜像 然后使用这个镜像分别启动3个容器:1个Master节点,两个Slave节点 在Master节点上配置Slave节点信息 在Master上启动Hadoop 使用Docker搭建Hadoop环境 什么是 Docker? Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。 Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持

docker的简单操作和端口映射

浪子不回头ぞ 提交于 2019-12-05 09:07:07
一:简介 Docker镜像 在Docker中容器是基于镜像启动的 镜像是启动容器的核心 镜像采用分层设计,最顶层为读写层 使用快照COW技术,确保底层不丢失 通过ifconfig(ip a)来查看docker0是否存在 docker已经启动成功 二:镜像的操作命令 注意:最后一组命令 docker tag 并不是把名称或者是标签改了,而是会新建一个镜像 上面是总结的一些常用命令 (1)以mysql为例,使用docker search命令 命令:docker search mysql 其中 NAME是指mysql的各个版本名字 DESCRIPTION是指版本说明 STARS是使用率 OFFICIAL是否为官方 查找其他软件包也是一样的操作比如:tomcat 命令:docker search tomcat #也是同样的 (2)然后使用pull命令下载一个镜像 命令:docker pull tomcat #下载tomcat镜像 图中看见pull complete 就是下载成功 我们执行docker images命令来看一下 命令:docker images 标题中:REPOSITORY是指镜像仓库 TAG是指版本(latest:最新的) IMAGE ID是指镜像ID号 CREATED是指创建的时间 SIZE是指内存大小 三:容器的操作命令 注意:还有一组命令 itd it itd

docker学习笔记

随声附和 提交于 2019-12-05 09:05:10
docker笔记 docker的定义: Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 注解:docker 可以让开发者把已经部署好的应用以及依赖包打包到一个容器中,这个容器可以直接运行在任何流行的Linux机器上。即该应用一经部署,被docker打包后即可随意移植。 docker内容: Docker简化了开发流程中最复杂的事情:构建环境 Docker的镜像称为 image,容器称为container 镜像:一个静态文件系统,可类比ISO镜像文件。 容器:一个可运行的动态文件系统,是镜像的实例。 docker与虚拟的区别 Docker是一个轻量级容器技术,类似于虚拟机(xen kvm vmware virtual)。docker是直接运行在当前操作系统(Linux)上的,而不是运行在虚拟机中,但是也实现了虚拟机技术的资源隔离,性能远远高于虚拟机技术。 Docker支持将软件编译成一个镜像(image),在这个镜像里做好对软件的各种配置,然后发布这个镜像,使用者可以运行这个镜像,运行中的镜像称之为容器(container) docker的组成部分 docker的安装与启动 docker的安装 更新yum包 yum update

陀螺丨世界丨系丨统丨开丨发 制度

折月煮酒 提交于 2019-12-05 07:51:04
陀螺丨世界丨系丨统丨开丨发 欢迎咨询厄加特Urgot(189微2212电1525) ,58丨红包丨系丨统丨开丨发丨案丨例丨源丨码丨制丨度丨方丨案丨,我司位于广州天河区,是一家大型专业商业服务互联网技术一体化公司,百人技术团队,市面上有的你叫得出名字的类似系统我们都能做,模式多样,紧跟时代,能做出最符合你、最接近时代轨道的项目方案 目前国内众多公司也是选用了他作为公司服务承载。 容器化技术作为当前的新时代,也是我们需要掌握必不可少的技能,作为 AWS 上容器服务的 ECS,也是容器化的最佳实践。 在本场 Chat 中,会讲到如下内容: AWS 必要基础概念讲解(常用服务) ECS 服务基础介绍 如何把业务服务部署到 ECS 上 完善配套设施:日志,告警,持续集成等 延伸拓展:弹性伸缩配置,特殊容器配置 适合人群: 对 AWS 以及容器有兴趣的技术人员 现在 Jmeter 越来越火爆,很多同学会通过网络自学,但在学习过程中你是否遇到过以下困境: 照着教程一步步操作,就是不对 教程写的根本就不对 教程版本落后,无法和自己的对应上 出了问题不知道怎么解决 本场交流内容大纲: JMeter 介绍及安装配置 实战脚本编写 脚本增强-参数化 脚本增强-关联 脚本增强-断言 脚本增强-思考时间、集合点 HTML 报告生成 JMeter 操作数据库 插件使用 来源: https://www

Docker从入门到实践(2)

℡╲_俬逩灬. 提交于 2019-12-05 07:02:53
二、基本概念 Docker 包括三个基本概念 镜像( Image ) 容器( Container ) 仓库( Repository ) 理解了这三个概念,就理解了 Docker 的整个生命周期。 Docker 镜像 我们都知道,操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而 Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:18.04 就包含了完整的一套 Ubuntu 18.04 最小系统的 root 文件系统。 Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。 分层存储 因为镜像包含操作系统完整的 root 文件系统,其体积往往是庞大的,因此在 Docker 设计时,就充分利用 Union FS 的技术,将其设计为分层存储的架构。所以严格来说,镜像并非是像一个 ISO 那样的打包文件,镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说,由多层文件系统联合组成。 镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变

什么是IOC容器

偶尔善良 提交于 2019-12-05 06:30:07
原文链接:https://www.cnblogs.com/boke1/p/11047260.html 1.IOC不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合,更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试;有了IOC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是松散耦合,这样也方便测试,利于功能复用,更重要的使程序的整个体系结构变得非常灵活。在运行期,在外部容器动态的将依赖对象注入组件,当外部容器启动后,外部容器就会初始化。创建并管理bean对象,以及销毁他,这种应用本身不负责依赖对象的创建和维护,依赖对象的创建和维护是由外部容器负责的称为控制反转。 2.IOC(控制反转)和 DI(依赖注入) IOC(Inversion of Control,控制反转)。这是spring的核心,贯穿始终。所谓IOC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。 DI(依赖注入)。IOC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。这一点是通过DI(Dependency Injection,依赖注入)来实现的 来源: https://www.cnblogs.com/imtudou/p/11910558

docker概述和安装及基本操作

↘锁芯ラ 提交于 2019-12-05 06:15:36
一:概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 一个完整的Docker有以下几个部分组成: DockerClient客户端 Docker Daemon守护进程 Docker Image镜像 Docker Container容器 而容器技术的核心有以下几个内核技术组成: 1.cgroups 资源管理(限制空间大小) 2.Namespace 进程隔离 3.SElinux 安全 下面有一张docker容器技术和传统虚拟化技术的对比图,很清楚的看见docker之所以比传统虚拟化速度要快,是因为docker没有操作系统 可以理解为就是一个程序(不占内存,cpu,速度快)这也是和传统虚拟化最大的区别 docker也有自己的缺点 1.容器的隔离性没有虚拟化强 2.共用Linux内核,安全性有先天缺陷 3.selinux难以驾驭 4.监控容器和容器排错 二:安装要求 1.64位操作系统 2.至少RHEL6.5版本以上,个人强烈建议RHEL7.0版本 3.关闭防火墙(不是必须) 4.内核版本必须是3.10以上,可以通过 uname -r 命令检查内核版本 三:安装docker 1.已经安装过docker的

[转帖]什么是IOC(控制反转)、DI(依赖注入)

醉酒当歌 提交于 2019-12-05 05:54:13
什么是IOC(控制反转)、DI(依赖注入) 2018-08-22 21:29:13 Ming339456 阅读数 20642 原文地址(摘要了部分内容): https://blog.csdn.net/qq_22654611/article/details/52606960/ 学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。 一、分享Iteye的开涛对Ioc的精彩讲解   首先要分享的是Iteye的开涛这位技术牛人对Spring框架的IOC的理解,写得非常通俗易懂,以下内容全部来自原文,原文地址:http://jinnianshilongnian.iteye.com/blog/1413846 1.1、IoC是什么   Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”

linux之docker容器

给你一囗甜甜゛ 提交于 2019-12-05 05:31:31
一、初识docker 1.1 什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。 Docker 使用 Google 公司推出的 Go 语言 进行开发实现。 docker是linux容器的一种封装,提供简单易用的容器使用接口。它是最流行的Linux容器解决方案。 docker的接口相当简单,用户可以方便的创建、销毁容器。 docker将应用程序与程序的依赖,打包在一个文件里面。运行这个文件就会生成一个虚拟容器。 程序运行在虚拟容器里,如同在真实物理机上运行一样,有了docker,就不用担心环境问题了。 1.2 docker用场景 web应用的自动化打包和发布 自动化测试和持续集成、发布 在服务型环境中部署和调整数据库或其他应用 1.3 为什么要用docker? 我们先看看很久很久以前,服务器是怎么部署应用的! 由于物理机的诸多问题,后来出现了虚拟机(主板支持虚拟技术:Hypervisor),在支持虚拟技术的电脑上安装VM虚拟机。 但是虚拟化也是有局限性的,每一个虚拟机都是一个完整的操作系统,要分配系统资源,虚拟机多道一定程度时,操作系统本身资源也就消耗殆尽,或者说必须扩容 服务器环境 第一代

技术译文 | 使用 Docker 安装 MySQL

最后都变了- 提交于 2019-12-05 04:40:10
作者:Peter Zaitsev 翻译:管长龙 原文: https://www.percona.com/blog/2019/11/19/installing-mysql-with-docker/ 在工作中,我经常需要安装特定版本的 MySQL、MariaDB 或 Percona 来运行一些实验,例如:检查版本差异或是提供测试说明。此博客系列将阐述如何使用 Docker 安装 MySQL、MariaDB 或 Percona。这篇文章是第一篇,重点是 MySQL。 Docker 的优点在于它可以非常轻松地安装最新的 MySQL 版本以及任何其他版本,但往往与典型的生产安装不匹配。当您需要简单的单个实例时,Docker 的确很方便。如果您正在研究一些与复制相关的行为,那么则不一定适合。 这些说明皆在快速、轻松地运行测试实例的情况下。不适用于生产部署。以下内容所假定已安装 Docker。 首先,您应该知道只有两个“官方” MySQL Docker 存储库。其中之一由 Docker 团队维护,可通过一个简单的 docker 命令 mysql:latest 运行起来。另一个由 Oracle 的 MySQL 团队维护,语法: docker run mysql / mysql-server:latest 说明:语法中的 latest 是 tag 值,表示默认安装库中的最新版本 在以下示例中