Hadoop 环境搭建之(伪)分布式模式

介绍

Hadoop 伪分布式模式是指在一台机器的各个进程上运行 Hadoop 的各个模块, 非真正意义上的分布式(多机器).先配置伪分布式环境, 完成后在此基础上修改为分布式.

  • Hadoop 的四种部署模式
    各模块分别指: NameNode, DataNode, ResourceManager, NodeManager 等
模式名 各模块占用的 JVM 进程数 各模块运行的机器数
本地模式 1个 1个
伪分布式模式 N个 1个
完全分布式及HA完全分布式 N个 N个

配置文件解析

Hadoop 环境搭建之(伪)分布式模式_第1张图片
Hadoop 主要配置文件

配置 Hadoop

在单机模式的基础上增加以下配置

  • 配置 $HADOOP_HOME/etc/hadoop/core-site.xml
 
   
   fs.defaultFS
   hdfs://master:9000       
 
  
     
     hadoop.tmp.dir
     /home/hadoop/data/tmp
  
  • 配置 $HADOOP_HOME/etc/hadoop/hdfs-site.xml

        
    dfs.replication
    1

  • 格式化 HDFS: hdfs namenode -format
    格式化是对 HDFS 这个分布式文件系统中的 DataNode 进行分块, 统计所有分块后的初始元数据存储在 NameNode 中.
    执行后,查看 指定 tmp 目录下是否有了 dfs 目录, 有即成功.

  • 启动 NameNode: hadoop-daemon.sh start namenode

  • 启动 DataNode : hadoop-daemon.sh start datanode
    类似可启动 SecondaryNameNode.

  • jps 查看是否启动成功

  • 创建目录: hdfs dfs -mkdir /demo1

  • 上传文件: hdfs dfs -put file.txt.local /demo1

  • 读取文件: hdfs dfs -cat /demo1/file.txt

  • 下载文件: hdfs dfs -get /demo1/file.txt

配置, 启动 YARN

  • 配置 $HADOOP_HOME/etc/hadoop/mapredp-site.xml

    
    mapreduce.framework.name
    yarn

  • 配置 $HADOOP_HOME/etc/hadoop/yarn-site.xml


    yarn.nodemanager.aux-services
    mapreduce_shuffle



    yarn.resourcemanager.hostname
    master
 
  • 启动 ResourceManager 和 NodeManager
    yarn-daemon.sh start resourcemanager; yarn-daemon.sh start nodemanager
  • 启动后, jps 测试可以看到 5 个进程, 除了 jps.
  • 访问 YARN 的 web 页面: master:8088
  • 开启 历史服务: mr-jobhistory-daemon.sh start historyserver

在上面的基础上配置分布式环境

  • 配置 hdfs-site.xml


    dfs.namenode.secondary.http-address
    slave1:50090

  • 配置 yarn-site.xml

    
    yarn.nodemanager.aux-services
    mapreduce_shuffle
    
    
    yarn.resourcemanager.hostname
    slave1
    
    
    yarn.log-aggregation-enable
    true
    

     
    yarn.nodemanager.aux-services.mapreduce.shuffle.class 
    org.apache.hadoop.mapred.ShuffleHandler 
     
    
    yarn.resourcemanager.scheduler.address 
    master:8030 
     
     
    yarn.resourcemanager.resource-tracker.address 
    master8025
    
     

    yarn.log-aggregation.retain-seconds
    106800
    

  • 配置 slaves( 指定 HDFS 上有哪些 DataNode 节点)
vim $HADOOP_HOME/etc/hadoop/slaves
master
slave1
slave1
:qw

模式切换技巧

使用符号链接 ln -s conf.standalone $HADOOP_HOME/etc/hadoop

参考

https://zhuanlan.zhihu.com/p/25472769

你可能感兴趣的:(Hadoop 环境搭建之(伪)分布式模式)