傻瓜教程之docker搭建hadoop伪分布式


安装hadoop镜像

  1. 在docker中查找hadoop 镜像
    docker search hadoop
    在这里插入图片描述

  2. 我们选择star数量最多的镜像拉取
    docker pull docker.io/sequenceiq/hadoop-docker
    在这里插入图片描述

  3. 查看镜像
    docker images
    在这里插入图片描述

  4. 创建master节点
    docker run --name hadoop1 -d -h master docker.io/sequenceiq/hadoop-docker
    在这里插入图片描述
    参数说明:
    --name :设置容器的名称 -d:在后台运行 -h:为容器设置主机名

  5. 以此方法创建slave1和slave2节点
    docker run --name hadoop2 -d -h slave1 docker.io/sequenceiq/hadoop-docker
    在这里插入图片描述
    docker run --name hadoop3 -d -h slave2 docker.io/sequenceiq/hadoop-docker
    在这里插入图片描述

  6. 查看容器
    docker ps -s
    在这里插入图片描述

  7. 进入容器查看jdk
    docker exec -it hadoop1 bash
    在这里插入图片描述

  8. 配置ssh生成秘钥,所有的节点都要配置
    进入容器后,启动ssh
    /etc/init.d/sshd start
    在这里插入图片描述

  9. 生成秘钥
    ssh-keygen -t rsa
    在这里插入图片描述

  10. 进入/root/.ssh/目录
    cd /root/.ssh/
    在这里插入图片描述

  11. 复制公钥到authorized_keys中
    cat id_rsa.pub > authorized_keys
    在这里插入图片描述

  12. 查看authorized_keys
    cat authorized_keys
    在这里插入图片描述

  13. 其他节点(hadoop2、hadoop3)循环执行7~12步骤(过程省略,只附图)
    在这里插入图片描述
    在这里插入图片描述

  14. 将容器中的公钥向其余节点进行复制,三个节点的公钥应该都一样,且里面都有三个。
    在这里插入图片描述

  15. 查看ip地址
    使用ifconfig命令查看每个容器ip地址
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  16. 为每个容器设置地址vi /etc/hosts
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  17. 测试一下:(记得登录后要用exit退出才能回到根节点)
    ssh master
    在这里插入图片描述
    ssh slave1
    在这里插入图片描述
    ssh slave2
    在这里插入图片描述


配置hadoop(在master节点上)

  1. 进入容器查找 hadoop-env.sh存放位置
    find / -name hadoop-env.sh
    在这里插入图片描述
    配置文件的目录一般都在/usr/local/hadoop-2.7.0/etc/hadoop下面

  2. 进入/usr/local/hadoop-2.7.0/etc/hadoop目录下
    cd /usr/local/hadoop-2.7.0/etc/hadoop
    在这里插入图片描述

  3. 查看 hadoop-env.sh文件(已经帮我们配置好了)
    vi hadoop-env.sh
    在这里插入图片描述


  1. 查找core-site.xml
    find / -name core-site.xml
    在这里插入图片描述
  2. 进入/usr/local/hadoop-2.7.0/etc/hadoop/目录下
    cd /usr/local/hadoop-2.7.0/etc/hadoop/
    在这里插入图片描述
  3. 查看并编辑core-site.xml文件
    vi core-site.xml
    在这里插入图片描述
  4. 添加如下配置:
    <property>
     	 <name>hadoop.tmp.dir</name>
      	<value>/hadoop/tmp</value>
    </property>
    
    在这里插入图片描述

  1. 查找hdfs-site.xml
    find / -name hdfs-site.xml
    在这里插入图片描述
  2. 进入/usr/local/hadoop-2.7.0/etc/hadoop/目录下
    cd /usr/local/hadoop-2.7.0/etc/hadoop/
    在这里插入图片描述
  3. 配置hdfs-site.xml
    vi hdfs-site.xml
    在这里插入图片描述
    slave数量要大于等于备份的数量,否则会报错,当前是2个slave,所以满足条件。

  1. 查找mapred-site.xml
    find / -name mapred-site.xml
    在这里插入图片描述
  2. 进入/usr/local/hadoop-2.7.0/etc/hadoop/目录下
    cd /usr/local/hadoop-2.7.0/etc/hadoop/
    在这里插入图片描述
  3. 配置mapred-site.xml(已经帮我们配置好了)
    vi mapred-site.xml
    在这里插入图片描述

  1. 查找yarn-site.xml
    find / -name yarn-site.xml
    在这里插入图片描述

  2. 进入/usr/local/hadoop-2.7.0/etc/hadoop/目录下
    cd /usr/local/hadoop-2.7.0/etc/hadoop/
    在这里插入图片描述

  3. 配置yarn-site.xml
    vi yarn-site.xml
    在这里插入图片描述

  4. 增加以下配置

    <property>
            <name>yarn.resourcemanager.address</name>
            <value>master:8032</value>
    </property>
    
    <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
    </property>
    
    <property>
            <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
            <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    
    <property>
            <name>yarn.resourcemanager.scheduler.address</name>
            <value>master:8030</value>
    </property>
    
    <property>
            <name>yarn.resourcemanager.resource-tracker.address</name>
            <value>master:8031</value>
    </property>
    
    <property>
            <name>yarn.resourcemanager.admin.address</name>
            <value>master:8033</value>
    </property>
    
    <property>
            <name>yarn.resourcemanager.webapp.address</name>
            <value>master:8089</value>
    </property>
    

    在这里插入图片描述


将这些参数发送到其它节点(slave1/slave2)

scp /usr/local/hadoop-2.7.0/etc/hadoop/yarn-site.xml slave1:/usr/local/hadoop-2.7.0/etc/hadoop/
scp /usr/local/hadoop-2.7.0/etc/hadoop/yarn-site.xml slave2:/usr/local/hadoop-2.7.0/etc/hadoop/
在这里插入图片描述


运行hadoop

  1. 查找hadoop
    find / -name hadoop
    在这里插入图片描述
  2. 进入/usr/local/hadoop-2.7.0/bin/目录
    cd /usr/local/hadoop-2.7.0/bin/
    在这里插入图片描述
  3. 在master上格式化namenode
    ./hadoop namenode -format
    如果出现以下问题:
    在这里插入图片描述
    请注意:
    如果在日志信息中能看到这一行,则说明 namenode格式化成功:common Storage: Storage directory /data/hadoop repo/dfs/name has been successfully formatted,大家可以把日志信息粘贴出来,Ctrl+F查找一下关键字,看是否有这句话,如果有,代表格式化namenode成功。
  4. 在master上启动集群
    cd /usr/local/hadoop-2.7.0/sbin/
    ./start-all.sh
    如果报错告诉端口被占用,那么就先停止,然后再启动:
    ./stop-all.sh
    ./start-all.sh
    5.jps查看进程,查看到,说明已启动
    在这里插入图片描述
  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
[入门数据分析的第一堂课]这是一门为数据分析小白量身打造的课程,你从网络或者公众号收集到很多关于数据分析的知识,但是它们零散不成体,所以第一堂课首要目标是为你介绍:Ø  什么是数据分析-知其然才知其所以然Ø  为什么要学数据分析-有目标才有动力Ø  数据分析的学习路线-有方向走得更快Ø  数据分析的模型-分析之道,快速形成分析思路Ø  应用案例及场景-分析之术,掌握分析方法[哪些同学适合学习这门课程]想要转行做数据分析师的,零基础亦可工作中需要数据分析技能的,例如运营、产品等对数据分析感兴趣,想要更多了解的[你的收获]n  会为你介绍数据分析的基本情况,为你展现数据分析的全貌。让你清楚知道自己该如何在数据分析地图上行走n  会为你介绍数据分析的分析方法和模型。这部分是讲数据分析的道,只有学会底层逻辑,能够在面对问题时有自己的想法,才能够下一步采取行动n  会为你介绍数据分析的数据处理和常用分析方法。这篇是讲数据分析的术,先有道,后而用术来实现你的想法,得出最终的结论。n  会为你介绍数据分析的应用。学到这里,你对数据分析已经有了初步的认识,并通过一些案例为你展现真实的应用。[专享增值服务]1:一对一答疑         关于课程问题可以通过微信直接询问老师,获得老师的一对一答疑2:转行问题解答         在转行的过程中的相关问题都可以询问老师,可获得一对一咨询会3:打包资料分享         15本数据分析相关的电子书,一次获得终身学习

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值