MHuiG

「看庭前花开花落,望天上云卷云舒」

StandAlone

# 大数据处理技术 - apache hadoop 三种架构介绍（StandAlone)

hadoop 文档: http://hadoop.apache.org/docs/

## StandAlone 环境搭建

运行服务 | 服务器 IP
--- | ---
NameNode | 192.168.52.100
SecondaryNameNode | 192.168.52.100
DataNode | 192.168.52.100
ResourceManager | 192.168.52.100
NodeManager | 192.168.52.100

## 第一步：下载 apache hadoop 并上传到服务器

下载链接：

http://archive.apache.org/dist/hadoop/common/hadoop-2.7.5/hadoop2.7.5.tar.gz

解压命令

    cd /export/softwares
    tar -zxvf hadoop-2.7.5.tar.gz -C ../servers/

hadoop 安装包结构
hadoop-2.7.5/bin: 一些 shell 脚本，供我们使用
hadoop-2.7.5/sbin: 一些 shell 脚本，供我们使用
hadoop-2.7.5/etc/hadoop: 所有的配置文件的路径
hadoop-2.7.5/lib/native: 本地的 C 程序库

hadoop 六个核心配置文件的作用
core-site.xml：核心配置文件，主要定义了我们文件访问的格式 hdfs://
hadoop-env.sh：主要配置我们的 java 路径
hdfs-site.xml：主要定义配置我们的 hdfs 的相关配置
mapred-site.xml 主要定义我们的 mapreduce 相关的一些配置
slaves：控制我们的从节点在哪里 datanode nodemanager 在哪些机器上
yarn-site.xml：配置我们的 resourcemanager 资源调度

## 第二步：修改配置文件

打开 notepad++

### 修改 core-site.xml

第一台机器执行以下命令

    cd /export/servers/hadoop-2.7.5/etc/hadoop
    vim core-site.xml

http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.14.0/

定义文件系统的实现 file:/// 本地文件系统 hdfs:// 分布式文件系统

core-site.xml

    <configuration>
      <property>
        <name>fs.default.name</name>
        <value>hdfs://192.168.52.100:8020</value>
      </property>
      <property>
        <name>hadoop.tmp.dir</name>
        <value>/export/servers/hadoop2.7.5/hadoopDatas/tempDatas</value>
      </property>
      <!-- 缓冲区大小，实际工作中根据服务器性能动态调整 -->
      <property>
        <name>io.file.buffer.size</name>
        <value>4096</value>
      </property>
      <!-- 开启 hdfs 的垃圾桶机制，删除掉的数据可以从垃圾桶中回收，单位分钟 -->
      <property>
        <name>fs.trash.interval</name>
        <value>10080</value>
      </property>
    </configuration>

### 修改 hdfs-site.xml

第一台机器执行以下命令

    cd /export/servers/hadoop-2.7.5/etc/hadoop
    vim hdfs-site.xml

hdfs-site.xml

    <configuration>
      <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node01:50090</value>
      </property>
      <property>
        <name>dfs.namenode.http-address</name>
        <value>node01:50070</value>
      </property>
      <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///export/servers/hadoop2.7.5/hadoopDatas/namenodeDatas,file:///export/servers/hadoop2.7.5/hadoopDatas/namenodeDatas2</value>
      </property>
      <!-- 定义 dataNode 数据存储的节点位置，实际工作中，一般先确定磁盘的挂载目录，然后多个目录用，进行分割 -->
      <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///export/servers/hadoop2.7.5/hadoopDatas/datanodeDatas,file:///export/servers/hadoop2.7.5/hadoopDatas/datanodeDatas2</value>
      </property>
      <property>
        <name>dfs.namenode.edits.dir</name>
        <value>file:///export/servers/hadoop2.7.5/hadoopDatas/nn/edits</value>
      </property>
      <property>
        <name>dfs.namenode.checkpoint.dir</name>
        <value>file:///export/servers/hadoop2.7.5/hadoopDatas/snn/name</value>
      </property>
      <property>
        <name>dfs.namenode.checkpoint.edits.dir</name>
        <value>file:///export/servers/hadoop2.7.5/hadoopDatas/dfs/snn/edits</value>
      </property>
      <property>
        <name>dfs.replication</name>
        <value>3</value>
      </property>
      <property>
        <name>dfs.permissions</name>
        <value>false</value>
      </property>
      <property>
        <name>dfs.blocksize</name>
        <value>134217728</value>
      </property>
    </configuration>

### 修改 hadoop-env.sh

第一台机器执行以下命令

    cd /export/servers/hadoop-2.7.5/etc/hadoop
    vim hadoop-env.sh

hadoop-env.sh

    export JAVA_HOME=/export/servers/jdk1.8.0_141

### 修改 mapred-site.xml

第一台机器执行以下命令

    cd /export/servers/hadoop-2.7.5/etc/hadoop
    vim mapred-site.xml

mapred-site.xml

    <configuration>
      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
      <property>
        <name>mapreduce.job.ubertask.enable</name>
        <value>true</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.address</name>
        <value>node01:10020</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>node01:19888</value>
      </property>
    </configuration>

### 修改 yarn-site.xml

第一台机器执行以下命令

    cd /export/servers/hadoop-2.7.5/etc/hadoop
    vim yarn-site.xml

yarn-site.xml

    <configuration>
      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node01</value>
      </property>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
      <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
      </property>
      <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
      </property>
    </configuration>

### 修改 mapred-env.sh

第一台机器执行以下命令

    cd /export/servers/hadoop-2.7.5/etc/hadoop
    vim mapred-env.sh

mapred-env.sh

    export JAVA_HOME=/export/servers/jdk1.8.0_141

### 修改 slaves

第一台机器执行以下命令

    cd /export/servers/hadoop-2.7.5/etc/hadoop
    vim slaves

slaves

    localhost

## 第三步：启动集群

要启动 Hadoop 集群，需要启动 HDFS 和 YARN 两个模块。
注意： 首次启动 HDFS 时，必须对其进行格式化操作。 本质上是一些清理和准备工作，因为此时的 HDFS 在物理上还是不存在的。

    cd /export/servers/hadoop-2.7.5/bin
    hdfs namenode -format

启动命令：
创建数据存放文件夹
第一台机器执行以下命令

    cd /export/servers/hadoop-2.7.5
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/tempDatas
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/nn/edits
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/snn/name
    mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits

准备启动
第一台机器执行以下命令

    cd /export/servers/hadoop-2.7.5/
    sbin/start-dfs.sh

    sbin/start-yarn.sh

    sbin/mr-jobhistory-daemon.sh start historyserver

三个端口查看界面

http://192.168.52.100:50070/explorer.html#/ 查看 hdfs 绿色的！

http://192.168.52.100:8088/cluster 查看 yarn 集群

http://192.168.52.100:19888/jobhistory 查看历史完成的任务

大数据处理技术-hadoop的架构模型（1.x，2.x的各种架构模型介绍）

架构模型 大数据处理技术 - hadoop 的架构模型（1.x，2.x 的各种架构模型介绍） 1.x 的版本架构模型 文件系统核心模块NameNode：集群当中的主节点，主要用于管理集群...

大数据处理技术-apache hadoop三种架构介绍(伪分布介绍以及安装)

伪分布式 大数据处理技术 - apache hadoop 三种架构介绍 (伪分布介绍以及安装) 伪分布式环境搭建（适用于学习测试开发集群模式） 服务规划 服务器 IP 192.168...

推荐阅读
大数据处理技术-apache hadoop三种架构介绍(高可用分布式环境介绍以及安装) 大数据处理技术-CDH 伪分布式环境搭建 大数据处理技术-apache hadoop三种架构介绍(伪分布介绍以及安装) Spark环境部署（Ubuntu20.04） Hive安装部署 大数据处理技术-HDFS 的架构

留言区

Notes
Hadoop
本文目录
Are You A Robot?