必要なソフトウェア
Ubuntu 22.04 64bit、Hadoop 3.3.6、Java 8
システムアップデート
sudo apt update
sudo apt upgrade -y
SSHサーバーのインストール
sudo apt install openssh-server -y
SSH接続確認
systemctl status ssh
pdshのインストール
sudo apt install pdsh -y
環境変数の設定
/etc/profileに以下を追加:
export PDSH_RCMD_TYPE=ssh
SSH鍵の設定
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
SSH接続テスト
ssh localhost exit
Javaのインストール
sudo apt install openjdk-8-jdk -y
インストール確認:
java -version
Hadoopのインストール
wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xzf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /opt/hadoop
Hadoop環境設定
/opt/hadoop/etc/hadoop/hadoop-env.shを編集:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/opt/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs
コア設定ファイル
/opt/hadoop/etc/hadoop/core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
</configuration>
HDFS設定
/opt/hadoop/etc/hadoop/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
MapReduce設定
/opt/hadoop/etc/hadoop/mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
YARN設定
/opt/hadoop/etc/hadoop/yarn-site.xml:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
パス設定
~/.bashrcに追加:
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
HDFSの初期化
hdfs namenode -format
HDFSサービスの起動
start-dfs.sh
Webインターフェース確認
ブラウザで http://localhost:9870 にアクセス
YARNサービスの起動
start-yarn.sh
動作確認
テストファイルの作成とHDFSへの配置:
echo "hello hadoop world" > test.txt
hdfs dfs -mkdir /input
hdfs dfs -put test.txt /input/
WordCountの実行:
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input /output
結果の確認:
hdfs dfs -cat /output/part-r-00000
トラブルシューティング
権限エラーの場合:
sudo chown -R $USER:$USER /opt/hadoop
ポート競合の確認:
netstat -tulpn | grep java