tencent cloud

Cloud Object Storage

最新情報とお知らせ
製品アップデート情報
製品のお知らせ
製品概要
製品概要
機能概要
応用シナリオ
製品の優位性
基本概念
リージョンとアクセスドメイン名
仕様と制限
製品の課金
課金概要
課金方式
課金項目
無料利用枠
記帳例
請求書の確認とダウンロード
お支払い遅れについて
よくある質問
クイックスタート
コンソールクイックスタート
COSBrowserクイックスタート
ユーザーガイド
リクエストの作成
バケット
オブジェクト
データ管理
バッチ処理
グローバルアクセラレーション
監視とアラーム
運用管理センター
データ処理
インテリジェントツールボックス使用ガイド
データワークフロー
アプリ統合
ツールガイド
ツール概要
環境のインストールと設定
COSBrowserツール
COSCLIツール
COSCMDツール
COS Migrationツール
FTP Serverツール
Hadoopツール
COSDistCpツール
HDFS TO COSツール
オンラインツール (Onrain Tsūru)
セルフ診断ツール
実践チュートリアル
概要
アクセス制御と権限管理
パフォーマンスの最適化
AWS S3 SDKを使用したCOSアクセス
データディザスタリカバリバックアップ
ドメイン名管理の実践
画像処理の実践
COSオーディオビデオプレーヤーの実践
データセキュリティ
データ検証
COSコスト最適化ソリューション
サードパーティアプリケーションでのCOSの使用
移行ガイド
サードパーティクラウドストレージのデータをCOSへ移行
データレークストレージ
クラウドネイティブデータレイク
メタデータアクセラレーション
データアクセラレーター GooseFS
データ処理
データ処理概要
画像処理
メディア処理
コンテンツ審査
ファイル処理
ドキュメントプレビュー
トラブルシューティング
RequestId取得の操作ガイド
パブリックネットワーク経由でのCOSへのファイルアップロード速度の遅さ
COSへのアクセス時に403エラーコードが返される
リソースアクセス異常
POST Objectの一般的な異常
セキュリティとコンプライアンス
データ災害復帰
データセキュリティ
クラウドアクセスマネジメント
よくある質問
よくあるご質問
一般的な問題
従量課金に関するご質問
ドメインコンプライアンスに関するご質問
バケット設定に関する質問
ドメイン名とCDNに関するご質問
ファイル操作に関するご質問
権限管理に関するご質問
データ処理に関するご質問
データセキュリティに関するご質問
署名付きURLに関するご質問
SDKクラスに関するご質問
ツール類に関するご質問
APIクラスに関するご質問
Agreements
Service Level Agreement
プライバシーポリシー
データ処理とセキュリティ契約
連絡先
用語集

Hadoopのインストールとテスト

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-01-24 13:05:48
Hadoopツールは、Hadoop-2.7.2以降のバージョンに依存して、基盤となるファイルストレージシステムとしてTencent Cloud COSを使用し、上位層のコンピューティングタスクを実行する機能を実装しています。Hadoopクラスターを起動するには、主にスタンドアロン、疑似分散、完全分散という3つの主なモードがあります。ここでは主に、Hadoop-2.7.4バージョンを例として、完全分散Hadoop環境をビルド、およびwordcountの簡単なテストをご紹介します。

環境の準備

複数のマシンを準備します。
システムのインストールと設定は、CentOS公式サイト からダウンロードしてインストールできます。この記事では、CentOS 7.3.1611システムバージョンを使用します。
Java環境をインストールします。操作の詳細については、Javaのインストールと設定をご参照ください。
Hadoopの利用可能なパッケージApache Hadoop Releases Downloadをインストールします。

ネットワークの設定

ifconfig -aを使用して各マシンのIPを確認し、pingコマンドを使用して相互にpingを送信できるかどうかを確認し、各マシンのIPを記録します。

CentOSの設定

ホスト名の設定

それぞれのマシンに対応するホスト名を設定します。例えば「master」、「slave*」などです。
hostnamectl set-hostname master

hostsの設定

vi /etc/hosts
コンテンツの編集:
202.xxx.xxx.xxx master
202.xxx.xxx.xxx slave1
202.xxx.xxx.xxx slave2
202.xxx.xxx.xxx slave3
# IPアドレスを実際のIPに置き換えます

ファイアウォールの無効化

systemctl status firewalld.service # ファイアウォールのステータスをチェックします
systemctl stop firewalld.service # ファイアウォールを無効にします
systemctl disable firewalld.service # ファイアウォールの起動を無効にします

時刻同期

yum install -y ntp # ntpサービスをインストールします
ntpdate cn.pool.ntp.org # ネットワークの時刻を同期させます

JDKのインストールと設定

JDKインストールパッケージ(jdk-8u144-linux-x64.tar.gzなど)をrootルートディレクトリにアップロードします。
mkdir /usr/java
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/java/
rm -rf jdk-8u144-linux-x64.tar.gz

各ホスト間でのJDKのコピー

scp -r /usr/java slave1:/usr
scp -r /usr/java slave2:/usr
scp -r /usr/java slave3:/usr
.......

各ホストのJDK環境変数の設定

vi /etc/profile
コンテンツの編集:
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ファイルを保存した後、/etc/profileを有効にするために、以下のコマンドを実行します:
source /etc/profile # 設定ファイルを有効にする
java -version # javaバージョンを確認する

SSHキーレスアクセスの設定

各ホストのSSHサービスステータスを個別にチェックします。
systemctl status sshd.service //SSHサービスのステータスをチェックします
yum install openssh-server openssh-clients //SSHサービスをインストールします。すでにインストールされている場合は、この手順は不要です
systemctl start sshd.service //SSHサービスを開始します。すでにインストールされている場合は、この手順は不要です
各ホストで個別にキーを発行します
ssh-keygen -t rsa //キーの発行
slave1の場合:
cp ~/.ssh/id_rsa.pub ~/.ssh/slave1.id_rsa.pub
scp ~/.ssh/slave1.id_rsa.pub master:~/.ssh
slave2の場合:
cp ~/.ssh/id_rsa.pub ~/.ssh/slave2.id_rsa.pub
scp ~/.ssh/slave2.id_rsa.pub master:~/.ssh
という感じで.. masterの場合:
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
cat slave1.id_rsa.pub >>authorized_keys
cat slave2.id_rsa.pub >>authorized_keys
scp authorized_keys slave1:~/.ssh
scp authorized_keys slave2:~/.ssh
scp authorized_keys slave3:~/.ssh

Hadoopのインストールと設定

Hadoopのインストール

hadoopインストールパッケージ(hadoop-2.7.4.tar.gzなど)をrootルートディレクトリにアップロードします。
tar -zxvf hadoop-2.7.4.tar.gz -C /usr
rm -rf hadoop-2.7.4.tar.gz
mkdir /usr/hadoop-2.7.4/tmp
mkdir /usr/hadoop-2.7.4/logs
mkdir /usr/hadoop-2.7.4/hdf
mkdir /usr/hadoop-2.7.4/hdf/data
mkdir /usr/hadoop-2.7.4/hdf/name
hadoop-2.7.4/etc/hadoopディレクトリに移動し、次の操作に進みます。

Hadoopの設定

1. hadoop-env.shファイルを変更して、以下を追加します
export JAVA_HOME=/usr/java/jdk1.8.0_144
SSHポートがデフォルトの22でない場合は、hadoop-env.shファイルで以下のように変更します。
export HADOOP_SSH_OPTS="-p 1234"
2. yarn-env.shを変更します
export JAVA_HOME=/usr/java/jdk1.8.0_144
3. slavesを変更します
設定内容:
削除:
localhost
追加:
slave1
slave2
slave3
4. core-site.xmlを変更します
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/hadoop-2.7.4/tmp</value>
</property>
</configuration>
5. hdfs-site.xmlを変更します
<configuration>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/hadoop-2.7.4/hdf/data</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/hadoop-2.7.4/hdf/name</value>
<final>true</final>
</property>
</configuration>
6. mapred-site.xmlを変更します
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
7. mapred-site.xml.template をコピーして、mapred-site.xml という名前にします
cp mapred-site.xml.template mapred-site.xml
8. yarn-site.xmlを変更します
<configuration>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
9. ホスト間でHadoopを複製します
scp -r /usr/ hadoop-2.7.4 slave1:/usr
scp -r /usr/ hadoop-2.7.4 slave2:/usr
scp -r /usr/ hadoop-2.7.4 slave3:/usr
10. 各ホストのHadoop環境変数を設定します
設定ファイルを開きます。
vi /etc/profile
コンテンツの編集:
export HADOOP_HOME=/usr/hadoop-2.7.4
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_LOG_DIR=/usr/hadoop-2.7.4/logs
export YARN_LOG_DIR=$HADOOP_LOG_DIR
設定ファイルを有効にします。
source /etc/profile

Hadoopの起動

1. namenodeのフォーマット
cd /usr/hadoop-2.7.4/sbin
hdfs namenode -format
2. 起動
cd /usr/hadoop-2.7.4/sbin
start-all.sh
3. プロセスのチェック
masterホストにResourceManager、SecondaryNameNode、NameNodeなどが含まれている場合は、次のような表示があれば起動に成功しています。
2212 ResourceManager
2484 Jps
1917 NameNode
2078 SecondaryNameNode
各slaveホストにDataNode、NodeManagerなどが含まれている場合は、次のような表示があれば起動に成功しています。
17153 DataNode
17334 Jps
17241 NodeManager

wordcountの実行

Hadoopにはwordcountルーチンが付属されているため、直接呼び出すことができます。Hadoopを起動した後、以下のコマンドを使用すれば、HDFS内のファイルを操作することができます。
hadoop fs -mkdir input
hadoop fs -put input.txt /input
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar wordcount /input /output/

上図に示されている結果は、Hadoopのインストールが成功したことを示しています。

出力ディレクトリの確認

hadoop fs -ls /output

出力結果の確認

hadoop fs -cat /output/part-r-00000

説明:
スタンドアロンモードと疑似分散モードの詳細な操作方法については、公式サイトの Hadoop入門 をご参照ください。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック