hadoop分爲單擊模式,僞分佈式和分佈式,本文安裝的是分佈式。java
須要先對linux系統作一些優化,編輯/etc/security/limits.conf node
* soft nofile 10240 * hard nofile 10240 * soft noproc 10240 * hard noproc 10240
nofile是設置限制打開的文件數,noproc是限制用戶打開的進程數,*表明的是全部用戶linux
而後執行分佈式
ulimit -n 10240 ulimit -c 10240
下載hadoop2.6.0.tar.gzoop
而後登錄hadoop帳戶解壓至主文件夾下測試
tar xvzf hadoop-2.6.0
而後將hadoop-2.6.0移動到主文件夾下,找到etc/hadoop下的hadoop-env.sh文件,打開將裏面的jdk配置成你本身實際的jdk路徑。優化
而後編輯core-site.xmlthis
<configuration> <property> <name>fs.default.name</name> <value>hdfs://192.168.1.55:9000</value> </property> <-- 設置同時處理文件上限個數 --> <property> <name>dfs.datanode.max.xcievers</name> <value>4096</value> </property> <property> <name>dfs.data.dir</name> <value>/hdfsdata-2.6</value> </property> </configuration>
hdfs-site.xmlcode
<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.data.dir</name> <value>/home/hadoop/data</value> </property> </configuration>
mapred-site.xmlorm
<configuration> <property> <name>mapred.job.tracker</name> <value>hdfs://192.168.1.55:9001</value> </property> </configuration>
masters
h1
slaves
h2 h3
注意:一、hadoop2.6沒有mapred-site.xml,須要本身考一個,
二、hadoop2.6沒有masters,須要本身拷一個
三、關閉防火牆或者添加9000、900一、50010端口爲信任
而後將配置好的hadoop拷貝到各個節點上
scp -r hadoop2.6.0 h2:/home/hadoop
拷貝完成後,格式化namenode
bin/hadoop namenode -format
最後啓動hadoop
sbin/start-all.sh
若成功訪問則說明namenode部署成功,
還有一種辦法就是找到jdk的安裝目錄輸入一下命令
bin/jps
看看namenode還有secondarynamenode以及resourcemanager是否成功啓動,slave節點則是datanode
奇怪的是我這裏並無job或者track,看了下start-all.sh裏並無啓動,不過一直沒有什麼問題,不知道是否是2.6版本沒有這些,有知道的順便說下吧
===============================================
這裏是補上的
================================================
用jps只是看到服務是否啓動,下面用一個簡單的測試來演示是否成功。再聲明一下,我用的是hadoop-2.6.0
首先切換到主目錄,而且建立出一個input文件夾,文件夾下面有兩個文本文件
cd ~ makdir input echo "hello word">text1.txt echo "hello hadoop>test2.text
而後切換到hadoop目錄
cd ~ cd hadoop-2.6.0
先測試hdfs,將剛剛建立的文件上傳到集羣裏
bin/hadoop dfs ../input /in
看一下是否成功
bin/hadoop dfs -ls /in/*
應該會輸出一個文件列表
而後測試mapreduce,用hadoop自帶的wordcount,hadoop2.6和其餘不同,要以以下的命令運行wordcount
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /in /out
「/」表明的是hdfs的根目錄,不是之前的「./」
運行命令後再看一下根目錄下的文件
bin/hadoop dfs -ls /
發現裏面不只有in目錄,還多了out和temp目錄,打開out目錄
bin/hadoop dfs -cat /out/*
下面有兩個文件,一個是_SUCCESS一個是part-r-00000,打開文件,我這裏兩個都打開了,不過效果是差很少的
bin/hadoop dfs -cat /out/*
下面是運行結果
[hadoop@h1 hadoop-2.6.0]$ bin/hadoop dfs -cat /out/* DEPRECATED: Use of this script to execute hdfs command is deprecated. Instead use the hdfs command for it. hadoop 1 hello 2 word 1