hadoop2.7完全分布式集群搭建以及任务测试

2023-05-16

要想深入的学习hadoop数据分析技术,首要的任务是必须要将hadoop集群环境搭建起来,本文主要讲述如何搭建一套hadoop完全分布式集群环境。

 

环境配置:2台64位的redhat6.5 +  1台64位centos6.9 + Hadoop + java7

一、先配置服务器的主机名

Namenode节点对应的主机名为master

Datanode节点对应的主机名分别为node1、node2

1、 在每一台服务器上执行vim /etc/hosts, 先删除hosts里面的内容,然后追加以下内容:

192.168.15.135  master
172.30.25.165   node1
172.30.25.166   node2

2、 在每一台服务器上执行vim  /etc/sysconfig/network,修改红色部分的内容,对应上面所说的hostname,对于master节点那么hostname就为master

NETWORKING=yes
HOSTNAME= master
NETWORKING_IPV6=yes
IPV6_AUTOCONF=no

类似的,在node1服务器节点上应该为:

NETWORKING=yes
HOSTNAME= node1
NETWORKING_IPV6=yes
IPV6_AUTOCONF=no

类似的,在node2服务器节点上应该为:

NETWORKING=yes
HOSTNAME= node2
NETWORKING_IPV6=yes
IPV6_AUTOCONF=no

这两步的作用很关键,如果配置不成功,进行分布式计算的时候有可能找不到主机名

 

二、安装SSH,并让master免验证登陆自身服务器、节点服务器

1、 执行下面命令,让master节点能够免验证登陆自身服务器

ssh-keygen -t dsa -P'' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub>> ~/.ssh/authorized_keys
exportHADOOP\_PREFIX=/usr/local/hadoop

HADOOP_PREFIX表示自己安装的hadoop路径

2、 让主结点(master)能通过SSH免密码登录两个子结点(slave)

为了实现这个功能,两个slave结点的公钥文件中必须要包含主结点的公钥信息,这样当master就可以顺利安全地访问这两个slave结点了。操作过程如下:

在node1上执行

scp root@master:~/.ssh/id_dsa.pub  ~/.ssh/master_dsa.pub
cat~/.ssh/master_dsa.pub >> ~/.ssh/authorized_keys

在node2上执行

scp root@master:~/.ssh/id_dsa.pub  ~/.ssh/master_dsa.pub
cat~/.ssh/master_dsa.pub >> ~/.ssh/authorized_keys


如上过程显示了node1结点通过scp命令远程登录master结点,并复制master的公钥文件到当前的目录下,这一过程需要密码验证。接着,将master结点的公

钥文件追加至authorized_keys文件中,通过这步操作,如果不出问题,master结点就可以通过ssh远程免密码连接node1结点了。在master结点中操作如:


当然值得注意的是:首次登陆是需要确认的,node1结点首次连接时需要,“YES”确认连接,这意味着master结点连接node1结点时需要人工询问,无法自动连接,输入yes后成功接入,紧接着注销退出至master结点。要实现ssh免密码连接至其它结点,还差一步,只需要再执行一遍ssh node1,如果没有要求你输入”yes”,就算成功了。

 

三、下载并解压hadoop安装包,配置hadoop

1、 关于安装包的下载就不多说了,不过可以提一下目前我使用的版本为hadoop-2.7.1

2、 配置namenode,修改site文件

下面开始修改hadoop的配置文件了,即各种site文件,文件存放在etc/Hadoop/下,主要配置core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml这三个文件。

这里我只把我的实例贴出来,经供参考,更多详细配置请参照官方文档

core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
       <value>hdfs://master:9000</value>
    </property>
</configuration>

hdfs-site.xml:

<configuration>
    <property>
       <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:9001</value>
    </property>
</configuration>

mapred-site.xml:

<configuration>
    <property>
       <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
       <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>
    </property>
    <property>
       <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>
    </property>
</configuration>

yarn-site.xml:

<configuration>
    <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.address</name>
        <value>master:8032</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:8088</value>
    </property>
</configuration>


3、 配置namenode,修改env环境变量文件

配置之前要说的话:你必须确保你已经安装了java6或者java7,并且java的环境变量已经配置好,由于本文的重点不在此,故不详细说明,我系统java的环境变量为/usr/java/jdk1.7.0_71

所以讲hadoop-env.sh、mapred-env.sh、yarn-env.sh这几个文件中的JAVA_HOME改为/usr/java/jdk1.7.0_71,如下图所示:


文件中的其他一些配置项,请参考官方文档

4、 slaves文件配置,增加如下两行内容:

node1
node2

四、向节点服务器node1、node2复制我们刚刚在master服务器上配置好的hadoop

scp–r hadoop  root@node1:/usr/local/hadoop
scp–r hadoop  root@node2:/usr/local/hadoop


五、格式化namenode,在master节点上执行如下命令:

bin/hdfs namenode-format 


只要出现“successfully formatted”就表示成功了。

 

六、启动hadoop

这一步也在主结点master上进行操作:

 

七、用jps检验各后台进程是否成功启动

master


node1


node2


八、向hadoop集群系统提交第一个mapreduce任务

到这里为止我们已经完成了一个真正意义上的hadoop完全分布式环境搭建,下面我们要像这个集群系统提交第一个mapreduce任务

1、  bin/hdfs dfs -mkdir /tmp 在虚拟分布式文件系统上创建一个测试目录tmp

2、  bin/hdfs dfs -copyFromLocal ./ LICENSE.txt /tmp 将当前目录下的LICENSE文件复制到虚拟分布式文件系统中

3、bin/hdfs dfs-ls /tmp查看文件系统中是否存在我们所复制的文件

下面这张图显示了一系列的操作过程


3、  运行如下命令向hadoop提交单词统计任务

bin/hadoop jar./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount/tmp/LICENSE.txt /tmp-output 

最后会显示一个运算结果:



到这里为止,你已经完成了第一个任务的分布式计算

注意:在你重新格式化分布式文件系统之前,需要将文件系统中的数据先清除,否则,datanode将创建不成功,这一点很重要

关于一些常见的端口

master:8088能显示你的集群状态

master: 50070能进行一些节点的管理

除此之外,还有很多有用的端口,当然这也是和你的配置文件相关的,最后,贴上两张图片:




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hadoop2.7完全分布式集群搭建以及任务测试 的相关文章

  • 例子程序1:读取文件内容并打印到屏幕上

    文件名 xff1a 作者 xff1a kehanxin 时间 xff1a 说明 xff1a 读取特定文件paper txt中内容并打印在屏幕上 span class hljs comment include lt stdio h gt sp
  • 复制字符串strcpy()函数

    strcpy 函数原型 xff1a span class hljs preprocessor include lt string h gt span span class hljs keyword char span span class
  • Linux系统组成

    Linux一般有4个主要部分 xff1a 内核 Shell 文件系统 应用程序 Shell是一个命令解释器 xff0c 它解释用户输入的命令并且把它们送到内核执行 目前常见的Shell有Bourne Shell sh Korn Shell
  • 在VC++6.0中嵌入汇编

    span class hljs preprocessor include lt stdio h gt span span class hljs keyword int span main span class hljs keyword in
  • VS Code For Web 深入浅出 -- 进程间通信篇

    在上一篇中 xff0c 我们一起分析了 VS Code 整体的代码架构 xff0c 了解了 VS Code 是由前后端分离的方式开发的 且无论前端是基于 electron 还是 web xff0c 后端是本地还是云端 xff0c 其调用方式
  • QtMath:通用数学函数

    头文件 xff1a include lt QtMath gt 一 描述 这些函数是 C 或标准模板库中不可用的基本数学运算的部分方便定义 二 宏成员 M E xff1a 自然对数的底 xff0c e 61 exp 1 M LOG2E xff
  • 深入剖析PE文件 (告诉你exe文件打开后是依据什么来创建进程并在系统中运行)

    转自 深入剖析PE文件 告诉你exe文件打开后是依据什么来创建进程并在系统中运行 转载自http lwglucky blog 51cto com 1228348 283812 PE文件是Win32的原生文件格式 每一个Win32可执行文件都
  • 串口和TCP互相转发工具

    由于项目调试需求 xff0c 代码在远程服务器的虚拟机上 xff0c 在本地计算机通过串口连接需要对接的设备 xff0c 在远程服务器的上位机程序需要和此设备进行对接 xff0c 系统结构如图1所示 图1 系统网络结构图 如何将本地的串口共
  • Linux系统基础操作管理

    一 系统基础操作规范 1 第一个规范 输出命令信息需要在命令提示符之后输入 命令提示符 xff1a span class token punctuation span root 64 oldboy span class token punc
  • 解决Flask跨域问题的几种方式

    本文收录于 Python开发 专栏 xff0c 此专栏聚焦于Python开发中的编程技巧和总结 xff0c 将持续更新 xff0c 欢迎大家订阅 xff01 个人主页 xff1a 有梦想的程序星空个人介绍 xff1a 小编是人工智能领域硕士
  • STL四种智能指针浅析

    我们知道 xff0c 在C 43 43 中没有像Java那样的自动回收垃圾机制 xff0c xff0c 系统只会清理栈上由系统管理的资源 xff0c 在类中若有对堆资源的申请 xff0c 不进行手动释放资源就会导致内存泄漏问题 xff0c
  • C++摸板类 声明对象编译不过 类声明和实现都要放在头文件里

    通常情况下 xff0c 你会在 h文件中声明函数和类 xff0c 而将它们的定义放置在一个单独的 cpp文件中 但是在使用模板时 xff0c 这种习惯性做法将变得不再有用 xff0c 因为当实例化一个模板时 xff0c 编译器必须看到模板确
  • 什么是大端序和小端序,为什么要有字节序

    什么是字节序 字节序 xff0c 又称端序或尾序 xff08 英语中用单词 xff1a Endianness 表示 xff09 xff0c 在计算机领域中 xff0c 指电脑内存中或在数字通信链路中 xff0c 占用多个字节的数据的字节排列
  • opencv4.3.0+Visual Studio 2019环境配置

    1 1 解压opencv并添加环境变量 下载opencv4 3 0 xff0c 进行安装 其实是解压 xff0c 之后配置环境变量 xff0c 我的电脑 gt 属性 gt 高级系统设置 gt 环境变量 xff0c 找到Path变量 xff0
  • 动画图解:十大经典排序算法动画与解析,看我就够了!(配代码完全版)

    排序算法是 数据结构与算法 中最基本的算法之一 排序算法可以分为内部排序和外部排序 内部排序是数据记录在内存中进行排序 而外部排序是因排序的数据很大 xff0c 一次不能容纳全部的排序记录 xff0c 在排序过程中需要访问外存 常见的内部排
  • 什么是 P = NP 问题?

    点击关注上方 五分钟学算法 xff0c 设为 置顶或星标 xff0c 第一时间送达干货 转自后端技术指南针 1 前言 今天和大家一起了解个高能知识点 xff1a P 61 NP问题 看到这里我们可能是一头雾水 xff0c 不由得发问 xff
  • 问题集合 ---- linux 静态库和动态库

    本文转自多网址 xff0c 对作者表示感谢 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • 图解:什么是二叉排序树?

    点击关注上方 五分钟学算法 xff0c 设为 置顶或星标 xff0c 第一时间送达干货 转自景禹 景禹的写作风格还是一如既往的细腻 xff1a xff09 xff0c 欢迎关注他 以下为原文 今天我们谈一谈 二叉排序树 xff0c 一种你会
  • B 站疯传,堪称最强,10 大免费的白嫖网站

    点击上方 五分钟学算法 xff0c 选择 星标 公众号 重磅干货 xff0c 第一时间送达 来源 xff1a Python知识圈 如果你喜欢在 B 站学习的话 xff0c 可以经常看到一些介绍网站类的视频 xff0c 这些视频有不俗的播放量
  • 还敢搞黄色?4 个色情网站被一锅端,9 名福利姬被刑拘!

    点击上方 五分钟学算法 xff0c 选择 星标 公众号 重磅干货 xff0c 第一时间送达 来源 xff1a 扩展迷EXTFANS 9月4日 xff0c 据 64 江苏网警 通报 xff1a 今年3月份以来 xff0c 浙江丽水莲都警方根据

随机推荐

  • 为什么有人劝别选计算机专业?

    大家好 xff0c 我是程序员吴师兄 xff0c 一个坚持在 CSDN 日更原创的程序员 今天想和大家聊一聊为什么有人劝别选计算机专业 和大家说一句掏心窝的话 xff1a 直到 2021 年 xff0c 计算机专业依旧是寒门改变命运的一个最
  • 看完谷歌大佬的 LeetCode 刷题笔记,我马上去字节跳动面试!

    如果你刷 LeetCode 觉得吃力 那么一定需要这份谷歌大佬的 LeetCode 刷题笔记 微信搜索 五分钟学算法 xff0c 公众号回复 04 即可获取对应的下载链接 xff0c 以下是详细介绍 在这里推荐一个谷歌大佬的刷题笔记 每一道
  • 剑指 Offer 09. 用两个栈实现队列(视频讲解)

    一 题目描述 用两个栈实现一个队列 队列的声明如下 xff0c 请实现它的两个函数 appendTail 和 deleteHead xff0c 分别完成在队列尾部插入整数和在队列头部删除整数的功能 若队列中没有元素 xff0c delete
  • 刷到 LeetCode 这个评论,被笑到了

    大家好 xff0c 我是吴师兄 今天早上我在 LeetCode 第 141 号问题 环形链表 的评论区中发现了一个称得上是天秀的解法 xff0c 简直太骚气了 xff0c 忍不住分享给大家 首先给没有见过这道题目的小伙伴补充一下前置知识 x
  • Android JNI基础篇(一)

    Android JNI 基础篇 前言 JNI学习其实并不难 xff0c 在这里 xff0c 我将引导大家学习JNI的基础知识 xff0c 认真学完本教程 xff0c 你将更加坚信我说的话 来吧 xff0c 我们一起学习 xff01 JNI
  • ROS学习(三):消息通信过程

    主节点管理节点信息 xff0c 每个节点根据需要与其他节点进行连接和消息通信 在这里 xff0c 我们来看看最重要的主节点 节点 话题 服务和动作信息的过程 一 运行主节点 节点之间的消息通信当中 xff0c 管理连接信息的主节点是为使用R
  • HTTP Digest authentication(摘要认证)和HTTP basic Authorization(普通认证)用户登出注销的方法

    最近项目中需要对普通认证HTTP basic Authorization和摘要认证HTTP Digest authenticatio登录进行注销 搜索到有几篇文章号称ie xff0c Firefox chrome都可以可以注销 xff0c
  • POCO C++库学习和分析 -- 序

    POCO C 43 43 库学习和分析 序 1 POCO库概述 xff1a POCO是一个C 43 43 的开源库集 同一般的C 43 43 库相比 xff0c POCO的特点是提供了整一个应用框架 如果要做C 43 43 程序应用框架的快
  • 【ubuntu18+QT12+OpenCV4环境配置】

    ubuntu18 43 QT12 43 OpenCV4环境配置 前些天编译了最新版本opencv4 xff0c 但是电脑内还有个opencv3 2 xff0c 有时候二者共享链接库文件即libopencv so XX xff0c 之类的路径
  • Ubuntu无法使用浏览器上网

    1 可以更新一下浏览器 xff0c 打开终端 xff0c 输入 xff1a sudo apt get install firefox 如果你用的是其他浏览器可以吧后面的 firefox 改为其他浏览器 xff0c 如谷歌浏览器 xff1a
  • 浅析C++中struct和class的区别

    文章目录 C和C 43 43 中struct的区别C 43 43 中struct和class的区别 C和C 43 43 中struct的区别 struct最早是在C语言中出现的 xff0c 但在C语言中struct只是一种 用户自定义数据类
  • C语言头文件.h互相包含所引发的一系列错误C2143之类的解决方法

    本文可解决的问题 在一个头文件 h中定义一个结构体 在另一个 h文件中使用这个结构体引发错误C2143 语法错误 缺少 在 的前面 编译源文件 等莫名的报错头文件的交叉包含 即头文件a包含了头文件b 头文件b又包含了头文件a多个不同的头文件
  • 使用python进行http请求自动登录处理302跳转的问题

    一 问题背景 最近在做一个自动化业务处理的程序时 xff0c 需要完成对系统的自动登录 经过抓包测试只需要使用简单的post请求后收到的回包中包含cookie信息 xff0c 因此可以据此完成登录 程序设计思路为发送求到登录验证页面 xff
  • C# TCP/UDP网络通讯调试助手(含源码)

    C TCP UDP网络通讯调试助手 1 客户端界面 1 客户端界面 源码下载地址 xff1a https download csdn net download kingleitao 11927885
  • socketcan

    参考 lt lt Linux Can编程详解 gt gt CAN原理介绍 https www cnblogs com spoorer p 6649303 html 一 初始化工作 SocketCAN 中大部分的数据结构和函数在头文件 lin
  • vscode+cmake 实现C++项目的完整编译

    1 项目目录 span class token builtin class name span bin build CMakeLists txt include array 2d h common h swap h lib src arra
  • 航模常用硅胶线、热缩管规格

    一般穿越机中信号线等用26或28awg xff0c 外径1 3 1 5mm xff0c 配套热缩管选用2mm的比较合适 供电电源线一般用10awg或12awg xff0c 外径4 5 5 4mm xff0c 配套热缩管为7mm比较合适 14
  • POCO C++库学习和分析 -- 线程 (一)

    POCO C 43 43 库学习和分析 线程 xff08 一 xff09 线程是程序设计中用的非常多的技术 xff0c 在UI设计 xff0c 网络通讯设计中广泛使用 在POCO库中 xff0c 线程模块可以分成6个部分去理解 锁 xff0
  • 100条经典C语言笔试题目

    100 条经典C语言笔试题目 题目来源 xff1a 1 中兴 华为 慧通 英华达 微软亚洲技术中心等中 外企业面试题目 xff1b 2 C 语言面试宝典 林锐 高质量编程第三版 说明 xff1a 1 部分C 语言面试题中可能会参杂部分和C
  • hadoop2.7完全分布式集群搭建以及任务测试

    要想深入的学习hadoop数据分析技术 xff0c 首要的任务是必须要将hadoop集群环境搭建起来 xff0c 本文主要讲述如何搭建一套hadoop完全分布式集群环境 环境配置 xff1a 2台64位的redhat6 5 43 1台64位