いくつかの例を説明するために、対応するローカルモード、疑似分散モードとフル分散モード:実行hadoop2.7

vimのについてはsudo apt-getをvimのインストールインストールを使用して

VI頻繁に使用されていない、間違っている、それは使用のvimに推奨されて行きます

まず、ローカルモード===「公式ケースケースのGrepを説明しました

  1. 入力ファイルのHadoop-2.7.7以下のフォルダを作成します。

    mkdir /opt/software/hadoop-2.7.7/input
  2. 入力にHadoopの設定ファイルをコピーします。

    cp  /opt/software/hadoop-2.7.7/etc/hadoop/*.xml  /opt/software/hadoop-2.7.7/input

    CPファイルのコピー先のファイルパス:formatコマンドを説明します

  3. ケースgrepは行わ:
    構文:Hadoopので被覆された実行コマンドジャー ジャーパッケージパス ジャー内WORDCOUNTケースファイルを計算する(入力)   出力(出力)  正規フィルタ

    hadoop jar /opt/software/hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar grep input output 'd[a-z.]+'

    コマンド機能:計算の入力の数は、文書dの先頭に表示されます 

    *出力が作成できないことに注意してください
    、それ以外の場合は例外ファイルがすでに存在しているスローされます

    org.apache.hadoop.mapred.FileAlreadyExistsExceptionを出力ファイルディレクトリ:/opt/software/hadoop-2.7.7/outputはすでに存在してい
        org.apache.hadoop.mapreduce AT。 lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:146)

  4. 結果を参照してください、
    それらのファイルの出力での初見 

     ls -al /opt/software/hadoop-2.7.7/output

    このような出力ファイルの猫を見て、

    cat /opt/software/hadoop-2.7.7/output/part-r-00000

二、語数ケース===「の単語の数を数えます

  1. フォルダを作成する最初のステップ
    ます。mkdir /opt/software/hadoop-2.7.7/wcinputを
  2. コンテンツの一部を作成したフォルダにWc.inputファイルは、ファイルに書き込まれている
     フォルダに
    cd /opt/software/hadoop-2.7.7/wcinput
    ファイルを作成します。
     touch /opt/software/hadoop-2.7.7/wcinput/wc.input

     ファイルへの書き込みデータ
    vim /opt/software/hadoop-2.7.7/wcinput/wc.input
    たとえば、書き込み:
    ファイルの内容wc.input
    hadoop yarn
    hadoop mapreduce
    abcdabc
    admin a
  3. コマンド形式の実行
    出力パスが事前に存在しないことを*注意を!
        HadoopのジャーのHadoopのMapReduce - -例- 2.7.7.jar語数計算ファイル名出力ファイル
    :コマンド説明Hadoopのコマンドを実行ジャーパッケージを JARパッケージパスの ジャー内語数の例を計算するために、ファイル出力を
    hadoop jar /opt/software/hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount wcinput wcoutput
  4. 第四段階、猫猫/opt/software/hadoop-2.7.7/wcoutput/part-r-00000結果の表示

第三に、起動して実行するための疑似分散モードのMapReduce、HDFS

*注 疑似分散モードを有効にする、ローカルモードを使用することはできません!
         
その理由は、ネイティブモードのプロトコル・ファイルを使用して、擬似分布パターンHDFSプロトコルを使用することです。

擬似分布モデルを構築クラスタアプローチ、実際に完全に分散モードに基づいています。エンド構成は、コンピュータに何台以上のコンピュータ・プログラマ適用されません

cd /opt/software/hadoop-2.7.7/etc/hadoop

最初のステップは、環境を構成しました

  1. クラスタ構成
    1.1  構成のhadoop-env.sh のconfigureのHadoopに===> JAVA_HOME環境
    vim  /opt/software/hadoop-2.7.7/etc/hadoop/hadoop-env.sh
    あなたは、さらにウィンドウを開き、その後、得られたエコー$ JAVA_HOME位置JDKを入力することができ
                  
    /opt/software/jdk1.8.0_211/  #不要看到就复制粘贴,看上面的讲解!这个路径是通过上面查询到JAVA_HOME的值

     
    1.2 配置core-site.xml

     vim  /opt/software/hadoop-2.7.7/etc/hadoop/core-site.xml

    <設定> </ configuration>タグの追加

    <!-- 指定HDFS中NameNode的地址 -->
    <property>
    <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value><!--按集群搭建时需要改成相应的域名-->
    </property>
    
    <!-- 指定Hadoop运行时产生文件的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/software/hadoop-2.7.7/data/tmp</value>
    </property>


    ==============================================
    1.3、設定HDFS -site.xml

    vim /opt/software/hadoop-2.7.7/etc/hadoop/hdfs-site.xml

    構成に配置されたタグ上記のように

    <!-- 指定HDFS副本的数量 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>

=============================================

ステップ2:スタートクラスタ


 1、フォーマットの名前ノード(注:最初のフォーマット開始、あなたは常にフォーマットされていないので!

これを表示するためにフォーマットされていないhttps://blog.csdn.net/qq_41813208/article/details/100753659

hdfs namenode -format

 2、名前ノードを開始

/opt/software/hadoop-2.7.7/sbin/hadoop-daemon.sh start namenode

 3、データノードを開始

/opt/software/hadoop-2.7.7/sbin/hadoop-daemon.sh start datanode


ステップ3:クラスタをチェック


JPSを入力します。

得られた結果は以下の通りであった、と説明名前ノードデータノードの正常!

注:JDKコマンドでJPSはなく、Linuxコマンド。JPSを使用することはできませんJDKをインストールしないでください


仮想マシン内で 50070ポート:サーバーのIPアドレスを入力して、ブラウザであります

http://localhost:50070

実際のホストは、通常、以下、同じにアクセスするために50070:仮想マシンのIP、入力します。

 

あなたがアクセス不能が発生した場合:チェックファイアウォールがオフになっていません

centos6关闭防火墙:
================
 service iptables status
chkconfig iptables off
//永久关闭防火墙
service iptables stop     //临时关闭防火墙
service iptables status

ccentos7关闭防火墙:
=============
systemctl status firewalld  //查看状态
systemctl stop firewalld  //关闭防火墙
 
systemctl start firewalld      //启动防火墙
systemctl disable firewalld    //开机禁用防火墙
systemctl enable firewalld     //开机启动防火墙

 

ステップ4:クラスタを操作します

  1. ディレクトリを作成し
    /opt/module/hadoop-2.7.7の下で次のコマンドを実行

    hdfs dfs -mkdir -p /home/hadoop/user/atgnnu/input


    ここで注意してください!任意のプロンプトを表示せずに作成すると、ディレクトリは、実際のマシン上に存在しません!
    作成したら、以下の見ることができます


     

  2. テストは、ファイルシステム上のファイル

    のホームexamples.desktopにファイルをアップロードします

    hdfs dfs -put  examples.desktop  /home

    注意命令格式 
             hdfs dfs -put  想要上传的文件  上传到对应的目录(该目录必须要用上面的命令创建,原因是目录必须有hadoop已经管理的) 成功点击上面红框查看到根目录下的home文件夹,点进去后可以查看到子目录


    所以 你可以随便找个文件替换上面的examples.desktop文件
    上传成功的可以在浏览器上找到上传的文件,以及可以下载下来查看文件


    Block Size表示 存放文件的最小单位,一块占128MB,可以后面更改,节约空间

命令参数:
-put      上传文件到/user/atguigu/input/下
hdfs dfs -put wcinput/wc.input  /user/atgnnu/input/ 

-ls       查看文件是否正确
hdfs dfs -ls  /user/atgnnu/input/ 

运行mapreduce
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /user/atgnnu/input/ /user/atgnnu/output


-cat       查看输出结果
hdfs dfs -cat /user/atgnnu/output/*

-get      测试文件内容下载到本地
hdfs dfs -get /user/atgnnu/output/part-r-00000 ./wcoutput/


-rm -r    删除输出结果
hdfs dfs -rm -r /user/atgnnu/output

 

伪分布式模式二:YARN方式启动集群

第一步、配置yarn 集群环境

  1.      修改yarn-env.sh
     vim  /opt/software/hadoop-2.7.7/etc/hadoop/yarn-env.sh

    和之前一样配置JAVA_HOME环境变量,环境变量的获取用echo $JAVA_HOME获取jdk的路径

    /opt/software/jdk1.8.0_211/  #不要看到就复制粘贴,看上面的讲解!这个路径是通过上面查询到JAVA_HOME的值

  2.    修改yarn-site.xml
       vim  /opt/software/hadoop-2.7.7/etc/hadoop/yarn-env.sh
        <!-- Reducer获取数据的方式 -->
        <property>
     		<name>yarn.nodemanager.aux-services</name>
     		<value>mapreduce_shuffle</value>
        </property>
    

  3. 修改mapred-env.sh      和前面一样配置JAVA_HOME
    vim  /opt/software/hadoop-2.7.7/etc/hadoop/mapred-env.sh
    /opt/software/jdk1.8.0_211/  #不要看到就复制粘贴,看上面的讲解!这个路径是通过上面查询到JAVA_HOME的值
  4. 修改mapred-site.xml   
    先cp复制一个模板文件并且命名去掉template后缀
    cp /opt/software/hadoop-2.7.7/etc/hadoop/mapred-site.xml.template  /opt/software/hadoop-2.7.7/etc/hadoop/mapred-site.xml
    vim /opt/software/hadoop-2.7.7/etc/hadoop/mapred-site.xml

    复制下面的代码到<confuguration></configuration>标签内 

            <!-- 指定MR运行在YARN上 --> 
            <property>
                    <name>mapreduce.framework.name</name>
                    <value>yarn</value>
            </property> 

     

第二步、启动集群

  1. (用jps查看一下)首先保证namenode 和 datanode启动起来
        如果配置了hadoop环境变量则可以直接输入下面两条命令,没有配置则找前面的完整路径启动
    启动了就不需要运行下面命令:

    hadoop-daemon.sh start namenode;
    hadoop-daemon.sh start datanode
  2. 配置了环境变量则可以简写

    yarn-daemon.sh start resourcemanager;
    yarn-daemon.sh start nodemanager

    绝对路径运行:

    /opt/software/hadoop-2.7.7/sbin/yarn-daemon.sh  start resourcemanager
    /opt/software/hadoop-2.7.7/sbin/yarn-daemon.sh start nodemanager
  3. 操作集群:浏览器输入虚拟机的外网ip:8088得到下面的结果表示正常


  1. 删除文件系统的输出文件(如果不存在则不需要操作!)
      命令行输入,格式如下
    hdfs dfs -rm -R 输出文件的文件位置
  2. 执行MapReduce程序(下面是一条命令)
    命令格式 hadoop jar mapreduce的jar包 输入路径(浏览器可以访问到的)如下图url的  输出路径(不能提前存在)
    hadoop jar /opt/software/hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /home/hadoop/user/atgnnu/input /home/hadoop/user/atgnnu/output

  3. 查看运行结果
    hdfs dfs -cat /home/hadoop/user/atgnnu/output/*

配置历史服务器

  1. 修改mapred-site.xml;
    vim /opt/software/hadoop-2.7.7/etc/hadoop/mapred-site.xml
            <!-- 历史服务器端地址 -->
            <property>
                    <name>mapreduce.jobhistory.address</name>
                    <value>localhost:10020</value>
            </property>
            <!-- 历史服务器web端地址 -->
            <property>
                    <name>mapreduce.jobhistory.webapp.address</name>
                    <value>localhost:19888</value>
            </property>
    


     

     

完全分布式:

https://blog.csdn.net/qq_41813208/article/details/102595725

 

 

发布了242 篇原创文章 · 获赞 13 · 访问量 1万+

おすすめ

転載: blog.csdn.net/qq_41813208/article/details/100706918
おすすめ