Apache Hadoop のインストールを行う.
Apache Hadoop インストールディレクトリを決めておくこと. このページでは,次のように書く.
※ 要点は 「Oracle の JDK」を使うということ.
◆ Ubuntu の場合の操作手順例
sudo apt -y update sudo apt -y install openjdk-7-jdk
java -version
※ 以下,このページでは,次のように書く.確認してください。
◆ Ubuntu の場合の実行手順例
sudo apt -y update sudo apt -y install openssh-server
◆ /etc/hosts.allow の設定例
◆ Ubuntu の場合の実行手順例
sudo adduser hadoop パスワード入力(2回)
その後,以下の操作を行う
ssh-keygen -t rsa -P "" cat .ssh/id_rsa.pub >> .ssh/authorized_keys chmod 600 .ssh/authorized_keys
hadoopユーザで SSH ログインできることの確認
ssh hadoop@localhost
※ 次のようにログインできない場合には対処
ダウンロードが始まる
※ Apache Hadoop インストールディレクトリは自由に決めてよいが,分かりやすい名前にしておくこと.
cd /usr/local
sudo tar -xvzof /tmp/hadoop-2.2.0-src.tar.gz
cd /usr/local sudo rm -f hadoop sudo ln -s /usr/local/hadoop-2.2.0-src hadoop
sudo chown -R hadoop:hadoop hadoop-2.2.0-src sudo chown -R hadoop:hadoop hadoop
sudo mkdir /usr/local/hadoop-datastore sudo chown -R hadoop:hadoop hadoop-datastore
sudo apt -y update sudo apt -y install maven2
cd /usr find . -name "*jdk*" -print
■ 下記の例は JAVA_HOME を /usr/lib/jvm/java-7-openjdk-amd64 に設定する場合
cd /usr/local cd hadoop-2.2.0-src/hadoop-common-project/hadoop-common/src/main/conf sudo -u hadoop vi hadoop-env.sh
■ 下記の例は JAVA_HOME を /usr/lib/jvm/java-6-sun-1.6.0.24 に設定する場合
cd /usr/local cd hadoop-2.2.0-src/hadoop-common-project/hadoop-common/src/main/conf sudo -u hadoop vi hadoop-env.sh
/home/hadoop/.bashrc に4行を追加
export HADOOP_COMMON_HOME=/usr/local/hadoop-2.2.0-src export HADOOP_CONF_DIR=/usr/local/hadoop-2.2.0-src/hadoop-common-project/hadoop-common/src/main/conf export HADOOP_HDFS_HOME=/usr/local/hadoop-2.2.0-src/hadoop-hdfs-project/hadoop-hdfs export HADOOP_MAPRED_HOME=/usr/local/hadoop-2.2.0-src/hadoop-mapreduce-project/hadoop-hdfs export HADOOP_YARN_HOME=/usr/local/hadoop-2.2.0-src/hadoop-mapreduce-project/hadoop-hdfs
sudo -u hadoop -i source .bashrc
https://hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-common/SingleCluster.html に記載の手順通りに行う
sudo apt -y update sudo apt -y install maven2 cd /usr/local/hadoop-2.2.0-src mvn clean install -DskipTests cd hadoop-common-project mvn clean install assembly:assembly -Pnative cd hadoop-hdfs-project mvn clean install assembly:assembly -Pnative cd hadoop-mapreduce-project mvn clean install assembly:assembly -Pnative
エラーメッセージが出ていないことを確認する.
mapreduce.cluster.temp.dir No description true mapreduce.cluster.local.dir No description true
yarn.resourcemanager.resource-tracker.address host:port host is the hostname of the resource manager and port is the port on which the NodeManagers contact the Resource Manager. yarn.resourcemanager.scheduler.address host:port host is the hostname of the resourcemanager and port is the port on which the Applications in the cluster talk to the Resource Manager. yarn.resourcemanager.scheduler.class org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler In case you do not want to use the default scheduler yarn.resourcemanager.address host:port the host is the hostname of the ResourceManager and the port is the port on which the clients can talk to the Resource Manager. yarn.nodemanager.local-dirs the local directories used by the nodemanager yarn.nodemanager.address 0.0.0.0:port the nodemanagers bind to this port yarn.nodemanager.resource.memory-mb 10240 the amount of memory on the NodeManager in GB yarn.nodemanager.remote-app-log-dir /app-logs directory on hdfs where the application logs are moved to yarn.nodemanager.log-dirs the directories used by Nodemanagers as log directories yarn.nodemanager.aux-services mapreduce_shuffle shuffle service that needs to be set for Map Reduce to run
<property> <name>yarn.scheduler.capacity.root.queues</name> <value>unfunded,default</value> </property> <property> <name>yarn.scheduler.capacity.root.capacity</name> <value>100</value> </property> <property> <name>yarn.scheduler.capacity.root.unfunded.capacity</name> <value>50</value> </property> <property> <name>yarn.scheduler.capacity.root.default.capacity</name> <value>50</value> </property>
◆ /usr/local/hadoop/conf/core-site.xml の設定例
◆ /usr/local/hadoop/conf/hdfs-site.xml の設定例
◆ /usr/local/hadoop/conf/mapred-site.xml の設定例
※ 詳しくは, https://hadoop.apache.org/core/docs/r2.2.0/ を開き,「Single Node Setup」をクリック
cd /usr/local/hadoop ./bin/hadoop namenode -format
Hadoop Quick Startに記載されている 「例」を動かしてみる
cd /usr/local/hadoop mkdir input cp conf/*.xml input ./bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+' cat output/*
以下の操作は,hadoop 実行用ユーザ(ユーザ名「hadoop」)で行うこと.
cd /usr/local/hadoop ,/bin/start-all.sh
※ 起動時に「JAVA_HOME が設定されていない」というエラーメッセージが出たときは /etc/bashrc に「export JAVA_HOME=/usr/java/jdk1.6.0_17」の行を加えるなどで対処する
cd /usr/local/hadoop ,/bin/stop-all.sh
mkdir /tmp/data cat > /tmp/data/file orange orange1 apple apple orange1 orange # ctrl + D キー cat /tmp/data/file ./bin/hadoop dfs -copyFromLocal /tmp/data data
Java の単一のプロセスとして実行します。 これは、Hadoop デーモンを起動していない状態での実行です。 デバッグするのに役に立ちます。
cd /usr/local/hadoop ./bin/hadoop jar hadoop-2.2.0-examples.jar wordcount /tmp/data /tmp/output cat /tmp/output/part-00000
Apache Hadoop は、単一ノードで動かすことができる。言い換えると、 Apache Hadoop デーモンが1つのプロセス(プログラムとは別のプロセス))として動いているモードです。 DFS 配下のファイルを扱うことになる.
cd /usr/local/hadoop ./bin/hadoop jar hadoop-2.2.0-examples.jar wordcount /tmp/data output ./bin/hadoop dfs -cat output/part-00000
参考 HDFS (Hadoop Distributed File System) の操作コマンド