基于Docker的大数据开发实践
- 2015-09-25 10:05:00
- 先知 转贴
- 20729
基于Docker的大数据开发实践,@xinqiyang。
大纲
第一部分 什么是Docker- Docker简介
- Docker与其他的VM方案比较
- Docker的优缺点
- Docker的安装
- Docker和其他VM相辅相成
- 基于Docker的大数据开发环境介绍
- 编译Docker开发环境
- 在环境中启动大数据集群并部署应用
- 将环境推送到Docker Registry分享给其他开发者
Docker :码头搬运工,这种搬运工搬运的是集装箱(Container),集装箱里面装的是任意 类型的App,Docker把App(叫Payload)装在 Container内,通过Linux Container技术的包装将App变成一种标准化的,可移植的,自管理的组件,这种组件可以在你的本地机器上开发,调试运行,最终非常方便和一致地允许在production环境下。
What is Docker?
Docker is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating system–level
irtualization on Linux.
[Source: en.wikipedia.org]
Docker与其他的VM方案比较
Docker的优缺点
优点
•小而且快,易于分发
•不依赖环境运行相同的应用
•可以部署在本地,虚拟机,或者云上
•不用担心是哪个Linux系统
•Google,微软,Amazon等公司都支持Docker
缺点
•只支持Ubix/Linux(Mac/Win
也可以,基于Linux虚拟机)
•只包含应用,不包含数据
•性能上有稍稍损失
Docker的安装
• https://docs.docker.com/#installation- guides
•内核要去 3.10 以上uname –r
•sudo apt-get update
•sudo apt-get install docker.io
•sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv- keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
•sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > / etc/apt/sources.list.d/docker.list"
•sudo apt-get update
•sudo apt-get install lxc-docker
Docker和VM相辅相成
•简化配置
•代码流水线管理
•提高开发效率
•隔离应用
•整合服务器
•调试能力
•多租户环境
•快速部署
Docker 和 Vagrant
Docker 和 VirtualBox
可以在Virtualbox里面在安装Docker
puppet是自动化部署, vagrant是虚拟机管理软件, 依托于vb、vm等虚拟机软件, docker是一个虚拟执行环境, 利用linux内核特性,实现一个半虚拟化的环境,这个环境能够方便地在各台主机上迁移和执行。
Docker镜像
100INTLImages
•https://hub.docker.com/u/100intl/
基于Docker的大数据开发环境介绍
当前的最新稳定版本:
•Hadoop2.6.0
•HBase1.0.0
•Hive1.0.0
•Spark1.3.0
Docker 常用命令
•https://docs.docker.com/reference/ commandline/cli/
•sudo docker pull100intl/bigdatadev
•sudo docker push 100intl/bigdatadev
•sudo docker ps
•sudo docker rmi -f 100intl/xxxx
•sudo docker build -t 100intl/bigdatadev:latest .
•sudo docker run -i -t -p 10011:2122 -h bigdata 100intl/bigdatadev /etc/ bootstrap.sh –bash
•scp -r -P 10011 kusanagi-1.0-SNAPSHOT.jar root@localhost:/tmp/
在环境中启动大数据集群并部署应用
•部署Hadoop集群
分享做成的Docker Image
•推送Image到Docker Registry
•Sudo docker login
发表评论
文章分类
联系方式
联系人: | 王春生 |
---|---|
Email: | chunsheng@cnezsoft.com |