JDKのインストール
設定したホスト名
[root@bigdata111 ~]# vi /etc/hostname
設定するマシンホスト
[root@bigdata111 ~]# vi /etc/hosts
192.168.1.111 bigdata111
192.168.1.112 bigdata112
192.168.1.113 bigdata113
ディレクトリJDKを作成します。
[root@bigdata111 /]# cd /opt
[root@bigdata111 opt]# ll
总用量 0
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
[root@bigdata111 opt]# mkdir module
[root@bigdata111 opt]# mkdir soft
[root@bigdata111 opt]# ls
module rh soft
JDKパッケージをアップロード
WinSCPのツールを開き、は/ opt /ソフトフォルダにLinuxのツールによって、JavaのJDKのWinSCPのアップロード
[root@bigdata111 opt]# cd soft
[root@bigdata111 soft]# ls
jdk-8u144-linux-x64.tar.gz
解凍JDK
モジュールのJDKフォルダにファイルを解凍し、次のように、コマンドは次のとおりです。
[root@bigdata111 opt]# cd soft
[root@bigdata111 opt]# tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
[root@bigdata111 soft]# cd /opt/module
[root@bigdata111 module]# ls
jdk1.8.0_144
環境変数の設定JDK
[root@bigdata111 module]# vi /etc/profile
、ファイルの末尾にJDKの環境変数を追加し、保存して終了:
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
環境変数を更新
[root@bigdata111 module]# source /etc/profile
インストールが成功したJDKであるかどうかをチェックします
[root@bigdata111 module]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
ローカルモードを構築するためのHadoop
ローカルモードは、スタンドアロンインストールHadoopのです。
インストールのHadoop
Hadoopのパッケージをアップロード
WinSCPのは/ opt /ソフト/フォルダによって次のアップロードへのHadoopパッケージ
[root@bigdata111 soft]# ls
hadoop-2.8.4.tar.gz jdk-8u144-linux-x64.tar.gz
解凍のHadoop
Hadoopのは、/ opt /モジュール/下を抽出します
[root@bigdata111 module]# tar -zvxf hadoop-2.8.4.tar.gz -C /opt/module/
[root@bigdata111 soft]# cd /opt/module/
[root@bigdata111 module]# ls
hadoop-2.8.4 jdk1.8.0_144
Hadoopの環境変数の設定
[root@bigdata111 module]# vi /etc/profile
、最後に次の設定を追加し、保存して終了:
export HADOOP_HOME=/opt/module/hadoop-2.8.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
プロフィールを更新
[root@bigdata111 module]# source /etc/profile
インストールが成功したHadoopのかどうかを確認します
[root@bigdata111 module]# hadoop
Usage: hadoop [--config confdir] [COMMAND | CLASSNAME]
CLASSNAME run the class named CLASSNAME
or
where COMMAND is one of:
fs run a generic filesystem user client
version print the version
jar <jar> run a jar file
note: please use "yarn jar" to launch
YARN applications, not this command.
checknative [-a|-h] check native hadoop and compression libraries availability
distcp <srcurl> <desturl> copy file or directories recursively
archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive
classpath prints the class path needed to get the
Hadoop jar and the required libraries
credential interact with credential providers
daemonlog get/set the log level for each daemon
trace view and modify Hadoop tracing settings
Most commands print help when invoked w/o parameters.
テストのHadoopの例
テストファイルを作成します
新しいモジュールディレクトリtestdocファイルで、テキストを入力します。
[root@bigdata111 module]# cd /opt/module
[root@bigdata111 module]# touch testdoc
[root@bigdata111 module]# vi testdoc
[root@bigdata111 module]# cat testdoc
this is a test page!
chinese is the best country
this is a ceshi page!
i love china
listen to the music
and son on
ジャーパッケージディレクトリを切り替えます
ジャーHadoopのディレクトリに実行を切り替えます:
[root@bigdata111 module]# cd /opt/module/hadoop-2.8.4/share/hadoop/mapreduce/
[root@bigdata111 mapreduce]# ls
hadoop-mapreduce-client-app-2.8.4.jar hadoop-mapreduce-client-core-2.8.4.jar hadoop-mapreduce-client-hs-plugins-2.8.4.jar hadoop-mapreduce-client-jobclient-2.8.4-tests.jar hadoop-mapreduce-examples-2.8.4.jar lib sources
hadoop-mapreduce-client-common-2.8.4.jar hadoop-mapreduce-client-hs-2.8.4.jar hadoop-mapreduce-client-jobclient-2.8.4.jar hadoop-mapreduce-client-shuffle-2.8.4.jar jdiff lib-examples
WORDCOUNTプログラムの実行
[root@bigdata111 mapreduce]# hadoop jar hadoop-mapreduce-examples-2.8.4.jar wordcount /opt/module/testdoc /opt/module/out
[root@bigdata111 mapreduce]# ls /opt/module/out
part-r-00000 _SUCCESS
[root@bigdata111 mapreduce]# cat /opt/module/out/part-r-00000
a 2
and 1
best 1
ceshi 1
china 1
chinese 1
country 1
i 1
is 3
listen 1
love 1
music 1
on 1
page! 2
son 1
test 1
the 2
this 2
to 1
疑似分散型のHadoopの構築
擬似分散は、単一のマシン上に配置された操作が分配されます。
Hadoopの実行可能ファイルを見ます
[root@bigdata111 mapreduce]# cd /opt/module/hadoop-2.8.4/
[root@bigdata111 hadoop-2.8.4]# ls
bin etc include lib libexec LICENSE.txt NOTICE.txt README.txt sbin share
[root@bigdata111 hadoop-2.8.4]# cd bin
[root@bigdata111 bin]# ls
container-executor hadoop hadoop.cmd hdfs hdfs.cmd mapred mapred.cmd rcc test-container-executor yarn yarn.cmd
[root@bigdata111 bin]# cd ..
[root@bigdata111 hadoop-2.8.4]# cd sbin
[root@bigdata111 sbin]# ls
distribute-exclude.sh hadoop-daemons.sh hdfs-config.sh kms.sh refresh-namenodes.sh start-all.cmd start-balancer.sh start-dfs.sh start-yarn.cmd stop-all.cmd stop-balancer.sh stop-dfs.sh stop-yarn.cmd yarn-daemon.sh
hadoop-daemon.sh hdfs-config.cmd httpfs.sh mr-jobhistory-daemon.sh slaves.sh start-all.sh start-dfs.cmd start-secure-dns.sh start-yarn.sh stop-all.sh stop-dfs.cmd stop-secure-dns.sh stop-yarn.sh yarn-daemons.sh
プロファイルディレクトリを切り替えます
Hadoopのディレクトリに/opt/module/hadoop-2.8.4/etc/hadoop/設定します。
[root@bigdata111 hadoop]# cd /opt/module/hadoop-2.8.4/etc/hadoop/
[root@bigdata111 hadoop]# ls
capacity-scheduler.xml core-site.xml hadoop-metrics2.properties hdfs-site.xml httpfs-signature.secret kms-env.sh log4j.properties mapred-queues.xml.template ssl-client.xml.example yarn-env.sh
configuration.xsl hadoop-env.cmd hadoop-metrics.properties httpfs-env.sh httpfs-site.xml kms-log4j.properties mapred-env.cmd mapred-site.xml.template ssl-server.xml.example yarn-site.xml
container-executor.cfg hadoop-env.sh hadoop-policy.xml httpfs-log4j.properties kms-acls.xml kms-site.xml mapred-env.sh slaves yarn-env.cmd
配置core-site.xml
[root@bigdata111 hadoop]# vi core-site.xml
<configuration>
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata111:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.8.4/data/tmp</value>
</property>
</configuration>
設定HDFS-site.xmlの
[root@bigdata111 hadoop]# vi hdfs-site.xml
<configuration>
<!--数据冗余数-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
糸-site.xmlの設定
[root@bigdata111 hadoop]# vi yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata111</value>
</property>
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天(秒) -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
mapred-site.xmlの設定
mapred-site.xmlのようmapred-site.xml.templateの名前を変更し、構成内容
[root@bigdata111 hadoop]# mv mapred-site.xml.template mapred-site.xml
[root@bigdata111 hadoop]# ls
capacity-scheduler.xml core-site.xml hadoop-metrics2.properties hdfs-site.xml httpfs-signature.secret kms-env.sh log4j.properties mapred-queues.xml.template ssl-client.xml.example yarn-env.sh
configuration.xsl hadoop-env.cmd hadoop-metrics.properties httpfs-env.sh httpfs-site.xml kms-log4j.properties mapred-env.cmd mapred-site.xml ssl-server.xml.example yarn-site.xml
container-executor.cfg hadoop-env.sh hadoop-policy.xml httpfs-log4j.properties kms-acls.xml kms-site.xml mapred-env.sh slaves yarn-env.cmd
[root@bigdata111 hadoop]# vi mapred-site.xml
<configuration>
<!-- 指定mr运行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--历史服务器的地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata111:10020</value>
</property>
<!--历史服务器页面的地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>bigdata111:19888</value>
</property>
</configuration>
設定hadoop-env.sh
JAVA_HOMEは、絶対パスを変更し、保存して終了:
[root@bigdata111 hadoop]# vi hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
フォーマット名前ノード
構成された、フォーマットされた名前ノード(最初のファイル形式のみ)
[root@bigdata111 hadoop]# hadoop namenode -format
なぜあなたはフォーマットしたいのですか?
名前ノードは、主に名前空間全体分散ファイルシステム(実際にはディレクトリやファイル)メタデータ情報を管理するために使用され、データの信頼性を確保するために、また、操作ログに参加したので、(永続的なデータを名前ノードますローカルファイルシステムに保存されます)。あなたが最初に起動したときHDFS、名前ノードのために、あなたは、通常のサービスノードの名前ノードを開始する前に-formatコマンドを実行する必要があります。
どのような形式で何かをしますか?
名前ノードのノードに、そこにそれらの特性に対応する2つの最も重要な経路は、メタデータ情報と操作ログ、およびコンフィギュレーションファイルからの二つのパスを格納するために使用されており、dfs.name.dir dfs.nameあります.edits.dir、同時に、彼らは、デフォルトのパスは、/ tmpに/ Hadoopの/ DFS /名前です。フォーマットする場合、名前ノードは二つのディレクトリ内のすべてのファイルを消去します、そして、ディレクトリdfs.name.dirにファイルを作成します
hadoop.tmp.dirこの構成は、dfs.name.dirを作り、dfs.name.edits.dirは、ディレクトリカタログ内の2つのファイルが生成されます。
オープンHDFSサービスと糸
マシン内の名前ノードとのResourceManager、次のコマンドを使用している場合:
[root@bigdata111 hadoop]# start-all.sh
2次のコマンドを使用して、機械ではない場合:
[root@bigdata111 hadoop]# start-dfs.sh
[root@bigdata111 hadoop]# start-yarn.sh
HDFSアクセスWebページ
デフォルトのポート:50070
http://192.168.1.111:50070
アクセス糸のWebページ
デフォルトのポート:8088
http://192.168.1.111:8088
Hadoopクラスタを設定します
VMvareは、さらに2つのマシンのクローンを作成するためのテンプレートとしてクローンモード、マシン111を使用します。
ホスト名とIPを変更します
そうxshell接続クローン化された二台のマシンのホスト名とIPアドレスを変更します:
[root@bigdata112 ~]# vi /etc/hostname
[root@bigdata112 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
[root@bigdata112 ~]# service network restart
[root@bigdata112 ~]# ip addr
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=24bbe130-f59a-4b25-9df6-cf5857c89699
DEVICE=eno16777736
ONBOOT=yes
IPADDR=192.168.1.112
GATEWAY=192.168.1.2
DNS1=8.8.8.8
データディレクトリを削除します。
データディレクトリ/opt/module/hadoop-2.8.4、目的の分散クラスタ構成を削除します。
[root@bigdata111 hadoop-2.8.4]# cd /opt/module/hadoop-2.8.4/
[root@bigdata111 hadoop-2.8.4]# rm -rf data/
ホストの設定
IP間の対応のホストとホスト名を設定します
[root@bigdata111 hadoop-2.8.4]# vi /etc/hosts
192.168.1.111 bigdata111
192.168.1.112 bigdata112
192.168.1.113 bigdata113
SCPは、他のマシンを送信します
他のマシンへの最初の二つのhostsファイルを送信するように設定:
[root@bigdata111 hadoop-2.8.4]# scp /etc/hosts root@bigdata112:/etc/
[root@bigdata111 hadoop-2.8.4]# scp /etc/hosts root@bigdata113:/etc/
SSHのない密なログインの設定
- 使用Xshellは、すべてのセッションキー入力に送られた 3台のマシンでキーを生成するために、機能
[root@bigdata111 hadoop-2.8.4]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
cc:47:37:5a:93:0f:77:38:53:af:a3:57:47:55:27:59 root@bigdata111
The key's randomart image is:
+--[ RSA 2048]----+
| .oE|
| ..++|
| . B = +|
| o . + * * |
| S o + o|
| . . o.|
| . . |
| . |
| |
+-----------------+
- Xshellは使用すべてのセッションキー入力に送られた機能は、キーがマシンのクラスタライブラリ各キーに追加しました
[root@bigdata111 hadoop-2.8.4]# ssh-copy-id bigdata111
[root@bigdata111 hadoop-2.8.4]# ssh-copy-id bigdata112
[root@bigdata111 hadoop-2.8.4]# ssh-copy-id bigdata113
- ビューキーライブラリが存在します
[root@bigdata111 .ssh]# cd /root/.ssh
[root@bigdata111 .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
[root@bigdata111 .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7cSXZDdNJ0Cg+1wyVoCn4pWEAxy/13/ekg//YVkGwEsR6HO4XaYxxstVBij5JoTEEjSDNmz2HifTZDB098py3x882ZLVHJllJWzXYX4gVof/tmdmk5AJbhIlX3SoauTrrrzFiMtuXKdu6slvzhs9IbDp68xCUNiVI06OnWFSuhQc8Td+tekwlFPfm+v3W/PqUUgQAd+OAqOUC2vEjjnACQNw/wgGvF/lqrXDv5ZIFmYCBlB7YxwP9RykOvAzEe7w2W7TOt0K8V8oKKTui4aZuahWDbsGwlD7TAQRkilXkG59XG48AWOQoU/XFxph+XECqJzjmdxYedzY8inYW/Lfx root@bigdata111
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYyMVfLaL9w9sGz5hQG96ksUN5ih2RHdwsiXBpL/ZRG7LasKS+OQcszmc61TJfV0Vjad7kuL9wlg2YqlVIQJvaIUQCw4+5BrO0vCy4JBrz/FiDjzxKx0Ba+ILziuMxl35RxDCVGph17i2jpYfy6jGLejYK9kpJH4ueIj8mm+4LTKabRZTcjdNNI0kYM+Tr08wEIuQ45adqVU9MpZc/j6i1FIr4R/RabyuO1FhEh0+Oc5Xbm3jSAYH0MgEvK1cuG9wmX7SaB/opO00Ts+nW/P4umeZQUy51IQSRdUF6BlMrshnCSlKHnuLv2eSCx9yv3QuQMWHnL/SOXUgTnIuzbrv9 root@bigdata112
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDoBOAT/n1QCnaVJtRS1Q9GeoP665gIayWxpSWbjEFus4DL4as5S9jAIhBQWrTnvZzm+Skb4dxGPgdPYLaMFX9tdDYPPsnnRR92sLpRw9gwvG5ROL5XPpV2X+Yxl6yACmlMT0JP1uk+Ekm623n6wtBSBP1BDtJ/fhXkRX6bo2kuXs4BvmP76cikdGBDygKNIEMPTcs6p2lfOnuVdQLSCGm+Q9NswKSBVElNyywNl5J9L/5kIzGXnoGtwhQtdrOjZ+c1tyiwhCz42I3c4z0Sb/zH3OFtHCvRG7cF72uDFxe1QwVJ4h1hJ1dmtwVCckNMbmmgK72PsN8Zg4Y8XtBXgX8n root@bigdata113
- SSHパスワードなしのログイン成功の設定を確認します
[root@bigdata111 .ssh]# ssh bigdata112
Last login: Mon Aug 5 09:23:11 2019 from bigdata112
[root@bigdata112 ~]# ssh bigdata111
Last login: Mon Aug 5 09:09:23 2019 from 192.168.1.1
JDKおよび展開のHadoop
- 「チェック削除し、すべてのセッションのキー入力に送られたが、」他の二つのマシンの/ opt /フォルダにbigdata111モジュールフォルダから送信されます。
[root@bigdata111 module]# scp -r /opt/module/ root@bigdata112:/opt/
[root@bigdata111 module]# scp -r /opt/module/ root@bigdata113:/opt/
- 他の二つのマシンに送信された環境変数は/ etc / profile:
[root@bigdata111 module]# scp -r /etc/profile root@bigdata112:/etc/
[root@bigdata111 module]# scp -r /etc/profile root@bigdata113:/etc/
- 環境変数を更新し、他の二つのマシンに切り替えます。
[root@bigdata112 module]# source /etc/profile
[root@bigdata112 module]# jps
2775 Jps
[root@bigdata113 module]# source /etc/profile
[root@bigdata113 module]# jps
2820 Jps
クラスターXMLの設定
「に、すべてのセッションキー入力を送信」チェックHDFSサイト、xmlファイルを構成する糸サイトのmapredサイト:
- 次のように構成されたHDFS-site.xmlの(SecondaryNameNode 113上に配置されました)。
<configuration>
<!--数据冗余数-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--secondary的地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>bigdata113:50090</value>
</property>
<!--关闭权限-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
- 次のように構成された糸のsite.xml(糸112上に配置されました)。
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata112</value>
</property>
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天(秒) -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
- 次のように構成されたmapred-site.xmlに:
<configuration>
<!-- 指定mr运行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--历史服务器的地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata112:10020</value>
</property>
<!--历史服务器页面的地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>bigdata112:19888</value>
</property>
</configuration>
のデータノード奴隷の設定
[root@bigdata111 ~]# cd /opt/module/hadoop-2.8.4/etc/hadoop/
[root@bigdata111 hadoop]# ls
capacity-scheduler.xml core-site.xml hadoop-metrics2.properties hdfs-site.xml httpfs-signature.secret kms-env.sh log4j.properties mapred-queues.xml.template ssl-client.xml.example yarn-env.sh
configuration.xsl hadoop-env.cmd hadoop-metrics.properties httpfs-env.sh httpfs-site.xml kms-log4j.properties mapred-env.cmd mapred-site.xml ssl-server.xml.example yarn-site.xml
container-executor.cfg hadoop-env.sh hadoop-policy.xml httpfs-log4j.properties kms-acls.xml kms-site.xml mapred-env.sh slaves yarn-env.cmd
[root@bigdata111 hadoop]# vi slaves
bigdata111
bigdata112
bigdata113
フォーマット名前ノード
名前ノードをフォーマットするために、「すべてのセッションのキー入力に送信」機能を使ってxshell
[root@bigdata111 hadoop]# hadoop namenode -format
[root@bigdata112 hadoop]# hadoop namenode -format
[root@bigdata113 hadoop]# hadoop namenode -format
HDFS 111のスタート
[root@bigdata111 hadoop]# start-dfs.sh
糸112のスタート
[root@bigdata112 hadoop]# start-yarn.sh
JPS出力処理3台のマシン
[root@bigdata111 hadoop]# jps
2512 DataNode
2758 NodeManager
2377 NameNode
2894 Jps
[root@bigdata112 ~]# jps
2528 NodeManager
2850 Jps
2294 DataNode
2413 ResourceManager
[root@bigdata113 ~]# jps
2465 NodeManager
2598 Jps
2296 DataNode
2398 SecondaryNameNode