久等了,近期公司比较忙,学习的时间都没有啊,到今日才有时间呢!!!好了,下面就跟着笔者开始配置Hadoop集群吧。

  hosts文件和SSH免密码登录配置好了之后,现在进入Hadoop安装目录,修改一些配置文件,修改配置还是相对简单的,一下是需要修改的文件内容(当然这里只是学习时的配置,更加深入的配置笔者也不会了,嘿嘿嘿),四台机相同配置,以下是一些修改的文件(红色为修改部分):

  conf/hadoop-env.sh:

  export JAVA_HOME=/usr/local/java/jdk1.6.0_45   ##原本是注释的,解开注释,修改一下路径即可

  conf/core-site.xml:

   <?xml version="1.0"?>

  <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

  <!-- Put site-specific property overrides in this file. -->

  <configuration>
    <property>

      <!-- 用户DFS命令模块中指定默认的文件系统协议 -->
      <name>fs.default.name</name>
      <value>hdfs://hadoop.master:9000</value>
    </property>
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/usr/local/temp</value>
    </property>
  </configuration>

  conf/hdfs-site.xml:

  <?xml version="1.0"?>

  <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

  <!-- Put site-specific property overrides in this file. -->

  <configuration>
    <property>
      <!-- 默认Block副本数,设置为副节点个数,这里为3个 -->
      <name>dfs.replication</name>
      <value>3</value>
    </property>
  </configuration>

  conf/mapred-site.xml(配置JobTracker):

  <?xml version="1.0"?>

  <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

  <!-- Put site-specific property overrides in this file. -->

  <configuration>
    <property>
      <name>mapred.job.tracker</name>
      <value>hadoop.master:9001</value>
    </property>
  </configuration>

  conf/masters(填写主节点主机名即可):

  hadoop.master

  conf/slaves(填写从节点主机名,一行一个):

  hadoop.slave1

  hadoop.slave2

  hadoop.slave3

  

  至此,配置已经修改完了,接下来是启动。在首次启动之前,先格式化NameNode,之后启动就不需要格式化了,命令如下:

  hadoop namenode -format

  接下来,启动Hadoop集群:

  start-all.sh

  启动后截图如下:

  

  在启动过程中由于配置了SSH免密码登录,是不会询问slaves机器上的密码的。

  集群测试:

  接下来我们运行一下hadoop-example.jar中自带的wordCount程序,用户统计单词出现次数,步骤如下:

  1.新建一个test.txt,内容可自行填写:

  

  2.在HDFS系统中创建一个文件夹input,命令如下:

    hadoop fs -mkdir /user/hadoop/input1

  3.上传刚刚创建的test.txt至HDFS系统中的input文件夹,命令如下:
    hadoop fs -put /usr/local/hadoop/test.txt /user/hadoop/input1/

  4.查看文件是否已经上传至HDFS中,命令如下:

    hadoop fs -ls /user/hadoop/input1/

  5.运行hadoop-example.jar,命令如下:

    cd /usr/local/hadoop

    hadoop -jar hadoop-example-1.2.1.jar wordcount /user/hadoop/input1/test.txt /user/hadoop/output1

  6.过程截图:

        

    

   7.运行完毕后,可以查看结果了,键入以下命令,结果截图也在下面:

    hadoop fs -text /user/hadoop/output1/part-r-00000

    

    OK!至此Hadoop集群就安装结束了,而且也测试过了,就先写到这里了。

    

Hadoop自学系列集(四) ---- Hadoop集群的更多相关文章

  1. golang 自学系列(四)——debug for vscode

    golang 自学系列(四)--(调试)VSCode For Debug 这里如何装 vscode 我就不说了 这里如何在 vscode 正常写代码我也不说了 在能正常用 vscode 写 go 语言 ...

  2. Hadoop自学系列集(三) ---- Hadoop安装

    这节就开始讲述Hadoop的安装吧.在这之前先配置下SSH免密码登录,为什么需要配置这个呢?大家都知道Hadoop集群中可能有几十台机器甚至是上千台机器,而每次启动Hadoop都需要输入密码才能够登录 ...

  3. Hadoop概念学习系列之谈hadoop/spark里为什么都有,YARN呢?(四十一)

    在Hadoop集群里,有三种模式: 1.本地模式 2.伪分布模式 3.全分布模式 在Spark集群里,有四种模式: 1.local单机模式 结果xshell可见: ./bin/spark-submit ...

  4. Hadoop自学系列集(二) ---- CentOS下安装JDK

    上篇我们讲述了如何使用VMware安装CentOS系统,接下来就看如何安装我们最为熟悉的jdk吧!安装前先看看系统上有没有安装过jdk,输入java -version,如果查询出了其他版本的jdk版本 ...

  5. Hadoop自学系列集(一) ---- 使用VMware安装CentOS

     1.概述 笔者的学习环境--在VMware虚拟机下安装四个CentOS系统(搭建Hadoop集群用),其中一个为Master,三个为Slave,Master作为Hadoop集群中的NameNode, ...

  6. Hadoop概念学习系列之谈hadoop/spark里分别是如何实现容错性?(四十二)

    Hadoop使用数据复制来实现容错性(I/O高) Spark使用RDD数据存储模型来实现容错性.  RDD是只读的.分区记录的集合.如果一个RDD的一个分区丢失,RDD含有如何重建这个分区的相关信息. ...

  7. Hadoop概念学习系列之谈hadoop/spark里为什么都有,键值对呢?(四十)

    很少有人会这样来自问自己?只知道,以键值对的形式处理数据并输出结果,而没有解释为什么要以键值对的形式进行. 包括hadoop的mapreduce里的键值对,spark里的rdd里的map等. 这是为什 ...

  8. Hadoop笔记系列 一 用Hadoop进行分布式数据处理(1)

    学习资料参考地址: 1.http://blog.csdn.net/zhoudaxia/article/details/8801769 1.先说说什么是Hadoop? 个人理解:一个分布式文件存储系统+ ...

  9. Hadoop概念学习系列之为什么hadoop/spark执行作业时,输出路径必须要不存在?(三十九)

    很多人只会,但没深入体会和想为什么要这样? 拿Hadoop来说,当然,spark也一样的道理. 输出路径由Hadoop自己创建,实际的结果文件遵守part-nnnn的约定. 如何指定一个已有目录作为H ...

随机推荐

  1. kali 源文件 更改和使用 更新日期:2018.04.21

    我的公众号,正在建设中,欢迎关注: 0x01 源文件格式: kali下常用的更新命令有: apt-get install update和apt-get install upgrade,update是下 ...

  2. Redis 安装和配置(一)

    一. mac下redis的安装 1. 官网http://redis.io/ 下载最新的稳定版本,这里是3.2.0 2. sudo mv 到 /usr/local/ 3. sudo tar -zxf r ...

  3. linux配置多个tomcat

    1.修改tomcat目录下面conf/server.xml,修改shutdown的port和http port 2.修改bin/catalina.sh 在最前面加上 export CATALINA_B ...

  4. 浅入深出Vue:路由

    路由的概念在计算机界中的历史大概可以追溯到OSI模型中的数据链路层与网络层中的定义.这里的定义大意是:在转发数据包时,根据数据包的目的地址进行寻址,从而将数据包发往指定的目的地. 在 Web开发中同样 ...

  5. kd树原理及实现

    常用来作空间划分及近邻搜索,是二叉空间划分树的一个特例.通常,对于维度为k,数据点数为N的数据集,kd树适用于N≫2的k次方的情形. 1维数据的查询 假设在数据库的表格T中存储了学生的语文成绩chin ...

  6. linux命令积累

    lsof -i: //根据端口号查相关信息 //杀进程 ps -ef|grep appName //根据进程名称查找相关信息 grep -r "关键词" 目录 //在制定目录下根据 ...

  7. Django项目的创建和管理

    1.主题 这部分教程主要介绍如何通过Pycharm创建.管理.运行一个Django工程.对于Django模块的相关知识大家可以参考Python社区. 2.准备环境 Django版本为2.0或更高 Py ...

  8. [AI开发]目标跟踪之速度计算

    基于视频结构化的应用中,目标在经过跟踪算法后,会得到一个唯一标识和它对应的运动轨迹,利用这两个数据我们可以做一些后续工作:测速(交通类应用场景).计数(交通类应用场景.安防类应用场景)以及行为检测(交 ...

  9. Django前端HTML通过JS实现表格可编辑,动态添加行,回车完成新建文件夹

    功能描述: 点击“新建文件夹”按钮,在table的末尾增加一行:单击页面的新增行,使单元格td变成可编辑状态:输入内容后,当单元格失去焦点时,保存输入的内容:回车后通过AJAX提交后台完成新建文件夹. ...

  10. Linux命令学习-cp命令

    Linux中,cp命令的全称是copy,主要作用是复制文件或文件夹,类似于Windows下的复制功能. 假设当前处于wintest用户的主目录,路径为 /home/wintest ,存在文件夹test ...