@Luis Alvaradoの回答から派生した、Ubuntu 14.04およびHadoop 2.5.1用の私のバージョンです。
手短に
- Javaをインストールする
- Hadoopのエグゼクティブユーザーを準備する
hduser
hduser
これから切り替えます
hduser
パスフレーズなしでssh経由でリモートに許可
- IPv6を無効にする
- Hadoopパッケージをダウンロードして構成する
- システムパス$ HADOOP_HOMEおよび$ JAVA_HOMEを準備します
- Config Hadoopのサービス
- Hadoopのサービスを開始する
できた がんばろう!
詳細手順
Javaをインストールする
ダウンロードとインストール
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install oracle-java7-installer
Java7がインストールされていることを確認してください
$ which java
$ ls -l /usr/bin/java
$ ls -l /etc/alternatives/java
私たちはjava
指す必要があります/usr/lib/jvm/java-7-oracle/jre/bin/java
Hadoopのエグゼクティブユーザーを準備するhduser
hduser
グループにユーザーを作成hadoop
$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hduser
グラントはsudo権限をhduser
sudoを編集
$ sudo visudo
この行の最後に追加します
hduser ALL=(ALL:ALL) ALL
hduser
これから切り替えます
$ su - hduser
hduser
パスフレーズなしでssh経由でリモートに許可
opensshをインストールする
$ sudo apt-get install openssh-server
SSH接続用のRSA公開/秘密キーを生成します。パスフレーズは空ですparameter -P ""
$ ssh-keygen -t rsa -P ""
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
hduser
パスワードなしでローカルでsshできることを確認してください
$ ssh localhost
IPv6を無効にする
構成ファイルを編集します
$ sudo nano /etc/sysctl.conf
最後までコピー
#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
リブートまたは呼び出しによってIPv6がオフになっていることを確認してください
$ sudo sysctl -p
それから電話する
$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
OKを意味する1を言う必要があります^^
Hadoopパッケージをダウンロードして構成する
Apache HadoopサイトからHadoop 2.5.1パッケージをダウンロードします
このパッケージの直接URLはこのリンクです
http://www.eu.apache.org/dist/hadoop/core/hadoop-2.5.1/hadoop-2.5.1.tar.gz
hduser
のホームフォルダーにダウンロードして展開し、名前をhadoop
$ wget http://www.eu.apache.org/dist/hadoop/core/hadoop-2.5.1/hadoop-2.5.1.tar.gz
$ tar -xvzf hadoop-2.5.1.tar.gz
$ mv hadoop-2.5.1 hadoop
Hadoopがhduser
家に保管されていることを確認してください
$ ls /home/hduser/hadoop
システムパス$ HADOOP_HOMEおよび$ JAVA_HOMEを準備します
編集hduser
の.bashrcファイル
$ nano .bashrc
$HADOOP_HOME
およびの値を最後に追加$JAVA_HOME
# Set Hadoop-related environment variables
export HADOOP_HOME=/home/hduser/hadoop
# Set JAVA_HOME (we will also configure JAVA_HOME directly for Hadoop later on)
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Hadoop binary
フォルダーをシステムに追加します$PATH
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
新しいターミナルを開き、としてログインしhduser
、使用可能なコマンドを含む$ HADOOP_HOMEがあることを確認します
$ echo $HADOOP_HOME
$ which start-all.sh
$ which start-dfs.sh
$ which start-yarn.sh
これらの名前の完全なパスが表示されるはずです。
Config Hadoopのサービス
Hadoopの各コンポーネントは、XMLファイルを使用して構成されます。
共通のプロパティはcore-site.xmlにあります
HDFSプロパティはhdfs-site.xmlにあります
MapReduceプロパティはmapred-site.xmlにあります
これらのファイルはすべてフォルダー$ HADOOP_HOME / etc / hadoopにあります
次hadoop-env.sh
の行を編集して、再びJAVA_HOMEを定義します
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
core-site.xmlでHadoop temp folder
とfile system
名前を定義します
<configuration>
...
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hduser/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
<description>The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation. The
uri's scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class. The uri's authority is used to
determine the host, port, etc. for a filesystem.</description>
</property>
...
</configuration>
でtemp folder
構成されたとおりにこれを準備する必要があります/home/hduser/tmp
$ cd /home/hduser
$ mkdir tmp
$ chown hduser:hadoop tmp
$ chmod 755 tmp
定義はfile system
「S block replication
でHDFS-site.xmlの
<configuration>
...
<property>
<name>dfs.replication</name>
<value>1</value>
<description>Default block replication.
The actual number of replications can be specified when the file is created.
The default is used if replication is not specified in create time.
</description>
</property>
...
</configuration>
mapred-site.xmlで定義map-reduce job
します
<configuration>
...
<property>
<name>mapred.job.tracker</name>
<value>localhost:54311</value>
<description>The host and port that the MapReduce job tracker runs
at. If "local", then jobs are run in-process as a single map
and reduce task.
</description>
</property>
...
</configuration>
フォーマット name node
$ hdfs namenode -format
Hadoopサービスを開始する
コール
$ start-dfs.sh && start-yarn.sh
これらの2つのコマンドは、以前にシステム$ PATHに追加した$ HADOOP_HOME / sbinにあります。
Hadoopサービスが適切に開始されていることを確認してください
$ jps
見るはずです