Ubuntu 16.4 で完全に分散された Hadoop 環境を構築するための実践的なチュートリアル

Ubuntu 16.4 で完全に分散された Hadoop 環境を構築するための実践的なチュートリアル

序文

この記事は主にubantu 16.4 Hadoop完全分散構築に関する関連コンテンツを紹介し、皆さんの参考と学習のために共有します。詳しい紹介を見てみましょう。

仮想マシン

1. 仮想マシンをNATネットワークカードモードでマウントする

2. 使用する複数の仮想マシンのホスト名を変更するのが最善です。静的IP /etc/network/interface、ここに3つのホストs101 s102 s103 ubantuがあります、/etc/hostnameファイルを変更します

3. sshをインストールする

最初のホストでは、s101は公開鍵と秘密鍵を作成します。

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

>cd .ssh

>cp id_rsa.pub >authorized_keysキーライブラリを作成する

id_rsa.pubを他のホストに転送し、.sshディレクトリに置く

サーバー経由nc -l 8888 >~/.ssh/authorized_keys

クライアントnc s102 8888 <id_rsa.pub

Hadoop/jdkのインストールを開始する

1. Windows 10からUbuntuへのファイルのドラッグを容易にするためにVMツールをインストールする

2. ディレクトリ /soft を作成する

3. グループ chown ubantu:ubantu /soft を変更して、権限によるファイル転送を容易にします。

4. ファイルを /soft に置きます (デスクトップから cp/mv src dst を使用できます)

tar -zxvf jdkまたはhadoopは自動的に解凍ディレクトリを作成します。

インストール環境を構成する (/etc/environment)

1. JAVA_HOME=/soft/jdk-...jdkディレクトリを追加します。

2. HADOOP_HOME=/soft/hadoop (Hadoopディレクトリ)を追加します。

3. パスに /soft/jdk-...jdk/bin:/soft/hadoop/bin/:/soft/hadoop/sbin を追加します。

4. java -versionでバージョン番号を確認します。

5.hadoopバージョンにバージョン番号がある成功

4つの主要なHDFSファイルcore-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xmlの設定を開始します。

コアサイト.xml

<構成>
 <プロパティ>
 <name>fs.defaultFS</name>
 <値>hdfs://s101:9000</値>
 </プロパティ>

</構成>

2.hdfs-サイト.xml

<構成>
<!-- NameNode の構成: -->
<プロパティ>
 <name>dfs.replication</name>
 <値>2</値>
</プロパティ>

<プロパティ>
 <name>dfs.namenode.name.dir</name>
 <値>ファイル:/data/hdfs/名前</値>
</プロパティ>

<プロパティ>
 <name>dfs.datanode.data.dir</name>
 <値>ファイル:/data/hdfs/data</値>
</プロパティ>

<プロパティ>
 <name>dfs.namenode.secondary.http-address</name>
 <値>s101:50090</値>
</プロパティ>

<プロパティ>
 <name>dfs.namenode.http-address</name>
 <値>s101:50070</値>
 <説明>
 dfs ネームノード Web UI がリッスンするアドレスとベース ポート。
 ポートが 0 の場合、サーバーは空きポートで起動します。
 </説明>
</プロパティ> 

<プロパティ>
 <name>dfs.namenode.checkpoint.dir</name>
 <値>ファイル:/data/hdfs/checkpoint</値>
</プロパティ>

<プロパティ>
 <name>dfs.namenode.checkpoint.edits.dir</name>
 <値>ファイル:/data/hdfs/edits</値>
</プロパティ>
</構成>

3. mapred-site.xml

<構成>
 <プロパティ>
 <name>mapreduce.framework.name</name>
 <value>糸</value>
 </プロパティ>
</構成>

4.yarn-site.xml

<構成>

<!-- サイト固有の YARN 構成プロパティ -->
 <プロパティ>
 <name>yarn.nodemanager.aux-services</name>
 <値>mapreduce_shuffle</値>
 </プロパティ>
 <プロパティ>
 <name>yarn.resourcemanager.ホスト名</name>
 <値>s101</値>
 </プロパティ>
</構成>

これで戦いの半分は終わった。 。 。 。 。 。 。 。 。 。 。 。 。 。

フォルダを作成する

mkdir /data/hdfs/tmp
mkdir /data/hdfs/var
mkdir /data/hdfs/logs
mkdir /data/hdfs/dfs
mkdir /data/hdfs/data
mkdir /data/hdfs/name
mkdir /data/hdfs/チェックポイント
mkdir /data/hdfs/edits

ディレクトリの権限を変更することを忘れないでください

  • sudo chown ubantu:ubantu /data

次に、/softフォルダを他のホストに転送します

xsync実行ファイルを作成する

sudo touch xsync

sudo chmod 777 xsync権限が実行可能ファイルになる

sudo nano xsync

#!/bin/bash
pcount=$#
if((pcount<1));then
 引数なしをエコーし​​ます。
 出口;
フィ

$1 を 0 にする
fname=`ベース名 $p1`
pdir=`cd -P $(dirname $p1);pwd`

cuser=`whoami`
for((ホスト=102; ホスト<105; ホスト=ホスト+1));do
 エコー --------s$host--------
 rsync -rvl $pdir/$fname $cuser@s$host:$pdir
終わり

xsync /soft --------> フォルダを他のホストに転送します

xsync /data

他のホストにコマンドを渡すためのxcallを作成する

#!/bin/bash
pcount=$#
if((pcount<1));then
 引数なしをエコーし​​ます。
 出口;
フィ
エコー --------localhost--------

$@
((ホスト=102;ホスト<105;ホスト=ホスト+1));を実行する
 エコー --------$shost--------
 ssh s$ホスト$@
終わり

心配しないでください、もうすぐ終わります。

価格を尋ねるようにワーカーを設定する必要もあります

  • データノード(DataNode)として設定する必要があるホスト名を1行に1つずつ入力します。

重要な点に注意する

まずhadoop -namenode -formatをフォーマットします

start-all.shを再起動します

プロセスxcall jpsを表示

ウェブサイトへ


本当に泣きたかったの?成功したよ! ! !

途中で多くの問題がありました

1. rsync権限が不十分: フォルダを削除し、フォルダ権限を変更する chown

2. ログの読み方を学ぶ

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • Hadoop ネームノード フェデレーション
  • Hadoop 2.Xの新機能、ごみ箱機能の説明
  • Hadoopカウンターとデータクリーニングの適用
  • Hadoop 2.x と 3.x の 22 ポイントの比較、Hadoop 3.x の 2.x に対する改善点
  • Ubuntu DockerでHadoopクラスタ環境を構築する方法
  • CentOS で Hadoop を構築する詳細な手順
  • Hadoop ワードカウントのサンプルコード
  • Java/Web が MapReduce 用に Hadoop を呼び出すサンプル コード
  • Hadoop におけるネームノードとセカンダリネームノードの動作メカニズムの説明

<<:  Viteの新しい体験の詳細な説明

>>:  指定フィールドによるMySQLカスタムリストのソートの実装

推薦する

Centos7 で yum を使用して Ceph 分散ストレージをインストールするチュートリアル

目次序文yumソース、epelソースを設定するCephソースの設定Cephとそのコンポーネントをイン...

vue2 vue3 での Echarts の詳細な使用方法

目次1. インストール2. vue2でEchartsを使用するmain.jsファイル内コンテナが与え...

Linuxにグラフィカルインターフェースをインストールする方法

1. Linuxのインストール(rootユーザー操作) 1. vncserver をインストールしま...

タグ li はブロックレベル要素ですか?

なぜ高さを設定できるのでしょうか。<h1 /> などの要素とは異なり、「セミインライン」...

Vueはボタン切り替え画像を実装します

この記事では、ボタン切り替え画像を実現するためのVueの具体的なコードを例として紹介します。具体的な...

MySQL 学習: データベース テーブルの 5 つの主要な制約を初心者向けに詳しく説明します

目次1. 制約の概念と分類2. 5つの制約の追加と削除2.1 制約を追加する6つの方法2.2 制約を...

Linux 上での Go 環境の構築のインストールと設定の説明

Linux で Go 環境を構築するのは非常に簡単です。 1. go1.2.1.linux-386....

MySQLパスワードを忘れた場合のいくつかの解決策

解決策1完全にアンインストールしてすべてのデータを削除します。まず、MySQLに関連するすべてのプロ...

JSON.stringify を使用する際に発生する循環参照の問題を解決する方法の詳細な説明

プログラマーが日常的に TypeScript/JavaScript 開発を行う場合、複雑な Java...

マウスを動かしたときに画像のズーム効果とゆっくりとした遷移​​効果を実現するCSSのサンプルコード

transform:scale()比例したズームインまたはズームアウトを実現できます。 transi...

MySQL 8.0.24 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.24のインストールチュートリアルを参考までに紹介します。具体的な内...

Vue のスロットスコープの詳細な理解(初心者向け)

Baidu には slot-scope に関する記事が既にたくさんありますが、以前よく学習しておら...

JavaScript は、マウスがテーブル行を通過するときに色の識別を実装します。

この記事では、マウスがテーブルの行を通過するときにJavaScriptを使用して色ラベルを表示する方...

ElementUIテーブルのヘッダーアイコンにフローティングプロンプトを追加します。

この記事では主に、ElementUI テーブルのヘッダー アイコンにフローティング プロンプトを追加...

Zabbix Agent2を使用してOracleデータベースを監視する方法

概要zabbix バージョン 5.0 以降では、zabbix-agent2 という新しい機能が追加さ...