hadoop集羣配置之hadoop安裝部署

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

訪問http://localhost:50070

        http://localhost:8080

若成功訪問則說明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
相關文章
相關標籤/搜索