1:准备
1):mvware 三台机器(ip不用自己设置,网络nat即可) vim /etc/hosts
hadoop1 192.168.197.129 namenode jobtracker
hadoop2 192.168.197.130 datanode tasktracker
hadoop3 192.168.197.131 datanode tasktracker
2)ubuntu系统
ubuntu-13.04-server-i386(因为主机不支持tv-x,所以只能安32位的)
url:http://releases.ubuntu.com/13.04
3)安装vmware tools (主要是用来向虚拟机共享数据,可选)
安装方式 :http://692088846.iteye.com/blog/1986593
4)安装jdk(最新版即可)
url:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html
5)系统须要安装ssh并安装自动密钥(你须要创建hadoop的传用户)
ssh:可参见http://692088846.iteye.com/blog/1986477
由于是ubuntu所以是用apt-get安装: http://692088846.iteye.com/blog/1914161
ssh自动密钥:http://692088846.iteye.com/blog/1986814 (准备时可先不做)
6)hadoop 这里使用的是0.20.2版本
url:http://archive.apache.org/dist/hadoop/core/hadoop-0.20.2/
2:具做步骤
1)创建hadoop用户
命令:adduser hadoop(三台机器都须要相同的用户)
2)修改hosts文件(vim /etc/hosts)
这是我的,你的须要写上你自己的ip
192.168.197.130 hadoop2
192.168.197.131 hadoop3
3)自动ssh连接
可以参考:http://692088846.iteye.com/blog/1986814
我遇到的问题:
这时你须要在hadoop用户目录下(cd /home/hadoop)连接其它主机(命令:ssh 192.168.197.131),这样就可以生成.ssh目录了
2:公钥你可以把它们都拷到一个文件中,然后再分发到其它主机
4)这时你须要修改hadoop的配置文件(目录在hadoop/conf)
第一个是hadoop-env.sh:这个你只须要加上java_home即可
vi /etc/hadoop/conf/hadoop-env.sh
找到JAVA_HOME修改成你的java目录即可
第二个是core-site.xml,它是核心文件
<configuration>
<property>
<name>fs.default.name</name> #namenode节点所在的机器
<value>hdfs://hadoop1:8020</value> #端口随便
</property>
</configuration>
第三个是hdfs-site.xml,它是hdfs配置文件
<configuration> <property> <name>dfs.replication</name> #文件副本数 <value>2</value> </property> <property> <name>dfs.name.dir</name> #hdfs文件存放的目录 <value>/hadoop/data</value> </property> </configuration>
第四个是mapred-site.xml,它是mapred的配置文件
<configuration>
<property>
<name>mapred.job.tracker</name> #指定jobtracker的主机
<value>hadoop1:8021</value>
</property>
</configuration>
第五个是masters,它用来指定主机的角色(管理),加入主机名或ip即可
第六个是slaves,它用来指定主机的角色(工作),加入主机名或ip即可
5:把hadoop复制到其它主机
scp -r /etc/hadoop/conf hadoop-02:/etc/hadoop
6:启动hadoop
1)在namenode节点上格式化hdfs
/usr/lib/hadoop-0.20/bin/hadoop namenode -format
2)启动所有机器的hadoop
/usr/lib/hadoop-0.20/bin/start-all.sh
3)使用jps查看各机器是否启动相关服务
namenode启动了
1596 SecondaryNameNode
1661 JobTracker
datanode启动了
1378 DataNode
4)可以在本机的浏览器中查看到集群的运行情况
http://192.168.197.129:50030/jobtracker.jsp
或hdfs状态:http://192.168.197.129:50070