【安裝JDK】
首先,從http://www.oracle.com/technetwork/java/javase/downloads/index.html中下載jdk,我的版本是jdk1.6.0_24,我下載的是bin文件,我將下載的jdk1.6.0_24.bin文件置於/usr/lib/jvm/openjdk中,然後,在shell中執行。
$ sudo chmod u+x /usr/lib/jvm/openjdk/jdk1.6.0_12.bin
修改bin文件權限,使其可執行。然後,執行
$ sudo /usr/lib/jvm/java/jdk1.6.0_12.bin
安裝完畢。
配置下列文件
$ sudo gedit /etc/environment
增加
PATH="......:/usr/lib/jvm/openjdk/jdk1.6.0_24/bin"
CLASSPATH=.:/usr/lib/jvm/openjdk/jdk1.6.0_24/lib
JAVA_HOME=/usr/lib/jvm/openjdk/jdk1.6.0_24
$ sudo gedit /etc/profile
增加
export JAVA_HOME=/usr/lib/jvm/openjdk/jdk1.6.0_24
export JRE_HOME=/usr/lib/jvm/openjdk/jdk1.6.0_24/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
最後註銷當前用戶,登錄後執行
$ java -version
檢測版本
【Hadoop 分佈式計算環境搭建】
一、軟件環境: 集羣機系統-Ubuntu10.10
jdk1.6.0_24
hadoop-0.20.2
二、集羣環境:
1.用戶名:dic,環境:UBUNTU10.10,IP:10.13.30.79,作用:mater
2.用戶名:dic,環境:UBUNTU10.10,IP:10.13.30.35,作用:slave1
解釋:相同的用戶名是爲了保證hadoop的目錄結果一樣(只有這個是hadoop要求的,ssh與jdk的目錄是各異的),都是[/home/dic/hadoop-0.20.2],hdfs目錄是[/home/dic/hadooptmp]。
【1】SSH無密碼驗證配置
步驟:
[master]
A. 安裝SSH,並生成id_rsa私鑰和id_rsa.pub公鑰(~/.ssh)
$ sudo apt-get install ssh
$ ssh-keygen -t rsa
B. master(10.13.30.79)公鑰傳給slaver1(10.13.30.35)
$ scp /home/dic/.ssh/id_rsa.pub [email protected]:/home/dic/.ssh/10.13.30.79
[slave1]
A. 安裝SSH,同master
B. slaver1(10.13.30.35)公鑰傳給master(10.13.30.79)
$ scp /home/dic/.ssh/id_rsa.pub [email protected]:/home/dic/.ssh/10.13.30.35
C. 把生成的 id_ras.pub 文件改名爲 authorized_keys
$ cp id_ras.pub >> authorized_keys
$ cat 10.13.30.79 >> authorized_keys
D. 重啓
$ ssh-agent
$ sudo /etc/init.d/sshd restart
[master]
C. 把生成的 id_ras.pub 文件改名爲 authorized_keys
$ cp id_ras.pub >> authorized_keys
$ cat 10.13.30.35 >> authorized_keys
D. 重啓
$ ssh-agent
$ sudo /etc/init.d/sshd restart
【2】配置/etc/hosts文件,添加主機名與ip集羣中主機名與ip的映射關係
[master]
$ sudo vi /etc/hosts
添加
10.13.30.35 qlee-desktop
[slave1]
$ sudo vi /etc/hosts
添加
10.13.30.79 cl-desktop
【3】Hadoop配置
這裏只敘述如何配置master。slaves的配置方法是,將master的[~/hadoop-0.20.2]文件傳給所有的slave1,置於slaves的相同位置。
3.1 conf/hadoop-env.sh
$ export JAVA_HOME=/usr/lib/jvm/java-6-sun
3.2 配置masters文件和slaves文件
conf/masters
cl-desktop
conf/slaves
qlee-desktop
cl-desktop
注:僞分佈式中這裏的slaves還是10.13.30.79
3.3 配置conf/core-site.xml,確定 HDFS 主節點,它定義namenode的主機和端口,如果作爲namenode啓動,是需要讀入此配置的。
<property>
<name>hadoop.tmp.dir</name>
<value>/home/dic/hadooptmp</value>
<description>A base for other temporary directories.</description>
</property>
<!-- file system properties -->
<property>
<name>fs.default.name</name>
<value>hdfs://cl-desktop:9000</value>
</property>
3.4 配置conf/hdfs-site.xml 定義默認數據副本
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
3.5 配置mapred-site.xml-- jobtracker
<property>
<name>mapred.job.tracker</name>
<value>cl-desktop:9001</value>
</property>
3.6 copy master的hadoop文件夾到各個slave,完成配置
[master]
$ scp /home/dic/hadoop-0.20.2 [email protected]:/home/dic/hadoop-0.20.2
【4】Hadoop啓動[master]
4.1 格式化名稱節點
$ bin/hadoop namenode -format
$ bin/start-all.sh
$ jps
注:可以不使用start-all.sh,分開分別調用start-dfs.sh start-mapred.sh。如下圖:
每個節點的啓動腳本和守護進程的關係
4.2 驗證與測試
4.2.1
驗證啓動進程--jps
dic@cl-desktop:~# jps
7367 NameNode
7842 JobTracker
7938 Jps
7522 SecondaryNameNode
dic@qlee-desktop:~# jps
7785 DataNode
8114 Jps
7991 TaskTracker
查看集羣狀態--hadoop dfsadmin -report
測試 HDFS
hadoop-0.20 fs -ls /
hadoop-0.20 fs -mkdir test
hadoop-0.20 fs -ls test
hadoop-0.20 fs -rmr test
hadoop-0.20 fsck /
4.3 Web 管理界面
namenode
jobtracker
【5】執行一個 MapReduce 作業[master]
5.1 生成輸入數據
$ hadoop fs -mkdir input
$ hadoop fs -put /home/dic/input/163 input
$ hadoop fs -put /home/dic/input/sina input
$ hadoop-0.20 fs -ls input
5.2 在集羣上運行 MapReduce wordcount 作業
$ hadoop jar ~/hadoop-0.20.2/hadoop-0.20.2-examples.jar wordcount input output
5.3 檢測 MapReduce 作業的輸出
$ hadoop fs -ls /user/dic/output
$ hadoop fs -cat /user/dic/output/part-r-00000
參考網站:
http://www.ibm.com/developerworks/cn/linux/l-hadoop-1/
http://www.ibm.com/developerworks/cn/linux/l-hadoop-2/
http://www.ibm.com/developerworks/cn/linux/l-hadoop-3/
http://bxyzzy.blog.51cto.com/854497/352692
【安裝eclipse】
(官方下載地址:http://www.eclipse.org/downloads/)
首要說明:Linux(繼承自Unix)的文件系統構架中,用戶手動選擇安裝目錄是不必要的。
有人就問了,不能自己做主,這樣不是不好嗎? 這套系統是很聰明滴,她很更瞭解什麼東西該放在什麼位置,根本不用操心。若是非要操心,非要自己指定位置,指錯了說不定會出故障歐!——因爲提供軟件的人 也信任這套系統最佳,呵呵~這種規範已經實行幾十年了,事實證明這就是最好的!所以就不需要我們操心安裝位置了(事實上安裝時也沒提示你選擇安裝目錄)
通常情況下,linux會這樣放軟件的組件:
程序的文檔->/usr/share/doc; /usr/local/share/doc
程序->/usr/share; /usr/local/share
程序的啓動項->/usr/share/apps; /usr/local/share
程序的語言包->/usr/share/locale; /usr/local/share/locale
可執行文件->/usr/bin; /usr/local/bin
而有的軟件爲了和系統組件分隔開,選擇棲息於 /opt,但目錄結構往往是一樣的,把/usr或/usr/local 替換爲了/opt/"軟件名"
基於以上說明,我們將eclipse拷貝至/opt。此外,爲了方面以後安裝使用自己的軟件,更改當前用戶(非root用戶)對/opt操作權限。
chmod 777 /opt -R