zoukankan      html  css  js  c++  java
  • [转]搭建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
      

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

      sbin/start-dfs.sh
      

      输入图片说明

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

    • 访问NameNode的web管理界面,默认访问地址http://localhost:50070,确认NameNode状态正常 输入图片说明

    • 创建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运行需要HDFS和mapreduce两部分组成,在后面的博客中我们将会详细了解这两部分。

  • 相关阅读:
    自定义Python枚举
    解决Django跨域访问的问题
    BBS项目细节总结
    面向对象进阶
    面向对象
    三级菜单
    常用模块
    内置函数与匿名函数及递归
    迭代器和生成器
    函数
  • 原文地址:https://www.cnblogs.com/wincai/p/9305796.html
Copyright © 2011-2022 走看看