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