独立模式

没有运行的守护程序,所有程序运行在一个JVM中。适合开发期间运行MapReduce程序,源于他的易于测试和调试

  • Nothing!(不用配置)
  • local FileSystem和local MR job runner

伪分布式

Hadoop的三种模式可以共存,使用环境变量HADOOP_CONF_DIR指定,或使用--config命令指定,--config需要每次指定,否则使用默认配置

守护程序运行在本地主机,模拟一个小规模集群

  • core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost/</value>
    </property>
</configuration>

localhost为hostname,并在hosts中配置127.0.0.1

  • hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>
  • mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  • yarn-site.xml
<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

守护进程需要免密码SSH,Hadoop不区分为分布式和完全分布式,Hadoop根据slave文件在一系列主机上启动守护进程

  • 格式化文件系统

    hdfs namenode -formate

  • 使用指定的配置文件启动

    start-dfs.sh --config $HADOOP_INSTALL/etc/hadoop_pseudo

    start-yarn.sh --config $HADOOP_INSTALL/etc/hadoop_pseudo

  • 查看进程

jps -l 显示详细信息

端口50070

完全分布式

守护程序运行在多个主机的集群上

  • 使用符号链接实现配置分离
#更改伪分布式配置实现分布式
mv hadoop_pseudo hadoop_cluster 
ln -s hadoop_cluster hadoop
  • Ubuntu切换桌面模式和文本模式

    • Ctrl + Alt + F6 文本模式

    • Ctrl + Alt + F7 图形模式

  • 配置主机名和hosts

  • 网络拓扑图

QQ截图20170215095154.png

  • 同伪分布式模式相似

    在配置文件中指定具体的ip地址

    core-site.xml
    hdfs-site.xml
    mapred-site.xml
    yarn-site.xml

  • 格式化

    hadoop namenode -format

  • 启动

    start-all.sh

Windows下安装免Cygwin环境安装伪分布式

下载解压后配置bin和sbin的PATH

配置各种配置文件

hadoop-common-2.7.1-bin.zip解压后复制到hadoop的bin目录,不要覆盖

在控制台hadoop fs -ls /

如果出现windows hadoop 系统找不到指定的路径。 Error: JAVA_HOME is incorrectly set.

是JAVA_HOME的路径存在空格,要使用8.3 文件名,将路径改为C:\Progra~1\Java\jdk1.8.0_xxx这种格式

Hadoop on Windows - “Error JAVA_HOME is incorrectly set.”

Windows 如何从长文件名生成 8.3 文件名

执行hadoop namenode -format格式文件系统

启动服务:start-all.sh

查看文件:hadoop fs -ls /

创建文件夹:hadoop fs -mkdir -p /user/matrix42

显示所有目录:hadoop fs -ld -R /

下面的问题不一定出现
windows下call必须顶格写,前面不能有空格
需要将${hadoop_install}\bin*.cmd文件中的call语句前面的空格删除

运行hadoop会出现很多窗口不方便管理,可以使用Dexport模拟多桌面软件

可以在窗口右键移动窗口到其他桌面