最近想用hadoop做一个测试,与性能无关的测试,但是可与屌丝的命,手头没有太多机器,也租不起云主机。这里使用docker进行虚拟化,并搭建hadoop集群,在这里将过程记录如下。

  首先安装docker,这里不作详细介绍,sudo apt-get install docker;安装完成之后,我们可以发现在ifconfig中多处了一项docker0,其实这就是docker基于linux的namespace创建的一个虚拟网桥,用于承接我们虚拟机到主机之间的网络。

  第一: 我们还是应该明白一些基础的知识,否则只是简单的操作的话,似乎没什么太大的意思了。首先介绍两个概念,镜像,容器。什么是镜像,其实和大家装系统的时候使用的镜像是一个意思,就是经过打包的系统文件。docker有专门的仓库来存储这些镜像,我们可以通过docker search <key>来查询我们所需要的镜像文件。例如: docker search ubuntu。什么是容器,顾名思义,容易就是用来承载东西的,我们就讲我们下载的镜像放到容器中进行执行的。

  第二: 下载镜像文件,如第一中说的,我们下载原生的ubuntu,这里我们可以发现原生的ubuntu就130M。

  第三: 我们使用命令docker run  来将系统运行起来,这个过程其实就是从镜像到容器的过程,这里有几个参数我们需要注意一下,

     -h:   指定容器的hostname,给容器指定的hostname是相当合理的一个操作,否则ssh的时候你就要每次去找一长串hostname了。

     -u: 指定运行的user,但是初始的时候应该只有root,现在可以忽略。

     -w: 指定user的work path ,同上,现在可忽略。

     --name:  指定容器的名字,这里也挺便捷的,否则我们就只能使用容器id来运行了。

    但是进去之后我们发现,集成的命令少之又少,就连vi都没有。没办法装吧,vim,sudo,ssh......好多。装完之后我们需要为系统创建用户useradd --help,各位好好看看吧。然后在user path下创建hadoop文件夹并下载hadoop到文件夹。

  第四: 以上操作都完成了,想必大家现在不想再讲1-3的操作再重复一遍了吧?那么我们就需要了解另一个知识点,打包: 这里的含义是将我们的容器打包为镜像,命令伪docker commit  <容器id> <镜像name>  。完成之后我们发现docker ps -a命令下多出了一项,3.0G!!!!!!!

  第五:   使用我们自己的镜像文件创建容器,这一步我们就可以使用第三中使用到的命令了。给出一个完整的例子:docker run -it  -h hadoop_namenode -u libo -w /home/libo --name hadoop_namenode hadoop_ubuntu。这样我们就依赖hadoop_ubuntu创建了一个名为hadoop_namenode的虚拟机。至于需要几个虚拟机,有你自己决定。

  第五: 本来这一点不打算做介绍的,但是这里还是说一下,就是在ssh传递公钥文件的时候总是出现connection refused!这个错误,当时就觉得应该是ssh服务的问题,然后ps -aux|grep "ssh" ,果真没有。我们需要启动ssh服务: sudo /etc/init.d/ssh start来启动。

  第六: 接下来的操作就是对hadoop的配置了,这一节我们会抽时间再写一篇进行记录。

基于docker虚拟化创建hadoop集群的更多相关文章

  1. 庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群

    庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群 一.简介      前面的两篇文章,我们已经介绍了Net Core项目基于Docker容器部署在Linux服 ...

  2. 基于docker快速搭建hbase集群

    一.概述 HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就像Bigt ...

  3. 基于docker的spark-hadoop分布式集群之一: 环境搭建

    一.软件准备 1.基础docker镜像:ubuntu,目前最新的版本是18 2.需准备的环境软件包: (1) spark-2.3.0-bin-hadoop2.7.tgz (2) hadoop-2.7. ...

  4. 图文讲解基于centos虚拟机的Hadoop集群安装,并且使用Mahout实现贝叶斯分类实例 (7)

    接下来,我们开启hadoop集群. 如果之前打开过Hadoop,可能会发生lock的问题,解决方案:http://blog.csdn.net/caoshichaocaoshichao/article/ ...

  5. Docker 下部署hadoop集群

    一.主机规划 3台主机:1个master.2个slaver/worker ip地址使用docker默认的分配地址: master: 主机名: hadoop2.ip地址: 172.17.0.2 slav ...

  6. 喵星之旅-狂奔的兔子-基于docker的redis分布式集群

    一.docker安装(略) 二.下载redis安装包(redis-4.0.8.tar.gz) 以任何方式获取都可以.自行官网下载. 三.拉取centos7的docker镜像 命令:docker pul ...

  7. 基于Docker UI 配置ceph集群

    前言 前一篇介绍了docker在命令行下面进行的ceph部署,本篇用docker的UI进行ceph的部署,目前来说市面上还没有一款能够比较简单就能直接在OS上面去部署Ceph的管理平台,这是因为OS的 ...

  8. 基于Docker方式实现Elasticsearch集群

    采用docker容器,搭建两个es集群,可根据步骤自行扩展n+集群 1.创建es挂载目录 cd /usr/localmkdir -p es/config 2.创建es存放数据目录 cd esmkdir ...

  9. 搭建基于docker 的redis分布式集群在docker for windows

    https://blog.csdn.net/xielinrui123/article/details/85104446 首先在docker中下载使用 docker pull redis:3.0.7do ...

随机推荐

  1. Message类的属性Msg所关联的消息ID

    在做C#的Message消息处理的时候,用到了消息的msg编号不知道对应的是什么事件,所以才从网上找来资料如下,在文章最后我会给出资料的出处的. WM_NULL=0x0000 WM_CREATE=0x ...

  2. MLCC 电容的的 NP0 C0G 材质

    MLCC 电容的的 NP0 C0G 材质 随手记一下. MLCC 中最稳定的材质 NP0 C0G,NP0 和 C0G 是相同的,只是不同的产商不同的名字而已. 注意中间的是 0 不是 英文字母 O,虽 ...

  3. unix下网络编程之I/O复用(二)

    select函数 该函数允许进程指示内核等待多个事件中的任何一个发生,并仅在有一个或是多个事件发生或经历一段指定的时间后才唤醒它.我们调用select告知内核对哪些描述字(就读.写或异常条件)感兴趣以 ...

  4. 机器学习:PCA(降噪)

    一.噪音 噪音产生的因素:可能是测量仪器的误差.也可能是人为误差.或者测试方法有问题等: 降噪作用:方便数据的可视化,使用样本特征更清晰:便于算法操作数据: 具体操作:从 n 维降到 k 维,再讲降维 ...

  5. sql---left join;right join;inner join---区别

    sql---left join;right join;inner join---区别 分为以下几类: 1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等联接和自 ...

  6. python连接sql server数据库

    记录一下pyodbc连接数据库的使用方法和注意事项,基于python2.7:  前提: pip install pyodbc  .下载pyodbc包.   pyodbc.connect('DRIVER ...

  7. CPU, PSU, SPU的区别

    It all started in January 2005 with Critical Patch Updates (CPU).  Then Patch Set Updates (PSU) were ...

  8. intellij idea 设置Live Template快速生成自定义代码块

    一.设置 类似于宏,话不多少,上步骤 File----->Setting 选择Live Template 新建触发规则 新建触发key 输入模版text 选择在哪个环境触发 选java 如果是其 ...

  9. 数据从HDFS-->HIVE-->HBASE 执行过程

    1.数据已经load进去hdfs 2.hive.hbase已经安装成功(我用的是hadoop 2.4 hbase 0.98.12 hive 1.2.1) 3.开始! 4.在hive建立表同时生成对应的 ...

  10. Codeforces 1108F (MST Unification) (树上倍增 or 改进 kruksal)

    题意:给你一张n个节点和m条边的无向连通图, 你可以执行很多次操作,对某一条边的权值+1(对于每条边,可以不加,可以无限次加),问至少进行多少次操作,可以使这张图的最小生成树变得唯一,并且最小生成树的 ...