date: 2014-02-18 layout: post title: Hadoop1.2.1伪分布式升级全分布式集群改装笔记 thread: 38 categories: Tutorial tags: [hadoop]
Hadoop搭建系统环境:三台完全一样的Linux ubuntu-13.04-desktop-i386系统,其中一个做Namenode和Datanode,另外两个做Datanode。(三个ubuntu系统均搭建在硬件虚拟机上)
Hadoop安装目标版本:Hadoop1.2.1
jdk安装版本:jdk-7u40-linux-i586
Pig安装版本:pig-0.11.1
硬件虚拟机搭设环境:IBM塔式服务器x3500M3 MT:7380
eclipse安装版本:eclipse-standard-kepler-SR1-linux-gtk
先用VMware vsphere client将一个ubuntu系统复制两份,系统分别命名为node1和node2。VMware vsphere client使用可以查看VMware vsphere client安装笔记。
在打开每个系统的hostname文件,分别将名字改为node1和node2。
sudo vim /etc/hostname
在每个系统的hosts文件中加入如下内容,以使联机运作时各节点能够被识别:
10.1.151.168 master
10.1.151.178 node1
10.1.151.188 node2
将之前填写的localhost替换为master主机的实际IP,修改成果如下:
<property>
<name>fs.default.name</name>
<value>hdfs://10.1.151.168:9000</value>
</propety>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp/hadoop_tmp</value>
</property>
将节点数由1改为3:
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/appdata/hadoopdata</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/appdata/hadoopname</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</proerty>
localhost修改如下:
<property>
<name>mapred.job.tracker</name>
<value>10.1.151.168:9001</value>
</property>
进入conf目录修改masters文件,填写集群master名如:
master
保存退出然后打开slaves文件,添加作为slave的主机名,一行一个。
master
node1
node2
./hadoop namenode –format
./start-all.sh
检验方法和伪分布式相同,此处不再赘述。相关操作可以查看Hadoop1.2.1伪分布模式安装教程。
Incompatible namespaceIDs in /home/hadoop/tmp/hadoop_tmp
,想起来这个文件夹是自己新建的,是不是伪分布式时在里面产生了垃圾?于是sudo rm -rf然后sudo mkdir重来了一次,想想不安全我再把其他的之前新建的文件夹全部重新按照这个方法操作了一次;最后-format然后./start-all.sh,搞定啦。Datanode、JobTracker、SecondaryNameNode、Jps、TaskTracker、NameNode全部启动。