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 トランザクションの概念と使用法の詳細な説明
目次1. ビューフック1. ngAfterViewInit および ngAfterViewCheck...
ant-design-vue テーブルのスケーラブルな列の問題に対する完璧なソリューション。固定列と...
1. ポート 80 が占有されているかどうかを確認します。通常、ポート 80 は Apache サー...
XPath は、XML ドキュメントの一部を選択するための言語です。 XPath は、XSLT、XQ...
目次1. 複雑なページデータ領域をコンポーネントにカプセル化する2. 大きな画像の使用を避ける3. ...
次のコマンドを使用して、MySQL Serverがインストールされているかどうかを確認します。 [r...
私はかなり昔に CSS に触れましたが、フローティングについてはいつも混乱していました。私の理解が浅...
この記事では、画像ウォーターフォールフローを実現するためのJSの具体的なコードを参考までに共有します...
目次1. データベース内の MySQL ステータスを確認します。 2. 設定ファイルを変更します。 ...
4つの実用的なVueカスタム指示1. Vドラッグ要件: マウスドラッグ要素アイデア:要素のオフセット...
Web Skills第5号では、CSSでダークモードやハイライトモードを実装するための技術的なソリュ...
証券会社にいた頃、設計業務が忙しくなかったため、商品のマニュアルを書く役割を担ったことがありました。...
1. エラーの再現MySQL データベースにはアクセスできますが、データベース テーブルを読み取るこ...
mysql の権限とインデックスmysql の最高権限ユーザーは root です。 CREATE U...
目次序文1. スケーラビリティとは何ですか?スケールアウトの利点:スケールアウトのデメリット:スケー...