Hadoop Centos7 单机部署

1 Hadoop: 设置单个节点集群

1.1 先决条件

1.1.1 支持的平台

Hadoop 支持GNU/Linux平台.和Windows 平台.

1.1.2 软件基础环境

1.1.3 安装软件

yum install ssh

1.1.4 下载软件

下载需要的版本,具体链接hadoopdown

1.2 准备启动hadoop 集群

解压下载的hadoop 软件.在发布软件编辑软件中 etc/hadoop/hadoop-env.sh 定义参数.

 # set to the root of your Java installation
  export JAVA_HOME=/usr/java/latest

1.3 测试

$ bin/hadoop

将会显示hadoop 的使用文档.
启动方式有三种:
- 本地模式(Local (Standalone) Mode )

1.4 本地模式操作

默认情况下,Hadoop 被配置为作为单 Java 进程以非分布式模式运行.对于调试非常有用.
以下示例将conf 目录下的所有文件作为输入,然后查找并显示给定正则表达式的匹配项.输出将会输出到指定的输出目录.

  $ mkdir input
  $ cp etc/hadoop/*.xml input
  $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output 'dfs[a-z.]+'
  $ cat output/*

1.5 伪分布模式

Hadoop 可以在单节点删以伪分布模式运行,每个Hadoop 守护进程运行在单独的java 进程中.

1.5.1 配置

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.10.170:9000</value>
    </property>
</configuration>
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

1.5.2 设置ssh 免密登录

可以检查你的ssh 主机有没有密码:

$ ssh hadoop

设置免密登录

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

1.6 执行

下面说明了在本地运行MapReduce 作业.

  1. 格式化文件系统
$ bin/hdfs namenode -format
  1. 启动namenode 和dataone 进程
$ sbin/start-dfs.sh
  1. 浏览namenode 站点
NameNode - http://localhost:9870/
  1. 创建HDFS 目录执行MapReduce 作业
$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>
  1. 将输入文件复制到分布式文件系统
$ bin/hdfs dfs -mkdir input
$ bin/hdfs dfs -put etc/hadoop/*.xml input

2 YARN 单点守护配置

下面说明为示例,1-4 步骤。

配置以下参数:

etc/hadoop/mapred-site.xml:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.application.classpath</name>
        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
</configuration>

etc/hadoop/yarn-site.xml:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

启动资源管理器和节点管理器守护进程。

$ sbin/start-yarn.sh

使用web 浏览器 , 访问资源管理器页面。

ResourceManager - http://localhost:8088/

运行MapReduce 。

验证完毕后关闭yarn 程序。

$ sbin/stop-yarn.sh