Hadoop cluster on Cubieboards

             hadoop是一個分佈式系統基礎架構,由Apache基金會開發。用戶能夠在不瞭解分佈式底層細節的狀況下,開發分佈式程序。充分利用集羣的威力高速運算和存儲。Hadoop實現了一個分佈式文件系統(Hadoop Distributed File System),簡稱HDFS。HDFS有着高容錯性的特色,而且設計用來部署在低廉的(low-cost)硬件上。並且它提供高傳輸率(high throughput)來訪問應用程序的數據,適合那些有着超大數據集(large data set)的應用程序。HDFS放寬了(relax)POSIX的要求(requirements)這樣能夠流的形式訪問(streaming access)文件系統中的數據。 
            我用8塊A10搭建了一個集羣,通過測試性能仍是很不錯的。去官網看hadoop,這裏還有一些高清的大圖。打算在上面作一些應用:HDFS寫讀文件,mapreduce並行計算,hadoop編程.....感興趣的朋友能夠本身搭建一個簡單的集羣,單機版,雙核版均可以,下面有些資源:php

         1. Hadoop-CB定製  鏡像文件這個適用於CB-A10,集成了集羣搭建須要的JDKOpenssh,其中JDK的路徑爲exportJAVA_HOME=/lib/jdk
         2. Hadoop軟件下載 hadoop 0.20.203 , 集羣搭建教程 ,我見過集羣搭建詳細的教程,絕對要分享。html



         結合CB的具體狀況,搭建集羣說明以下:


1.先配置 master,其餘的節點大同小異。就那麼幾個要求:JDK環境、任意slave 和master 無密碼相互登陸、 hadoop參數配置。

2.徹底能夠在本身電腦上完成每一塊CB的配置,用ssh登陸 linaro 用戶,我是在本身熟悉的ubuntu12.04上用vim 配置hadoop. 也可爲CB 配置輸入輸出,直接配置CB。能夠更新一下CB的vi 到 vim ,我的習慣用vim。

3.建立用戶:

$sudo addgroup hadoop

$sudo adduser -ingroup hadoop hadoop

$sudo vim ./etc/sudoers :

hadoop ALL=(ALL:ALL) ALL

4.修改Hostname&添加hosts:

sudo vim ./etc/hosts

192.168.1.40 master

192.168.1.41 slave1

192.168.1.42 slave2

192.168.1.43 slave3

192.168.1.44 slave4

192.168.1.45 slave5

192.168.1.46 slave6

192.168.1.47 slave7

sudo vim ./etc/hostname

cubieboard => master 或 slave

5.靜態IP設置

sudo vim ./etc/network/interfaces //資源位置

#auto lo
# iface lo inet loopback
#iface lo eth0 dhcp // 讓原來配置失效
auto eth0
iface eth0 inet static
address 192.168.1.40
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255 //

sudo vim ./etc/resolvconf/resolv.conf.d/base

nameserver 192.168.1.1 //網關

sudo /etc/init.d/networking restart //重啓network

6..SSH 雙方無密碼登陸:

教程講的很詳細,概括一下: A <=>B : A&B 的authorized_keys 要同時有雙方的 id_rsa.pub

A:

ssh-keygen –t rsa –P '' // 得到密鑰

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys //追加

chmod 600 ~/.ssh/authorized_keys

ssh localhost //驗證

scp ~/.ssh/id_rsa.pub hadoop@192.168.1.40:~/

B:

mkdir ~/.ssh

chmod 700 ~/.ssh

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

rm –r ~/id_rsa.pub

7.JDK 路徑: #export JAVA_HOME=/lib/jdk ,記得把「#」去掉。

8.參數配置:

1. core-site.xml

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://master:9000</value>

</property>

</configuration>

2.hdfs-site.xml

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>dfs.name.dir</name>

<value>/usr/local/hadoop/datalog1,/usr/local/hadoop/datalog2</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/usr/local/hadoop/data1,/usr/local/hadoop/data2</value>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

</configuration>

3.mapred-site.xml

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>master:9001</value>

</property>

</configuration>

9.基本命令:

在hadoop 根目錄:

bin/hadoop namenode -format //格式化

bin/hadoop dfsadmin -report //文件報告

bin/start-all.sh // 開啓全部進程

bin/stop-all.sh // 結束全部進程

./bin/hadoop jar hadoop-examples-0.20.203.0.jar pi 100 100 //計算pi

10.要是節點多的話,可採用shell腳本減小工做量,但願能夠看到shell腳本教程。後續會在集羣上作一些應用,再更新吧。

原文做者:aaron
原文連接:http://forum.cubietech.com/forum.php?mod=viewthread&tid=852&highlight=hadoopnode

相關文章
相關標籤/搜索