vimのについてはsudo apt-getをvimのインストールインストールを使用して
VI頻繁に使用されていない、間違っている、それは使用のvimに推奨されて行きます
まず、ローカルモード===「公式ケースケースのGrepを説明しました
入力ファイルのHadoop-2.7.7以下のフォルダを作成します。
mkdir /opt/software/hadoop-2.7.7/input
入力にHadoopの設定ファイルをコピーします。
cp /opt/software/hadoop-2.7.7/etc/hadoop/*.xml /opt/software/hadoop-2.7.7/input
CPファイルのコピー先のファイルパス:formatコマンドを説明します
ケース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)結果を参照してください、
それらのファイルの出力での初見ls -al /opt/software/hadoop-2.7.7/output
このような出力ファイルの猫を見て、
cat /opt/software/hadoop-2.7.7/output/part-r-00000
二、語数ケース===「の単語の数を数えます
- フォルダを作成する最初のステップ
ます。mkdir /opt/software/hadoop-2.7.7/wcinputを- コンテンツの一部を作成したフォルダに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.inputhadoop yarn hadoop mapreduce abcdabc admin a
- コマンド形式の実行
出力パスが事前に存在しないことを*注意を!!!
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
- 第四段階、猫猫/opt/software/hadoop-2.7.7/wcoutput/part-r-00000結果の表示
第三に、起動して実行するための疑似分散モードのMapReduce、HDFS
*注 疑似分散モードを有効にする、ローカルモードを使用することはできません!!
その理由は、ネイティブモードのプロトコル・ファイルを使用して、擬似分布パターンHDFSプロトコルを使用することです。擬似分布モデルを構築クラスタアプローチ、実際に完全に分散モードに基づいています。エンド構成は、コンピュータに何台以上のコンピュータ・プログラマ適用されません
cd /opt/software/hadoop-2.7.7/etc/hadoop
最初のステップは、環境を構成しました
- クラスタ構成
1.1 構成のhadoop-env.sh のconfigureのHadoopに===> JAVA_HOME環境あなたは、さらにウィンドウを開き、その後、得られたエコー$ JAVA_HOME位置JDKを入力することができvim /opt/software/hadoop-2.7.7/etc/hadoop/hadoop-env.sh
/opt/software/jdk1.8.0_211/ #不要看到就复制粘贴,看上面的讲解!这个路径是通过上面查询到JAVA_HOME的值
1.2 配置core-site.xmlvim /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.xmlvim /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:クラスタを操作します
ディレクトリを作成し
/opt/module/hadoop-2.7.7の下で次のコマンドを実行hdfs dfs -mkdir -p /home/hadoop/user/atgnnu/input
ここで注意してください!!!任意のプロンプトを表示せずに作成すると、ディレクトリは、実際のマシン上に存在しません!
作成したら、以下の見ることができます
テストは、ファイルシステム上のファイル
のホーム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 集群环境
- 修改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的值
- 修改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>
- 修改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的值
- 修改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>
第二步、启动集群
(用jps查看一下)首先保证namenode 和 datanode启动起来
如果配置了hadoop环境变量则可以直接输入下面两条命令,没有配置则找前面的完整路径启动
启动了就不需要运行下面命令:hadoop-daemon.sh start namenode; hadoop-daemon.sh start datanode
配置了环境变量则可以简写
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
操作集群:浏览器输入虚拟机的外网ip:8088得到下面的结果表示正常
- 删除文件系统的输出文件(如果不存在则不需要操作!)
命令行输入,格式如下hdfs dfs -rm -R 输出文件的文件位置
- 执行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
- 查看运行结果
hdfs dfs -cat /home/hadoop/user/atgnnu/output/*配置历史服务器
- 修改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>
完全分布式: