著作権表示:この記事はShaonPuppetによるオリジナル記事です。転載の元のアドレスを教えてください。ありがとうございます。 https://blog.csdn.net/wh211212/article/details/53171625
Hadoopは、Apache Foundationによって開発された分散システムインフラストラクチャです。Hadoopは、HDFSと呼ばれる分散ファイルシステム(Hadoop分散ファイルシステム)を実装します。 HDFSは耐障害性が高く、低コストのハードウェアに展開するように設計されています。また、アプリケーションデータにアクセスするための高スループット(高スループット)を提供し、大規模なデータセット(大規模なデータセット)を持つユーザーに適しています。 )アプリケーション; HDFSはPOSIXの要件を緩和し、ストリーミングアクセスの形式でファイルシステム内のデータにアクセスできます。 |
---|
1、 MapReduceの仕組み
クライアントは、MapReduceジョブを送信します。jobtrackerは、ジョブの操作を調整します。jobtrackerはjavaアプリケーションであり、そのメインクラスはJobTracker; tasktrackerです。 TasktrackerはJavaアプリケーションであり、TaskTrackerはメインクラスです。
2、 Hadoopの利点
Hadoopは、ユーザーが簡単に構造化して使用できるようにする分散コンピューティングプラットフォームです。ユーザーは、Hadoopで大量のデータを処理するアプリケーションを簡単に開発して実行できます。次の利点があります。
高い信頼性:データを少しずつ保存および処理するHadoopの機能は信頼できます。
高いスケーラビリティ:Hadoopは、利用可能なコンピュータークラスター間でデータを分散し、コンピューティングタスクを完了します。これらのクラスターは、数千のノードに簡単に拡張できます。
高効率:Hadoopはノード間でデータを動的に移動し、各ノードの動的バランスを確保できるため、処理速度が非常に高速になります。
高い耐障害性:Hadoopは、データの複数のコピーを自動的に保存し、失敗したタスクを自動的に再配布できます。
低コスト:オールインワンコンピューター、商用データウェアハウス、QlikViewやYonghong Z-Suiteなどのデータマートと比較して、hadoopはオープンソースであるため、プロジェクトのソフトウェアコストが大幅に削減されます。
HadoopにはJava言語で記述されたフレームワークが付属しているため、Linux本番プラットフォームで実行するのが理想的です。 Hadoop上のアプリケーションは、C ++などの他の言語で作成することもできます。
Hadoop公式ウェブサイト:[http://hadoop.apache.org/](http://hadoop.apache.org/)** 2。前提条件**
Hadoopクラスター内の各ノードの構成環境の一貫性を保ち、javaをインストールし、sshを構成します。
ラボ環境:
Platform:xen vm
OS: CentOS 6.8
Software: hadoop-2.7.3-src.tar.gz, jdk-8u101-linux-x64.rpm
HostnameIP AddressOS versionHadoop roleNode rolelinux-node1192.168.0.89CentOS 6.8Masternamenodelinux-node2192.168.0.90CentOS 6.8Slavedatenodelinux-node3192.168.0.91CentOS 6.8Slavedatenodelinux-node4192.168.0.92CentOS 6.8Slavedatenode#必要なソフトウェアパッケージをダウンロードし、各クラスターにアップロードしますノード上
3つ、クラスターのアーキテクチャとインストール** 1、ホストファイルの設定**
[ root@linux-node1 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain linux-node1 192.168.0.89 linux-node1 192.168.0.90 linux-node2 192.168.0.91 linux-node3 192.168.0.92 linux-node4
**2、 java **をインストールします
rpm -ivh jdk-8u101-linux-x64.rpm export JAVA_HOME=/usr/java/jdk1.8.0_101/ export PATH=
3、 hadoopをインストール
[ root@linux-node1 ~]# useradd hadoop && echo hadoop | passwd --stdin hadoop [root@linux-node1 ~]# echo "hadoopALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers [root@linux-node1 ~]# su - hadoop [hadoop@linux-node1 ~]$ cd /usr/local/src/ [hadoop@linux-node1src]
[ hadoop@linux-node1 home/hadoop]$ export HADOOP_HOME=/home/hadoop/hadoop/ [hadoop@linux-node1 home/hadoop]$ export PATH=
4、 hadoop関連のディレクトリを作成する
[ hadoop@linux-node1 ~]$ mkdir -p /home/hadoop/dfs/{name,data} [hadoop@linux-node1 ~]$ mkdir -p /home/hadoop/tmp
sudo mkdir -p /data/hdfs/{name,data} sudo chown -R hadoop:hadoop /data/
5、 SSH構成
[ hadoop@linux-node1 ~]$ ssh-keygen -t rsa [hadoop@linux-node1 ~]$ ssh-copy-id [email protected] [hadoop@linux-node1 ~]$ ssh-copy-id [email protected] [hadoop@linux-node1 ~]$ ssh-copy-id [email protected]
**6、 hadoop **の構成ファイルを変更します
ファイルの場所:/ home / hadoop / hadoop / etc / hadoop、ファイル名:hadoop-env.sh、yarn-evn.sh、slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn -site.xml
(1)hadoop-env.shファイルを構成します
[ hadoop@linux-node1 home/hadoop]$ cd hadoop/etc/hadoop/ [hadoop@linux-node1 hadoop]$ egrep JAVA_HOME hadoop-env.sh # The only required environment variable is JAVA_HOME. All others are # set JAVA_HOME in this file, so that it is correctly defined on #export JAVA_HOME=
(3)スレーブファイルを構成する
次のように、DataNodeデータストレージサーバーを指定し、すべてのDataNodeマシンのホスト名をこのファイルに書き込みます。
[ hadoop@linux-node1 hadoop]$ cat slaves linux-node2 linux-node3 linux-node4
Hadoop3の動作モード
ローカル独立モード:NameNode、DataNode、Jobtracker、TasktrackerなどのHadoopのすべてのコンポーネントは、すべてJavaプロセスで実行されています。
疑似分散モード:Hadoopの各コンポーネントには個別のJava仮想マシンがあり、ネットワークソケットを介して通信します。
完全分散モード:Hadoopは複数のホストに分散され、作業の性質に応じてさまざまなコンポーネントがさまざまなゲストにインストールされます。
(4)core-site.xmlファイルを変更し、赤い領域にコードを追加し、青いマークの付いたコンテンツに注意してください。
< configuration>
(5)hdfs-site.xmlファイルを変更します
< 構成>
(6)mapred-site.xmlを変更します
これがmapreduceタスクの構成です。hadoop2.xはyarnフレームワークを使用するため、分散展開を実現するには、mapreduce.framework.nameプロパティでyarnとして構成する必要があります。 mapred.map.tasksとmapred.reduce.tasksは、それぞれmapとreduceのタスクの数です。
[ hadoop@linux-node1 hadoop]$ cp mapred-site.xml.template mapred-site.xml
(7)ノードyarn-site.xmlを構成します
7、 hadoopを他のノードにコピー
scp -r /home/hadoop/hadoop/ 192.168.0.90:/home/hadoop/ scp -r /home/hadoop/hadoop/ 192.168.0.91:/home/hadoop/ scp -r /home/hadoop/hadoop/ 192.168.0.92:/home/hadoop/
**8、 linux-node1 **でhadoopユーザーを使用してNameNodeを初期化します
/home/hadoop/hadoop/bin/hdfs namenode –format
9、 ハドゥープを開始
/home/hadoop/hadoop/sbin/start-dfs.sh /home/hadoop/hadoop/sbin/stop-dfs.sh
ps aux | grep --color namenode
ps aux | grep --color datanode
10、 ヤーン分散コンピューティングフレームワークを開始します
[ hadoop@linux-node1 .ssh]$ /home/hadoop/hadoop/sbin/start-yarn.sh starting yarn daemons
ps aux | grep --color resourcemanager
ps aux | grep --color nodemanager
注:2つのスクリプトstart-dfs.shとstart-yarn.shは、start-all.shに置き換えることができます。
/home/hadoop/hadoop/sbin/stop-all.sh /home/hadoop/hadoop/sbin/start-all.sh
11、 職歴サービスを開始し、mapreduceステータスを表示します
[ hadoop@linux-node1 ~]$ /home/hadoop/hadoop/sbin/mr-jobhistory-daemon.sh start historyserver starting historyserver, logging to /home/hadoop/hadoop/logs/mapred-hadoop-historyserver-linux-node1.out
12、 HDFS分散ファイルシステムのステータスを表示する
/home/hadoop/hadoop/bin/hdfs dfsadmin –report
/home/hadoop/hadoop/bin/hdfs fsck / -files -blocks
13、 WebページでHadoopクラスターのステータスを表示** HDFSステータスを表示**:[http://192.168.0.89:50070/](http://192.168.0.89:50070/)** Hadoopクラスターのステータスを表示**:[http://192.168.0.89:8088/](http://192.168.0.89:8088/)
Recommended Posts