马士兵 day4_Yarn和Map/Reduce配置启动和原理讲解

day4_Yarn和Map/Reduce配置启动和原理讲解

云计算:分布式计算,分布在多台机器上同时运行的运算。

  • 分布式计算原则:移动计算,而不是移动数据

hadoop默认包含了hdfs、yarn、mapReduce三个组件

  • yarn(Yet Another Resource Negotiater)是资源调度系统,yarn调配的是内存和cpu,不参入计算。
  • map/reduce是计算引擎

配置vim /usr/local/hadoop/etc/hadoop/mapred-site.xml,指明mapreduce在那个框架上跑

  • 只需namenode上配置
  • 默认情况下,/usr/local/hadoop/etc/hadoop/文件夹下只有mapred-site.xml.template文件,我们要复制该文件,并命名为mapred-site.xml
  • cp mapred-site.xml.template mapred-site.xml
# 添加如下内容

    mapreduce.framework.name
    yarn
  

配置yarn:vim /usr/local/hadoop/etc/hadoop/yarn-site.xml

  • resourceManager和dataManager都需要配置

 
    yarn.resourcemanager.hostname
    master
 
 
   
    yarn.nodemanager.aux-services  
    mapreduce_shuffle  
   
 
 
    yarn.nodemanager.auxservices.mapreduce.shuffle.class
    org.apache.hadoop.mapred.ShuffleHandler
   

启动yarn:start-yarn.sh

  • yarn与hdfs在逻辑上分离,各自启动各自的

  • 已经配置过slaves文件

  • jps查看

  • 可以使用yarn-daemon.sh单独启动ResourceManager和NodeManager

  • yarn网页访问在:http:192.168.56.100:8088

运行一个map/reduce示例程序

  • 启动hdfs:start-dfs.sh
  • 上传一个文件到hdfs的/input目录上
hadoop fs -mkdir /input
hadoop fs -put ./input.txt /input
  • input.txt内容如下
hello java
hello java
hello c
hello c++
hello python
  • 查找示例程序文件:find /usr/local/hadoop -name *example*.jar
    • 找到该jar包/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
  • 运行示例程序:hadoop jar xxx.jar wordcount /input/input.txt /output
    • hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input/input.txt /output
  • 查看输出内容:hadoop fs -text /output/part-r-00000
  • 通过网页来观察job的运行情况

经验:yarn-site如果是集中启动的,其实只需要在管理机上配置一份即可,但如果是单独启动,需要每台机器一份,在网页上可以看到当前机器的配置,已经这个配置的来源。

你可能感兴趣的:(马士兵 day4_Yarn和Map/Reduce配置启动和原理讲解)