[翻譯完成] 樹莓派搭建hadoop集羣

Hadoop是由Java實現的, 因此在樹莓派上運行就和在其餘x86平臺上運行同樣簡單. 首先, 咱們須要安裝支持樹莓派的JVM. 能夠選用OpenJDK或者Oracle的JDK 8. 我我的推薦JDK8, 其速度稍微快些, 可是OpenJDK安裝更容易些.html

1. 安裝Javajava

安裝OpenJDK十分簡單, 只要執行如下命令node

pi@raspberrypi ~ $ sudo apt-get install openjdk-7-jdk
pi@raspberrypi ~ $ java -version
java version "1.7.0_07"
OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-1+rpi1)
OpenJDK Zero VM (build 22.0-b10, mixed mode)

另外, 咱們能夠選擇安裝Oracle的JDK 8.
能夠從這得到: https://jdk8.java.net/fxarmpreview/index.html linux

pi@raspberrypi ~ $sudo tar zxvf jdk-8-ea-b36e-linux-arm-hflt-*.tar.gz -C /opt
pi@raspberrypi ~ $sudo update-alternatives --install "/usr/bin/java" 
"java" "/opt/jdk1.8.0/bin/java" 1 
pi@raspberrypi ~ $ java -version
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b36e)
Java HotSpot(TM) Client VM (build 25.0-b04, mixed mode)

若是你兩個都裝了, 用如下命令來切換便可:apache

sudo update-alternatives --config java

2. 新增一個hadoop系統用戶bash

pi@raspberrypi ~ $ sudo addgroup hadoop
pi@raspberrypi ~ $ sudo adduser --ingroup hadoop hduser
pi@raspberrypi ~ $ sudo adduser hduser sudo

3. 設置SSHoracle

pi@raspberrypi ~ $ su - hduserhduser@raspberrypi ~ $ ssh-keygen -t rsa -P ""

這會生成一個匹配空密碼的RSA密鑰. 在與其餘節點通信時Hadoop將再也不提示輸入密碼ssh

hduser@raspberrypi ~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

如今設置SSH容許用剛生成的密鑰訪問jvm

hduser@raspberrypi ~$ ssh localhost

如今咱們就應該能夠不使用密碼也能夠登陸了svn

4. 安裝Hadoop
咱們能夠從http://www.apache.org/dyn/closer.cgi/hadoop/core下載hadoop

hduser@raspberrypi ~$ wget http://mirror.catn.com/pub/apache/hadoop/core/hadoop-1.1.2/hadoop-1.1.2.tar.gz
hduser@raspberrypi ~$sudo tar vxzf hadoop-1.1.2.tar.gz -C /usr/local
hduser@raspberrypi ~$cd /usr/local
hduser@raspberrypi /usr/local$ sudo mv hadoop-1.1.2 hadoop
hduser@raspberrypi /usr/local$ sudo chown -R hduser:hadoop hadoop

如今hadoop就安裝好了. 編譯home目錄下的.bashrc文件, 將如下內容添加到其中

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-armhf
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin

若是你用的是oracle的JDK, 相應的修改JAVA_HOME.

重啓一下樹莓派來驗證安裝是否成功:

hduser@raspberrypi ~$ hadoop version
Hadoop 1.1.2
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/
branch-1.1 -r 1440782
Compiled by hortonfo on Thu Jan 31 02:03:24 UTC 2013
From source with checksum c720ddcf4b926991de7467d253a79b8b

5. 配置Hadoop
注意: 這裏的配置是hadoop單節點模式的最低配.

配置文件位於"/usr/local/hadoop/conf/", 咱們須要修改core-site.xml, hdfs-site.xml, mapred-site.xml三個文件

core-site.xml

<configuration>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/fs/hadoop/tmp</value>
  </property>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:54310</value>
  </property>
</configuration>

mapred-site.xml

<configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:54311</value>
  </property>
</configuration>

hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

哦了, 即將完工, 還剩最後一步.

hduser@raspberrypi ~$ sudo mkdir -p /fs/hadoop/tmp
hduser@raspberrypi ~$ sudo chown hduser:hadoop /fs/hadoop/tmp
hduser@raspberrypi ~$ sudo chmod 750 /fs/hadoop/tmp
hduser@raspberrypi ~$hadoop namenode -format

注意:

若是選用的是JDK 8, 咱們須要強制在JVM client模式下運行DataNode, 由於JDK 8還不支持server模式. 進入/usr/local/hadoop/bin目錄中來編輯hadoop文件(請先備份). 使用nano進行修改的步驟以下:nano hadoop, ctrl-w輸入「-server」進行查找. 咱們須要刪除「-server」這個參數, 而後保存退出就好了.

hadoop單節點系統就算是搭建完成了. 下面給一些有用的命令.

1. jps           // 輸出本地VM標識符
2. start-all.sh  // 啓動全部hadoop進程
3. stop-all.sh   // 中止全部hadoop進程
相關文章
相關標籤/搜索