在安装Hadoop之前先确保每台机器都装有jdk,版本什么路径什么的最好一样,然后配置好master对其他slavers的SSH无密码访问<可以参考: >
确保上述条件满足之后就可以开始安装Hadoop了
首先我的版本信息:
LinuxOS:RedHat Enterprise 6.0 两台(VMWare虚拟机),一台master,两台slave,master也是slave
Hadoop:0.20.2<下载地址:>
系统配置:master 主机名:rh01 ip:192.168.1.8
slave 主机名:rh02 ip:192.168.1.9
得确保机器之间能够互相访问
下面开始Hadoop安装
1.将下载hadoop文件解压,tar文件使用tar -zxvf file_name 可以在后面加上-C指定解压路径,最好放到一个固定地方,所有机器路径必须保证一直
2.解压之后在hadoop-0.20.2(安装根目录)下会看到一个conf文件夹,所有的hadoop配置都在这个文件夹下,也是最主要的
3.配置Hadoop环境变量:
export JAVA_HOME=/develop/java/jdk1.7.0_25
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/develop/hadoop/hadoop-0.20.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
4.配好环境变量之后可以选择重启机器让prfile文件生效,或者执行source /etc/profile也可
5.下面开始配置Hadoop配置文件,有hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,masters,slaves6个文件需要修改
(1)hadoop-env.sh:在hadoop-env.sh后面添加JAVA_HOME值,这个值被注释掉了,可以直接去掉注释然后将值改成你jdk安装路径即可
(2)core-site.xml:在configuration节点中添加,其中ip为master ip,9000为端口,注意必须是以hdfs开头,不是http
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.1.8:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/develop/hadoop/tmp</value>
</property>
(3)hdfs-site.xml:在configuration节点中添加,其中dfs.replication值需要注意,如果你的salves机器数<3,那就写1或者2,大于2就写3就可以了,
我这里是两个slave,所以写2
<!-- dfs.replication,设置数据块的复制次数,默认是3,如果slave节点数少于3,则写成相应的1或者2 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<!-- DFS中存储文件命名空间信息的目录 -->
<name>dfs.name.dir</name>
<value>/develop/hadoop/dfs/name</value>
</property>
<property>
<!-- DFS中存储文件数据的目录 -->
<name>dfs.data.dir</name>
<value>/develop/hadoop/dfs/data</value>
</property>
<property>
<!-- 是否对DFS中的文件进行权限控制(测试中一般用false)-->
<name>dfs.permissions</name>
<value>false</value>
</property>
(4)mapred-site.xml:没有这个文件就新建一个即可,其中mapred.job.tracker 是配置jobtracker,ip为master ip,端口 9001,注意必须是以hdfs开头,不是http<PRE class=html><configuration>
<property>
<!-- JobTracker节点 -->
<name>mapred.job.tracker</name>
<value>hdfs://192.168.1.8:9001</value>
</property>
<property>
<!-- map/reduce的系统目录(使用的HDFS的路径) -->
<name>mapred.system.dir</name>
<value>/develop/hadoop/mapred/system</value>
</property>
<property>
<!-- map/reduce的临时目录(可使用“,”隔开,设置多重路径来分摊磁盘IO) -->
<name>mapred.local.dir</name>
<value>/develop/hadoop/mapred/local</value>
</property>
</configuration>
(5)master:这个文件中写的是master ip(也有资料说是应该写SecondaryNameNode,新手我们就不管吧,反正只要写master ip就可以了)
(1)hosts第一行127.0.0.1后面不要写主机名,也就是HOSTNAME值
(6)slaves:这个文件写的是slave ip,有几个写几个,分行写,master也可以作为slave节点,同master最好都写ip,不要写hostname
相关阅读:
Ubuntu 13.04上搭建Hadoop环境