基于Docker的大数据开发实践

2015-09-25 10:05:00
先知
转贴
20766
摘要:基于Docker的大数据开发实践,@xinqiyang。

基于Docker的大数据开发实践,@xinqiyang。


大纲

第一部分 什么是Docker
  • Docker简介
  • Docker与其他的VM方案比较
  • Docker的优缺点
  • Docker的安装
  • Docker和其他VM相辅相成
第二部分 如何实用Docker进行大数据开发
  • 基于Docker的大数据开发环境介绍
  • 编译Docker开发环境
  • 在环境中启动大数据集群并部署应用
  • 将环境推送到Docker Registry分享给其他开发者
Docker简介
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