1. 環境整備 CentOS Linux リリース 7.5.1804 (コア) インストール フォルダを作成する $ cd /home/centos $ mkdir ソフトウェア $ mkdirモジュール インストールパッケージをソフトウェアフォルダにインポートする $ CD ソフトウェア # 次にファイルをドラッグします ここで使用するインストールパッケージは /home/centos/software/hadoop-3.1.3.tar.gz /home/centos/software/jdk-8u212-linux-x64.tar.gz $ tar -zxvf jdk-8u212-linux-x64.tar.gz -C ../モジュール $ tar -zxvf hadoop-3.1.3.tar.gz -C ../モジュール 環境変数の設定 $ cd /etc/profile.d/ $ vim my_env.sh システム変数を汚染しないように、環境変数スクリプトを独自に作成します。設定内容は以下のとおりです。 #JAVA_HOME、パス # export はグローバル変数に昇格されます。パスが私のものと異なる場合は、ここで独自のパスを使用することを忘れないでください export JAVA_HOME=/home/centos/module/jdk1.8.0_212 エクスポート PATH=$PATH:$JAVA_HOME/bin #HADOOP_HOME HADOOP_HOME=/home/centos/module/hadoop-3.1.3 をエクスポートします。 PATH=$PATH:$HADOOP_HOME/bin をエクスポートします。 PATH=$PATH:$HADOOP_HOME/sbin をエクスポートします 次に、保存して終了します (vim の使い方がわからない場合は、vim の基本的な使い方を読んでください。ここでは詳細には触れません)。 環境変数を有効にするためにソースを実行してみましょう $ ソース /etc/profile 成功するかどうかテストする $ hadoop バージョン $ ジャワ 上記のインターフェースが表示されれば問題ありません。それでも成功しない場合は、次の 2 つのチェックを実行できます。
パスワードなしのSSH 擬似クラスタではありますが、ローカルマシンからローカルマシンへの接続にはパスワードが必要なので、sshパスワードフリーの設定が必要です。 $ ssh-keygen -t rsa プロンプトが表示されたらEnterキーを押し続けます。秘密鍵を生成したら $ ssh-copy-id ローカルホスト名 ホストファイルを構成する vi /etc/hosts #ここで私が保持している構成は、マスターがTencent Cloudのイントラネットで構成されていることです。外部ネットワークが構成されている場合、EclipseクライアントはHadoopに接続できません。 ::1 ローカルホスト.ローカルドメイン ローカルホスト ::1 ローカルホスト6.ローカルドメイン6 ローカルホスト6 172.16.0.3 マスター 127.0.0.1 ローカルホスト ホスト名を変更する vi /etc/sysconfig/ネットワーク #HOSTNAMEをmasterに変更 ホスト名=マスター ホスト名を変更する $ hostnamectl --static ホスト名マスターを設定する ファイアウォールをオフにする $ systemctl 無効にするfirewalld #永続的 2. Hadoopを構成する 設定ファイル Hadoop設定ファイルエリアに入ると、すべての設定ファイルがこのフォルダにあります $ cd /home/centos/module/hadoop-3.1.3/etc/hadoop 設定したいファイルは主に コアサイト.xml
hdfs-サイト.xml
糸サイト.xml
後は手順に従ってください。 $ vim コアサイト.xml <構成> <プロパティ> <name>fs.defaultFS</name> <value>hdfs://Tencent Cloud イントラネット IP アドレス:9820</value> </プロパティ> <プロパティ> <name>hadoop.tmp.dir</name> <値>/home/centos/module/hadoop-3.1.3/data/tmp</値> </プロパティ> <!-- Web インターフェースを通じて HDFS を操作する権限 --> <プロパティ> <name>hadoop.http.staticuser.user</name> <値>ルート</値> </プロパティ> <!-- Hive 互換性の設定は後で --> <プロパティ> <name>hadoop.proxyuser.root.hosts</name> <値>*</値> </プロパティ> <プロパティ> <name>hadoop.proxyuser.root.groups</name> <値>*</値> </プロパティ> </構成> $ vim hdfs-site.xml <構成> <プロパティ> <name>dfs.replication</name> <値>1</値> </プロパティ> <プロパティ> <name>dfs.namenode.secondary.http-address</name> <value>Tencent Cloud イントラネット IP アドレス: 9868</value> </プロパティ> </構成> $ vim hadoop-env.sh JAVA_HOME=/home/centos/module/jdk1.8.0_212 をエクスポートします。 $ vim 糸サイト.xml <構成> <!-- Reducer がデータを取得します --> <プロパティ> <name>yarn.nodemanager.aux-services</name> <値>mapreduce_shuffle</値> </プロパティ> <!-- YARN の ResourceManager のアドレスを指定します --> <プロパティ> <name>yarn.resourcemanager.ホスト名</name> <value>マスター</value> </プロパティ> <!-- 環境変数は、NodeManager のコンテナ環境プロパティから継承されます。MapReduce アプリケーションの場合、デフォルト値に加えて hadoop op_mapred_home を追加する必要があります。属性値は以下の通りです --> <プロパティ> <name>yarn.nodemanager.env-whitelist</name> <値>JAVA_HOME、HADOOP_COMMON_HOME、HADOOP_HDFS_HOME、HADOOP_CONF_DIR、CLASSPATH_PREPEND_DISTCACHE、HADOOP_YARN_HOME、HADOOP_MAPRED_HOME</値> </プロパティ> <!-- プログラム実行時に Yarn が仮想メモリ制限を超え、コンテナが強制終了される問題を解決します --> <プロパティ> <name>yarn.nodemanager.pmem-check-enabled</name> <値>偽</値> </プロパティ> <プロパティ> <name>yarn.nodemanager.vmem-check-enabled</name> <値>偽</値> </プロパティ> <!-- Hive 互換性の設定は後で --> <プロパティ> <name>yarn.scheduler.最小割り当て MB</name> <値>512</値> </プロパティ> <プロパティ> <name>yarn.scheduler.maximum-allocation-mb</name> <値>4096</値> </プロパティ> <プロパティ> <name>yarn.nodemanager.resource.memory-mb</name> <値>4096</値> </プロパティ> <!-- ログ集約を有効にする--> <プロパティ> <name>yarn.log-aggregation-enable</name> <値>真</値> </プロパティ> <!-- アクセス パス --> <プロパティ> <name>yarn.log.server.url</name> <値>http://172.17.0.13:19888/jobhistory/logs</値> </プロパティ> <!-- 7 日間保存 --> <プロパティ> <name>yarn.log-aggregation.retain-seconds</name> <値>604800</値> </プロパティ> </構成> 履歴サーバーの設定 $ vim mapred-site.xml <!-- 履歴サーバーのアドレス--> <プロパティ> <name>mapreduce.jobhistory.address</name> <value>Tencent Cloud イントラネット IP:10020</value> </プロパティ> <!-- 履歴サーバーの Web アドレス --> <プロパティ> <name>mapreduce.jobhistory.webapp.address</name> <value>Tencent Cloud イントラネット IP:19888</value> </プロパティ> 初期化 NameNode は最初の起動時にフォーマットする必要がありますが、その後は必要ありません。 $ hdfsネームノード -フォーマット 初期化後、hadoop インストール フォルダーに data と logs の 2 つのフォルダーが表示され、初期化が成功したことがわかります。 次に、クラスターを起動しましょう。 $ start-dfs.sh 起動が完了しました。異常情報はありません。プロセスを確認してください [ルート@VM_0_13_centos hadoop]# jps 20032 日本 30900 データノード 31355 セカンダリネームノード 30559 ネームノード 無事にスタートしました〜! ワンクリックスタート 上記のすべてが問題なければ、ワンクリックでクラスターを起動するスクリプトを作成し、bin ディレクトリに新しいスクリプトを作成できます。 $ vim マイクラスタ 次のコンテンツを追加します #!/bin/bash ケース$1 "始める") #dfs 糸の歴史 dfs.shを起動します スタートヤーン mapred --daemon 履歴サーバを起動する ;; "停止") # dfs 糸の歴史 停止-dfs.sh 停止ヤーン.sh mapred --daemon 履歴サーバを停止する ;; *) echo "args がエラーです! start または stop を入力してください" ;; エサック スクリプト権限を設定する $ chmod u+x mycluster スクリプトの使用を開始する $ mycluster を起動します $ jps 23680 ノードマネージャー 24129 ジョブ履歴サーバー 22417 データノード 24420 jps 22023 ネームノード 23384 リソースマネージャー 22891 セカンダリネームノード 3. HDFsを表示する セキュリティグループルールを構成する 次の操作を実行する前に、セキュリティ グループ ルールのプロトコル ポートで使用する次のポートを追加します。 ポート番号:
Hadoop ウェブページ ブラウザに以下を入力してください: セカンダリネームノードのインターフェース表示が正常ではないことが判明しました。これは、hadoop3 の dfs-dust.js の time 関数が誤って使用されていたことが原因です。手動で修正してみましょう。 まずクラスタをシャットダウンする $ mycluster を停止する ファイルを変更する $ vim /home/centos/module/hadoop-3.1.3/share/hadoop/hdfs/webapps/static/dfs-dust.js 図に示すように、約 61 行目で次のように変更します。 新しい Date(Number(v)).toLocaleString() を返します。 クラスタを再起動します $ mycluster を起動します セカンダリネームノードの Web インターフェースが正常であることがわかります。 HDFSのテスト ファイルをアップロードして楽しみましょう。 hadoopディレクトリに新しいフォルダを作成する $ mkdir temdatas フォルダに入り、新しいテストファイルを作成します $ vim テキスト.txt 何でも好きなように書いて保存すれば、ファイルのアップロードを開始できます。 $ hdfs dfs -put text.txt / ウェブページを確認してアップロードに成功しました〜 このファイルをもう一度ダウンロードしてみてください $ hdfs dfs -get /text.txt ./text1.txt 成功しました〜 WordCount のケーススタディ ウェブ上で新しいフォルダ入力を作成する 書いたさまざまな単語のファイルをアップロードして単語統計を取る #または、vimで書いて自分でアップロードすることもできます $ hdfs dfs -put wordcount.txt /input 次に、単語数ケースをテストします。出力フォルダーは存在できないことに注意してください。 $ hadoop jar /home/centos/module/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar ワードカウント /input /output 走った後、結果を見てみましょう # hdfs ファイル [root@master mydata] をプルします # hdfs dfs -get /output ./ # 結果を表示 [root@master output]# cat part-r-00000 2つ b3 3 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 30 31 32 33 34 35 36 37 38 39 49 40 51 42 43 52 44 53 46 54 55 67 78 89 90 2 2ページ 1 d 1 1 1 1 この時点で、Hadoop を自由に操作することができます。 もちろん、試してみたら、まだ解決されていない小さな問題があることがわかります。Web上のファイルをクリックして先頭または末尾を表示しても、表示できず、ダウンロードもできません。仮想マシンをインストールしたときにはこのようなことは起きませんでしたが、何が起こったのかはまだ調査中です。何が起こっているのか知っている人がいたら、メッセージを残してください。 Tencent Cloud で Hadoop 3.x 擬似クラスターを構築する方法についての記事はこれで終わりです。Tencent Cloud で Hadoop 3.x 擬似クラスターを構築する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: MySQL トランザクションの概念と使用法の詳細な説明
解決策は2つあります。 1つはCSSで、background-size:coverを使用して画像の伸...
1. このマシンに新しい設定ファイルdocker_nginx.confを作成します。 サーバー{ 7...
HTML で長いデータを表示する場合、マウスをその上に移動するとデータを切り捨てて完全なデータを表示...
序文:サンドボックスといえば、私たちの頭には反射的に上の写真が思い浮かび、すぐに興味がわいてくるかも...
原因このブログを書いた理由は、今日Leetcodeの日課問題をやっていたからです。文字列を整数(at...
この記事では、ホイール抽選を簡単に実装するためのVueの具体的なコードを参考までに共有します。具体的...
今日は、CentOS 6.8 サーバーに MySQL 8.0.18 をインストールする方法を記録しま...
Nestjs 例外フィルターといえば、非常に強力な .Net のグローバル フィルターについて触れな...
イベントバブリング、イベントキャプチャ、イベント委任JavaScript では、イベント委譲は非常に...
mysql が正常に実行されている場合、テーブル構造を表示することは難しくありません。しかし、場合...
1.1 ストレージエンジンの概要 1.1.1 ファイルシステムストレージファイル システム: オペ...
ショートハンドプロパティは、複数のプロパティに同時に値を割り当てるために使用されます。たとえば、fo...
ソフトウェア バージョンとプラットフォーム: MySQL-5.7.17-winx64、win7 Ho...
一般的に、<td> 要素の colspan 属性はセルの列間操作を実装するために使用され...
技術的背景Latex は文書作成、特に記事作成には欠かせないツールであり、必須のテキスト組版ツールで...