AvatarNode集群测试(三)- - - - 系统部署

之前已经做好了avatar的编译工作,现在把之前的AvatarNode克隆3份,注意均要修改mac地址,修改方法在NFS服务器搭建里面写的有

克隆完后,现在已经确定可以开启5个虚拟机,包括

AvatarNode      primary NameNode     192.168.0.11

StandbyNode       standby NameNode      192.168.0.12

NFS          nfs server          192.168.0.13 

AvatarDataNode1     datanode、client       192.168.0.14

AvatarDataNode2     datanode、client       192.168.0.15

 

 

1. 启动虚拟机集群,确保jdk,ssh,ucarp,nfs都已经没有问题

 

2. AvatarNode的配置

  ① 配置/etc/profile

  export HADOOP_HOME=/usr/hadoop/hadoop-0.20.3-dev
  export PATH=$HADOOP_HOME/bin:$PATH

  使之生效 source /etc/profile

 

  ② 配置/etc/hosts和network

    sudo vi /etc/hosts

    192.168.0.11 AvatarNode

    192.168.0.12 StandbyNode

    192.168.0.13 NFS

    192.168.0.14 AvatarDataNode1

      192.168.0.15 AvatarDataNode2

   

   sudo  vi /etc/sysconfig/network

     HOSTNAME=AvatarNode

    

  ③ 配置 /usr/hadoop/hadoop-0.20.3-dev/conf/hadoop-env.sh

      添加

     export JAVA_HOME=/home/user/jdk1.6.0_24

 

  ④ 配置 /usr//hadoop/hadoop-0.20.3-dev/conf/masters

   添加 

      192.168.0.11

      192.168.0.12

   配置 /usr/hadoop/hadoop-0.20.3-dev/conf/slaves

    添加

      192.168.0.14

      192.168.0.15

  这两个文件是在执行/usr/hadoop/hadoop-0.20.3-dev/bin/start-all.sh等脚本的时候,用来远程调用其他节点的脚本

 

 

  ⑤ 配置 /usr/hadoop/hadoop-0.20.3-dev/conf/core-site.xml

  

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<!-- special parameters for avatarnode -->
<property>
<name>fs.default.name0</name>
<value>hdfs://0.0.0.0:9000</value>
</property>
<property>
<name>fs.default.name1</name>
<value>hdfs://192.168.0.12:9000</value>
</property>
<!-- special parameters for avatarnode -->
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.0.10:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
</property>
</configuration>

 

这里参数的意思:

fs.default.name0 是主节点的默认监听地址,也可以认为是对外提供服务的地址,当设为0.0.0.0的时候,代表在本网络所有ip上都监听

fs.default.name1 是备份结点的监听地址,设置为自己的ip

fs.default.name   是对外提供的ip地址,这里使用虚拟ip

注意,只有把fs.default.name0设置成为0.0.0.0才可以同时监听192.168.0.11这个本机实际物理IP以及192.168.0.10这个对外提供服务的虚拟IP,否则若设置成192.168.0.11也可以,但是就无法使用虚拟IP的切换功能,这样在主节点出问题的时候,各个client要修改配置文件(该为连接备份节点)才能重新取得服务,这也是虚拟IP的核心--故障切换

 

  ⑥ 配置/usr/hadoop/hadoop-0.20.3-dev/conf/hdfs-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<!-- special parameters for avatarnode -->
<configuration>
<property>
<name>dfs.name.dir.shared0</name>
<value>/usr/hadoop/avatarshare/share0/namenode</value>
</property>
<property>
<name>dfs.name.edits.dir.shared0</name>
<value>/usr/hadoop/avatarshare/share0/editlog</value>
</property>
<property>
<name>dfs.http.address0</name>
<value>0.0.0.0:50070</value>
</property>
<property>
<name>dfs.name.dir.shared1</name>
<value>/usr/hadoop/avatarshare/share1/namenode</value>
</property>
<property>
<name>dfs.name.edits.dir.shared1</name>
<value>/usr/hadoop/avatarshare/share1/editlog</value>
</property>
<property>
<name>dfs.http.address1</name>
<value>192.168.0.12:50070</value>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/hadoop/local/namenode</value>
</property>
<property>
<name>dfs.name.edits.dir</name>
<value>/usr/hadoop/local/editlog</value>
</property>
</configuration>

 

这里参数的意思:

dfs.name.dir.shared0: AvatarNode镜像存储路径

dfs.name.edits.dir.shared0:AvatarNode日志存储路径

dfs.http.address0:AvatarNode服务器地址

 

dfs.name.dir.shared1: StandbyNode镜像存储路径

dfs.name.edits.dir.shared1:StandbyNode日志存储路径

dfs.http.address1:StandbyNode服务器地址

 

dfs.http.address: 对外提供的服务器地址

dfs.name.dir: 本地镜像存储路径

dfs.name.edits.dir: 本地日志存储路径

 

 

3. StandbyNode的配置

  ① 以下的配置与AvatarNode一样,包括/etc/hosts 、/etc/profile、/usr/hadoop/hadoop-0.20.3-dev/conf/slaves、/usr/hadoop/hadoop-0.20.3-dev/conf/master、/usr/hadoop/hadoop-0.20.3-dev/conf/hadoop-env.sh  

  注意要修改主机名 在/etc/sysconfig/network

 

  ② core-site.xml的配置:

core-site.xml:


<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<!-- special parameters for avatarnode -->
<property>
<name>fs.default.name0</name>
<value>hdfs://192.168.0.11:9000</value>
</property>
<property>
<name>fs.default.name1</name>
<value>hdfs://0.0.0.0:9000</value>
</property>
<!-- special parameters for avatarnode -->
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.0.10:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
</property>
</configuration>

  

  ③ hdfs-site的配置:

  <?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<!-- special parameters for avatarnode -->
<configuration>
<property>
<name>dfs.name.dir.shared0</name>
<value>/usr/hadoop/avatarshare/share0/namenode</value>
</property> 
<property>
<name>dfs.name.edits.dir.shared0</name>
<value>/usr/hadoop/avatarshare/share0/editlog</value>
</property>
<property>
<name>dfs.http.address0</name>
<value>192.168.0.11:50070</value>
</property> 
<property>
<name>dfs.name.dir.shared1</name>
<value>/usr/hadoop/avatarshare/share1/namenode</value>
</property> 
<property>
<name>dfs.name.edits.dir.shared1</name>
<value>/usr/hadoop/avatarshare/share1/editlog</value>
</property>
<property>
<name>dfs.http.address1</name>
<value>0.0.0.0:50070</value>
</property> 
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property> 
<property>
<name>dfs.name.dir</name>
<value>/usr/hadoop/local/namenode</value>
</property>
<property>
<name>dfs.name.edits.dir</name>
<value>/usr/hadoop/local/editlog</value>
</property> 
</configuration>

 

4. AvatarDataNode的配置:

  ① 以下的配置与AvatarNode一样:/etc/hosts 、/etc/profile、/usr/hadoop/hadoop-0.20.3-dev/conf/slaves、/usr/hadoop/hadoop-0.20.3-dev/conf/master、/usr/hadoop/hadoop-0.20.3-dev/conf/hadoop-env.sh

    注意要修改主机名

 

  ② core-site.xml的配置:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<!-- special parameters for avatarnode -->
<property>
<name>fs.default.name0</name>
<value>hdfs://192.168.0.11:9000</value>
</property>
<property>
<name>fs.default.name1</name>
<value>hdfs://192.168.0.12:9000</value>
</property>
<!-- special parameters for avatarnode -->
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.0.10:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
</property>
</configuration>

 

  ③ hdfs-site.xml的配置:

 

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<!-- special parameters for avatarnode -->
<configuration>
<property>
<name>dfs.http.address0</name>
<value>192.168.0.11:50070</value>
</property>
<property>
<name>dfs.http.address1</name>
<value>192.168.0.12:50070</value>
</property>
<!-- special parameters for avatarnode -->
<property>
<name>dfs.http.address</name>
<value>192.168.0.10:50070</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/hadoop/block</value>
</property>
</configuration>

参数意思:

  dfs.replication表示数据块的复制分数

  dfs.data.dir表示数据块存放路径

 

5. 创建相关目录

AvatarNode(Primary):

/usr/hadoop/avatarshare/share0/namenode
/usr/hadoop/avatarshare/share0/editlog
/usr/hadoop/local/namenode
/usr/hadoop/local/editlog
/usr/hadoop/tmp

StandbyNode(Standby):

/usr/hadoop/avatarshare/share1/namenode
/usr/hadoop/avatarshare/share1/editlog
/usr/hadoop/local/namenode
/usr/hadoop/local/editlog
/usr/hadoop/tmp

DataNode:

/usr/hadoop/block
/usr/hadoop/tmp

 

还要在NFS上建几个目录


/usr/hadoop/avatarshare/share0/namenode
/usr/hadoop/avatarshare/share0/editlog
/usr/hadoop/avatarshare/share1/namenode
/usr/hadoop/avatarshare/share1/editlog

 

6. 部署完毕,一定要注意每个文件夹的权限

 

 

补充:hadoop集群常用的端口配置


 

 官方参考

 http://hadoop.apache.org/common/docs/r0.20.2/core-default.html
 http://hadoop.apache.org/common/docs/r0.20.2/hdfs-default.html
 http://hadoop.apache.org/common/docs/r0.20.0/mapred-default.html

HDFS端口

参数 描述 默认 配置文件 例子值
fs.default.name namenode RPC交互端口 8020 core-site.xml hdfs://master:8020/
dfs.http.address  NameNode web管理端口 50070  hdfs-site.xml  0.0.0.0:50070
dfs.datanode.address datanode 控制端口 50010  hdfs-site.xml  0.0.0.0:50010
dfs.datanode.ipc.address datanode的RPC服务器地址和端口  50020 hdfs-site.xml 0.0.0.0:50020
dfs.datanode.http.address datanode的HTTP服务器和端口  50075 hdfs-site.xml  0.0.0.0:50075


                                         
                     
                   
                   
             

MR端口

参数 描述 默认  配置文件 例子值
mapred.job.tracker job tracker交互端口  8021 mapred-site.xml hdfs://master:8021/
mapred.job.tracker.http.address job tracker的web管理端口 50030 mapred-site.xml  0.0.0.0:50030
mapred.task.tracker.http.address task tracker的HTTP端口 50060 mapred-site.xml 0.0.0.0:50060


                                            
                    
         

其他端口

参数 描述  默认  配置文件 例子值
dfs.secondary.http.address  secondary NameNode web管理端口  50090 hdfs-site.xml 0.0.0.0:28680


                                        

集群目录配置

参数 描述  默认  配置文件 例子值
dfs.name.dir name node的元数据,以,号隔开,hdfs会把元数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉

{hadoop.tmp.dir}

/dfs/name

hdfs-site.xm /hadoop/hdfs/name
dfs.name.edits.dir  node node的事务文件存储的目录,以,号隔开,hdfs会把事务文件冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉  ${dfs.name.dir} hdfs-site.xm ${dfs.name.dir}
 fs.checkpoint.dir secondary NameNode的元数据以,号隔开,hdfs会把元数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉

${hadoop.tmp.dir}

/dfs/namesecondary

core-site.xml /hadoop/hdfs/namesecondary
 fs.checkpoint.edits.dir secondary NameNode的事务文件存储的目录,以,号隔开,hdfs会把事务文件冗余复制到这些目录 ${fs.checkpoint.dir} core-site.xml ${fs.checkpoint.dir}
hadoop.tmp.dir 临时目录,其他临时目录的父目录 /tmp/hadoop-${user.name} core-site.xml /hadoop/tmp/hadoop-${user.name}
dfs.data.dir data node的数据目录,以,号隔开,hdfs会把数据存在这些目录下,一般这些目录是不同的块设备,不存在的目录会被忽略掉

${hadoop.tmp.dir}

/dfs/data

hdfs-site.xm

/hadoop/hdfs/data1/data,

/hadoop/hdfs/data2/data

mapred.local.dir MapReduce产生的中间数据存放目录,以,号隔开,hdfs会把数据存在这些目录下,一般这些目录是不同的块设备,不存在的目录会被忽略掉

${hadoop.tmp.dir}

/mapred/local

mapred-site.xml

/hadoop/hdfs/data1/mapred/local,

/hadoop/hdfs/data2/mapred/local

mapred.system.dir MapReduce的控制文件

${hadoop.tmp.dir}

/mapred/system

mapred-site.xml /hadoop/hdfs/data1/system

 

其他配置

 

参数 描述  默认  配置文件 例子值
dfs.support.append  支持文件append,主要是支持hbase  false hdfs-site.xml true
dfs.replication  文件复制的副本数,如果创建时不指定这个参数,就使用这个默认值作为复制的副本数  3 hdfs-site.xml 2
posted on 2012-09-16 10:26  melburg  阅读(250)  评论(0)    收藏  举报