[Hadoop 1] 构建一个单节点集群

目的

能够快速的在一单个节点上构建和配置 Hadoop,使用 MapReduce 和 Hadoop Distributed File System(HDFS)来执行简单的操作。

准备

支持平台

建议使用 GNU/Linux 作为开发和运行平台。

所需软件

Linux 下所需要的软件是:

  1. 必须安装 Java TM ,Hadoop 2.7 及以上版本需要 Java 7。
    • linux下配置 Oracle JDK
  2. 必须安装 ssh,sshd服务必须运行,来使用 Hadoop 脚本来管理远程 Hadoop 服务。同时,也建议安装 pdsh,更好地进行 ssh 资源管理。

下载

Apache 下载镜像 下载最近的稳定发布版。我所下载的是 hadoop-2.9.0.tar.gz

开始 Hadoop 集群前的准备

将 Hadoop 包解压到指定目录下。进入 Hadoop 目录,编辑 etc/hadoop/hadoop-env.sh,定义以下参数:

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

测试以下命令:

$ bin/hadoop

该命令将会显示 hadoop 脚本的使用文档。
接下来便能够选择以下三种模式中的一种来开始 Hadoop 集群:

  • 本地(脱机)模式
  • 假分布模式
  • 全分布模式

脱机模式

Hadoop 默认以非分布模式运行,仅作为单一 Java 进程,这是有利于调试的。

假分布模式

Hadoop 也可以在单一结点上以假分布模式运行,每个 Hadoop服务分别以不同的 Java 进程运行。

配置

使用以下配置:
etc/hadoop/core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

etc/hadoop/hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

建立免密码的 ssh

现在检查是否可以免密码 ssh 到 localhost:

$ ssh localhost

如果不能,则执行以下命令:

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

运行

格式化文件系统:

$ bin/hdfs namenode -format

开启 NameNode 服务和 DataNode服务:

$ sbin/start-dfs.sh

可以通过以下 IP 访问 NameNode 的 Web 接口:

http://localhost:50070

Hadoop网络接口

Shell操作

将本地源文件<localsrc>复制到路径<dst>指定的文件或文件夹中去:
hadoop fs -copyFromLocal <localsrc> <dst>
hdfs dfs -copyFromLocal <localsrc> <dst>

$ bin/hadoop fs -copyFromLocal /home/bob/tmpfile/* hdfs://127.0.0.1:9000/tmpDir/
$ bin/hdfs dfs -copyFromLocal /home/bob/tmpfile/* /tmpDir/

创建<path>指定的文件夹:
hadoop fs -mkdir <path>
hdfs dfs -mkdir <path>

$ bin/hadoop fs -mkdir hdfs://127.0.0.1:9000/tmpDir
$ bin/hdfs dfs -mkdir /tmpDir

显示<path>指定目录的清单:
hadoop fs -ls <path>
hdfs dfs -ls <path>

$ bin/hadoop fs -ls hdfs://127.0.0.1:9000/
$ bin/hdfs dfs -ls /

参考资料

[1] http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html#Standalone_Operation

猜你喜欢

转载自blog.csdn.net/buildcourage/article/details/78926020