首页 > Hadoop 分布式环境搭建

Hadoop 分布式环境搭建

1.集群机器:

1台 装了 ubuntu 14.04的 台式机

1台 装了ubuntu 16.04 的 笔记本     (机器更多时同样适用)

搭建步骤:

准备工作:

使两台机器处于同一个局域网:相互能够 ping 通

      主机名称                     IP地址

soyo-VPCCB3S1C   192.168.1.130   (master-->namenode)

soyo-slave01        192.168.1.126        (datanode)

想要更改主机名称的话:sudo vim /etc/hostname   之后重启

之后两台机器都修改 /etc/hosts/ 设置为:

2.配置ssh无密码登录本机和访问集群机器

2台主机电脑分别运行如下命令,测试能否连接到本地localhost

ssh localhost

结果:这样说明没问题

如果不能登录本地:

  1. sudo apt-get openssh-server
  2. ssh-keygen -t rsa -P ""             // 生成ssh公钥

  3. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys          // (authorized_keys 刚开始是没有的) SSH无密码登陆授权
    在保证了2台主机电脑都能连接到本地localhost后,还需要让master主机免密码登录slave01。在master执行如下命令,将master的id_rsa.pub传送给slave01主机。
    scp 是 secure copy 的简写,用于在 Linux 下进行远程拷贝文件,类似于 cp 命令,不过 cp 只能在本机中拷贝。

    scp ~/.ssh/id_rsa.pub soyo@soyo-slave01:/home/soyo/

     这个时候在soyo-slave01主机的/home/soyo/路径下可以找到 id_rsa.pub 这个文件

  1. 接着在slave01主机上将master的公钥加入各自的节点上,在soyo-slave01执行如下命令:
  2. cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
  3. rm ~/id_rsa.pub
  4. 配置完成

3.在master(soyo-VPCCB3S1C)测试连接soyo-slave01节点:

 

4.Hadoop分布式配置:

hadoop而而配置文件都位于/usr/local2/hadoop/etc/hadoop目录下。

总共要配置 5 个文件:slaves,core-site.xml,hdfs-site.xml,mapred-site.xml.template(复制后修改名字为mapred-site.xml),yarn-site.xml

slaves:

core-site.xml:

hdfs-site.xml:

mapred-site.xml

yarn-site.xml

这里如果不配置:

        yarn.nodemanager.resource.memory-mb

        yarn.nodemanager.resource.cpu-vcores



soyo-slave01上的NodeManager无法启动

      memory-mb(可用内存大小) value:参照Linux分类的总结--> http://www.cnblogs.com/soyo/p/7908430.html

      cpu-vcores (CPU核数)      value:参照Linux分类的总结-->  http://www.cnblogs.com/soyo/p/7908365.html

5.给节点分发Hadoop配置:

  当前路径为:/usr/local2

tar -zcf ~/hadoop.tar.gz ./hadoop  

(如果Hadoop之前被使用过最好删除 temp 和logs 再分发,每次删除这两个文件后,启动Hadoop前都需要执行:hdfs namenode -format 不然namenode会无法启动,这个下面有讲)

    cd  /home/soyo

scp ./hadoop.tar.gz soyo-slave01:/home/soyo   (这里节点写成:soyo@soyo-slave01:/home/soyo 也可以)



在soyo-slave01节点上执行:

sudo tar -zxf ~/hadoop.tar.gz -C /usr/local2
sudo chmod -R 777 hadoop

6.启动Hadoop集群:

 任意路径下执行:

  hdfs namenode -format

   start-all.sh

(想要在任意路径下可以启动Hadoop 需要配置:bashrc)

vim ~/.bashrc:

 source ~/.bashrc

7.查看Hadoop分布式是否搭建成功:

在master节点:jps

在 slave节点上:jps

要保证master,slave 的shell中的进程都被启动(少一个都表示没有配置成功)

8.分布式计算:

首先创建 HDFS 上的数据存放目录

hdfs dfs  -mkdir  -P  /user/soyo

往HDFS中导入数据:

hdfs dfs  -put /usr/local2/hadoop/etc/hadoop/*.xml /user/soyo

执行:

hadoop jar /usr/local2/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar grep /user/soyo /user/soyo_output 'dfs[a-z.]+'

可以通过WEB页面查看HDFS上存储的数据以及计算的结果文件:soyo-VPCCB3S1C:50070 (直接浏览器输入这个网址)

 

同样可以通过 Web 界面查看任务进度:soyo-VPCCB3S1C:8088 (直接浏览器输入这个网址)   如何yarn资源管理器启动失败这个网页是打不开的

9.把计算结果保存到本地:

hdfs dfs -get  /user/soyo_output  /home/soyo

10.DataNode 节点负责保存HDFS上的 数据,那实质的计算过程也是由它做吗?(很无奈啊......图片是反的)

DataNode:

 

 

 

 

 

 

 

 

 

 

 

NameNode:

可以看出计算的过程也是由DataNode来承担的

转载于:https://www.cnblogs.com/soyo/p/7868282.html

更多相关:

  • 我们很荣幸能够见证Hadoop十年从无到有,再到称王。感动于技术的日新月异时,希望通过这篇内容深入解读Hadoop的昨天、今天和明天,憧憬下一个十年。 本文分为技术篇、产业篇、应用篇、展望篇四部分   技术篇      2006年项目成立的一开始,“Hadoop”这个单词只代表了两个组件——HDFS和MapReduce。到现在...

  •   很多人只会,但没深入体会和想为什么要这样?   拿Hadoop来说,当然,spark也一样的道理。   输出路径由Hadoop自己创建,实际的结果文件遵守part-nnnn的约定。   如何指定一个已有目录作为Hadoop作业的输出路径,作业将无法进行,并会抛出异常抗议一个已经存在的目录。如果想让Hadoop将输出存储到一个目录,...

  • http://blog.itpub.net/26978437/viewspace-730136/ 按照上几篇的内容,安装好两台ubuntu虚拟机之后,首先确定好哪台机子做namenode,哪台做datanode,打开终端,输入:$sudo vi /etc/hosts 在打开的文件中输入主机名和IP地址,比如我的是: 127.0.0....

  • 关键词:Ubuntu;hadoop; 注意:开始这一步之前,需安装Oracle的jdk,参见: http://www.cnblogs.com/fengfengqingqingyangyang/archive/2012/11/06/2756981.html 1、下载hadoop的合适版本:http://labs.mop.com/apa...

  • ue4商城资源 Car Configurator Template 汽车配置器模板 ue4商城资源 Car Configurator Template 汽车配置器模板 Unreal Engine虚幻游戏引擎素材资源 Unreal Engine Marketplace –Car Configurator Template 4...

  • 一直在尝试一些写代码方便,阅读代码也很方便的工具,因为使用的是Mac,所以阅读源码上面sourceInsight就没办法用了。 从vscode – sublime – clion 想要可配置性强一点,软件轻一点,也能提供足够的便捷操作,不论是写代码还是快速索引源码,都希望在检索上面节省足够的时间。 vscode 和 sublime...

  • 每日杂事缠身,让自己在不断得烦扰之后终于有了自己的清静时光来熟悉一下我的工具,每次熟悉源码都需要先在windows端改好,拖到linux端,再编译。出现问题,还得重新回到windows端,这个过程太耗费时间。 vim作为唯一能够和windos 下的source insight一争高低的linux端的源码阅读器,只要将它短时间内合理利用...

  • 使用ubuntu(18.04) 作为软路由器连接互联网 背景: 最近要用ubuntu机器作为中继路由,需要配置一下,但是内网外网网上找了一圈,五花八门的,照着做没有一个靠谱的,遇到的问题也没有任何说明,遂写一篇教程以记录一下 功能说明: 简单来说,就是用其他机器的网络上互联网, 比如可以用其他机器的wifi上网等等场景 示意...

  • Spring-Boot 攻略 day01 spring-boot 一. 基本配置加运行 1. 导入配置文件(pom.xml 文件中) org.springframework.bootspring-boot-starter-parent