获取镜像

#本机内
docker pull ubuntu:16.04

编排镜像

  1. 启动一个容器

    #本机内
    docker run -i -t --name master ubuntu:16.04
  2. 在容器内进行安装配置

    #容器内
    apt update
    apt install openjdk8-jdk, ssh, net-tools,iputils-ping
    echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/' >> ~/.bashrc
    echo '/usr/sbin/sshd' >> ~/.bashrc
    mkdir /var/run/sshd
  3. 配置ssh

    #在本地
    docker cp ~/.ssh/id_rsa.pub master:/root/
    #在master容器内
    ssh-keygen -t rsa
    cd ~/.ssh
    cp id_rsa.pub authorized_keys
    echo ~/id_rsa.pub >> authorized_keys
    chmod root:root authorized_keys
    chown 600 authorized_keys
  4. 安装hadoop

    #新开一个终端
    docker cp ./hadoop-2.7.5.tar.gz master:/root
    #在容器内
    tar -zxvf ~/hadoop-2.7.5.tar.gz -C ~/Program/
    rm ~/hadoop-2.7.5.tar.gz
    echo 'export HADOOP_HOME=/root/Program/hadoop-2.7.5' >> ~/.bashrc
    echo 'export HADOOP_CONFIG_HOME=$HADOOP_HOME/etc/hadoop' >>~/.bashrc
    echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> ~/.bashrc
  5. 修改hadoop配置文件

    #hadoop-env.sh
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    #core-site.xml
    <configuration>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/root/Program/hadoop-2.7.5/tmp</value>
    </property>
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
    </property>
    </configuration>
    #hdfs-site.xml
    <configuration>
    <property>
    <name>dfs.replication</name>
    <value>2</value>
    </property>
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/root/Program/hadoop-2.7.5/tmp/dfs/namenode</value>
    </property>
    <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/root/Program/hadoop-2.7.5/tmp/dfs/datanode</value>
    </property>
    </configuration>
    #mapred-site.xml
    <configuration>
    <property>
    <name>mapred.job.tracker</name>
    <value>master:9001</value>
    </property>
    </configuration>
  6. 生成镜像

    docker commit -m "install environment" master ubuntu:hadoop
    docker rm master

配置网络

  1. 生成网段并给容器设置ip

    docker network create --subnet=10.0.0.0/16 hadoopnetwork
    docker run -i -t --name master -h master --network hadoopnetwork --ip 10.0.0.2 ubuntu:hadoop
    docker run -i -t --name slave1 -h slave1 --network hadoopnetwork --ip 10.0.0.3 ubuntu:hadoop
    docker run -i -t --name slave2 -h slave2 --network hadoopnetwork --ip 10.0.0.4 ubuntu:hadoop
    docker start master
    docker start slave1
    docker start slave2
  2. 测试ip是否可访问

    ping 10.0.0.2
    ssh root@10.0.0.2
  3. 修改各个节点上的hosts文件

    #hosts
    10.0.0.2 master
    10.0.0.3 slave1
    10.0.0.4 slave2
  4. 确认master节点能连接slave节点

    #在master节点上
    ssh root@slave1
    ssh root@slave2
  5. 修改master节点配置文件

    #slaves
    localhost
    slave1
    slave2
  6. 启动hadoop集群

    #在master节点上
    hadoop namenode -format
    start-all.sh
  7. 查看是否运行成功

    #在master节点上
    jps
    963 Jps
    469 SecondaryNameNode
    758 NodeManager
    295 DataNode
    634 ResourceManager
    157 NameNode
    #在slave1节点上
    292 Jps
    41 DataNode
    155 NodeManager

hadoop docker集群搭建的更多相关文章

  1. Hadoop分布式集群搭建

    layout: "post" title: "Hadoop分布式集群搭建" date: "2017-08-17 10:23" catalog ...

  2. Hadoop+HBase 集群搭建

    Hadoop+HBase 集群搭建 1. 环境准备 说明:本次集群搭建使用系统版本Centos 7.5 ,软件版本 V3.1.1. 1.1 配置说明 本次集群搭建共三台机器,具体说明下: 主机名 IP ...

  3. hadoop+spark集群搭建入门

    忽略元数据末尾 回到原数据开始处 Hadoop+spark集群搭建 说明: 本文档主要讲述hadoop+spark的集群搭建,linux环境是centos,本文档集群搭建使用两个节点作为集群环境:一个 ...

  4. hadoop ha集群搭建

    集群配置: jdk1.8.0_161 hadoop-2.6.1 zookeeper-3.4.8 linux系统环境:Centos6.5 3台主机:master.slave01.slave02 Hado ...

  5. Hadoop分布式集群搭建hadoop2.6+Ubuntu16.04

    前段时间搭建Hadoop分布式集群,踩了不少坑,网上很多资料都写得不够详细,对于新手来说搭建起来会遇到很多问题.以下是自己根据搭建Hadoop分布式集群的经验希望给新手一些帮助.当然,建议先把HDFS ...

  6. k8s docker集群搭建

    一.Kubernetes系列之介绍篇   •Kubernetes介绍 1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器 ...

  7. Kubernetes(k8s) docker集群搭建

    原文地址:https://blog.csdn.net/real_myth/article/details/78719244 一.Kubernetes系列之介绍篇   •Kubernetes介绍 1.背 ...

  8. hadoop分布式集群搭建(2.9.1)

    1.环境 操作系统:ubuntu16 jdk:1.8 hadoop:2.9.1 机器:3台,master:192.168.199.88,node1:192.168.199.89,node2:192.1 ...

  9. Hadoop分布式集群搭建_1

    Hadoop是一个开源的分布式系统框架 一.集群准备 1. 三台虚拟机,操作系统Centos7,三台主机名分别为k1,k2,k3,NAT模式 2.节点分布 k1: NameNode DataNode ...

随机推荐

  1. Microsoft Azure 微软云平台系列新品发布

    在移动为先,云为先的今天,微软为拥抱云文化的企业提供了技术和工具.利用创新且全面的移动解决方案和开发者工具,微软有独到之处,它帮助所有客户在云为先时代中发现潜在价值. 正如希望加快云创新步伐的你们所期 ...

  2. Git访问TFS出现权限不足(Using Personal Access Tokens to access Visual Studio Online)

    使用GIT克隆TFS服务器上的代码到本地时出现错误如下: fatal: Authentication failed for 'https://***.visualstudio.com/***Proje ...

  3. MapReduce Design Patterns(chapter 2(part 1))(二)

    随着每天都有更多的数据加载进系统,数据量变得很庞大.这一章专注于对你的数据顶层的,概括性意见的设计模式,从而使你能扩展思路,但可能对局部数据是不适用的.概括性的分析都是关于对相似数据的分组和执行统计运 ...

  4. January 07 2017 Week 1st Saturday

    Procrastination is the thief of time. 拖延乃是光阴之窃贼. My parents always tell me that things ought to be d ...

  5. Activator 通过SSH解锁屏幕等手势操作

    来源:https://qunwang6.github.io/blog/Activator/ Activator 发表于 2015-10-24   |   分类于 iOS Activator Activ ...

  6. 编程题A+B Format的总结(第二次作业<一>)

    Github链接地址:https://github.com/Startup-try/object-oriented 这个题目现在想想没有那么难,其实还挺简单的,但是中午花了好长的时间还不懂得怎么做,感 ...

  7. 常用算法的C++实现

    常用算法的C++实现 // // DZAppDelegate.m // AlgorithmTest // // Created by dzpqzb on 13-8-4. // Copyright (c ...

  8. BZOJ 1191 超级英雄Hero 二分图匹配

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1191 题目大意: 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主 ...

  9. No.5 - 纯 CSS 制作绕中轴旋转的立方体

    body{ background-color: #000; margin:; padding:; } main{ perspective: 800px; } .cube{ transform-styl ...

  10. 【luogu P3959 宝藏】 题解

    题目链接:https://www.luogu.org/problemnew/show/P3959 我只是心血来潮想学SA(考场上骗分总行吧). 这个题可以状压DP.爆搜+剪枝.有意思的还是随机化搜索( ...