久等了,近期公司比较忙,学习的时间都没有啊,到今日才有时间呢!!!好了,下面就跟着笔者开始配置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. 20 如何通过pycharm快速的创建一个html页面

    1.打开pycharm并且新建一个html页面,如下图所示. 2.删除html页面中默认的内容,之后在页面中输入!,之后点击tab即可完成一个html页面的框架新增.

  2. 【Mysql】重启: mysql.service: Service hold-off time over, scheduling restart.

    参考链接:http://sharong.iteye.com/blog/2262760 重启mysql服务器 (/etc/init.d/mysql stop  /etc/init.d/mysql sta ...

  3. 【设计模式】行为型06命令模式(Command Pattern)

    命令模式 个人理解:命令模式,本质上是一种多层次的封装. 好处:降低耦合,扩展极其方便. 以下一段文案摘抄自:http://www.runoob.com/design-pattern/command- ...

  4. 2018.9.26 2018NOIP冲刺之栈

    最小字典序(stack) 输入序列中有 n 个正整数,栈 S 开始为空. 你每次只可以进行下面两种操作之一:① 将输入序列头端的数据移至 S 栈顶(进 S 栈): ②  将 S 栈顶元素输出并删除(退 ...

  5. Python之matplotlib库学习:实现数据可视化

    1. 安装和文档 pip install matplotlib 官方文档 为了方便显示图像,还使用了ipython qtconsole方便显示.具体怎么弄网上搜一下就很多教程了. pyplot模块是提 ...

  6. SpringBoot使用Docker快速部署项目

    1.简介 建议阅读本文最好对Dokcer有一些了解 首先我们先了解一下Docker是什么 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它是目前最流行的 Linux 容器 ...

  7. redis 文件事件模型

    参考文献: 深入剖析 redis 事件驱动 Redis 中的事件循环 深入了解epoll (转) Redis自己的事件模型 ae EPOLL(7) Linux IO模式及 select.poll.ep ...

  8. 无法启动iis express web服务器解决

    VS2013 .VS2015 .VS2017调试出现无法启动iis express web服务器 最近自己老是遇到这个问题,天天如此,烦死人,网上答案繁多,但是都解决不了,也是由于各种环境不同导致的, ...

  9. Nginx Location匹配顺序

    理论部分 文字释义匹配规则如下: 略述: 1.nginx服务器首先在server块的多个location块中搜索是否有标准的uri和请求字符串匹配.如果有多个标准uri可以匹配,就匹配其中匹配度最高的 ...

  10. .Net Core 学习依赖注入自定义Service

    1. 定义一个服务,包含一个方法 public class TextService { public string Print(string m) { return m; } } 2. 写一个扩展方法 ...