• 基于docker虚拟化创建hadoop集群


      最近想用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的配置了,这一节我们会抽时间再写一篇进行记录。

  • 相关阅读:
    Hibernate(2)——Hibernate的实现原理总结和对其模仿的demo
    Hibernate(1)——数据访问层的架构模式
    JVM学习(4)——全面总结Java的GC算法和回收机制
    JVM学习(3)——总结Java内存模型
    JVM学习(2)——技术文章里常说的堆,栈,堆栈到底是什么,从os的角度总结
    JVM学习(1)——通过实例总结Java虚拟机的运行机制
    减小内存的占用问题——享元模式和单例模式的对比分析
    继承、组合和接口用法——策略模式复习总结
    软件工程的引入:Scrum开发框架总结
    软件工程里的UML序列图的概念和总结
  • 原文地址:https://www.cnblogs.com/liboBlog/p/6634827.html
Copyright © 2020-2023  润新知