[转]搭建Hadoop伪分布式环境

时间:2023-03-09 06:51:43
[转]搭建Hadoop伪分布式环境

https://my.oschina.net/MyHeaven1987/blog/1821509

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation

hadoop下载

Hadoop官方下载地址: Hadoop下载地址,目前最新的稳定版本为2.9.1。

hadoop配置

  • java安装路径指定,在hadoop解压路径下,修改etc/hadoop/hadoop-env.sh脚本指定JAVA安装主路径

    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
  • hdfs配置

    • 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免密码登录

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

hadoop伪分布式运行

本地运行MapReduce任务指导

  • 通过hadoop脚本格式化hdfs文件系统

    bin/hdfs namenode -format

    [转]搭建Hadoop伪分布式环境

  • 启动NameNode守护进程和DataNode守护进程

    sbin/start-dfs.sh

    [转]搭建Hadoop伪分布式环境

    从运行结果图来看这个脚本启动了NameNode,备NameNode和DataNode。

  • 访问NameNode的web管理界面,默认访问地址http://localhost:50070,确认NameNode状态正常 [转]搭建Hadoop伪分布式环境

  • 创建hdfs路径用于运行MapReduce任务,<username>需要替换为当前用户名,mkdir创建目录需要逐级创建。

    bin/hdfs dfs -mkdir /user
    bin/hdfs dfs -mkdir /user/<username>
  • 拷贝本地文件到分布式文件系统中

    bin/hdfs dfs -put etc/hadoop input
  • 运行hadoop官方提供的示例程序

    bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.1.jar grep input output 'dfs[a-z.]+'
  • 获取分布式文件运行的输出文件到本地

    bin/hdfs dfs -get output output
    cat output/*

    [转]搭建Hadoop伪分布式环境

总结

通过伪分布式启动Hadoop,可以看到hadoop运行需要HDFS和mapreduce两部分组成,在后面的博客中我们将会详细了解这两部分。