Hadoop新增datanode与SecondaryNameNode

无论是新增namenode还是SecondaryNameNode,操作方法大致相同

一、如果新增datanode,需要保证namenode能无密码ssh连接到新datanode

如果是添加SecondaryNameNode,则需保证其能无密码ssh连接至各datanode和namenode,namenode也需要能无密码连接到新SecondaryNameNode

# ssh-copy-id -i /root/.ssh/id_rsa.pub root@datanodes

二、同步程序文件

hadoop的运行依赖JAVA环境,所以,以namenode为准,迁移java环境:

在namenode上运行:

# rsync -av /opt/jdk1.6.0_33 root@dest_server:/opt/

创建文件 /etc/profile.d/java.sh ,内容 为:

export JAVA_HOME="/opt/jdk1.6.0_33"
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib

在namenode主机上的conf/master文件中添加新SecondaryNameNode的IP地址:

106.186.122.165

(如果是只新增namenode则不需要上面这一步)

迁移hadoop软件,日志文件不需要迁移:

# rsync -av --exclude "logs" /data/hadoop-1.1.1/ root@dest_server:/data/hadoop-1.1.1/


三、保证各结点时区一致(我们现有服务器时区五花八门,所以这一步很重要)

# rsync -av /etc/localtime root@dest_server:/etc/

四、在/etc/profile中重新定义PATH变量

在新结点上:

# echo "export PATH=$PATH:/opt/jdk1.6.0_33/bin:/data/hadoop-1.1.1/bin" >> /etc/profile

五、运行所需的服务

如果是新增datanode,在相应主机上运行:

# hadoop-daemon.sh start datanode
# hadoop-daemon.sh start tasktracker

如果是新增SecondaryNameNode,在相应主机上运行:

# hadoop-daemon.sh start secondarynamenode

以上均可用jps命令查看其运行状况。

So easy~

原创文章,作者:红豆殺,如若转载,请注明出处:http://www.178linux.com/739