分享

Hadoop2 动态删除节点?配置了HA但是为什么只有在一个namenode上执行好使阿?

536528395 发表于 2015-2-2 18:39:07 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 20 53844
有两个问题:
1:hadoop2 动态删除datanode,是将节点写到excludes 这里,然后在namenode上执行hdfs dfsadmin -refreshNodes ?
不 知道 我说的对不对,不对请大家给我指正阿。我要问的是,我的hadoop配置 了HA就是有两个namenode ,但是 我执行hdfs dfsadmin -refreshNodes 这个 只有在 最原始的 那个 namenode上好使。另一个即使切换到了HA 执行也不起作用?想知道为什么。


2:hadoop2  动态删除了一个节点,但是 在standby的服务器上看,那个节点还在阿?即使切换到active状态一样,并且 还不能删掉,第一个问题中已经说了。。。

已有(21)人评论

跳转到指定楼层
s060403072 发表于 2015-2-2 19:09:40
是否在在master上修改tasktracker-deny.list,添加相应机器。
确保两个active和standby上都有相关配置
回复

使用道具 举报

536528395 发表于 2015-2-2 22:21:56
s060403072 发表于 2015-2-2 19:09
是否在在master上修改tasktracker-deny.list,添加相应机器。
确保两个active和standby上都有相关配置

tasktracker-deny.list 这个 是什么?配置文件么?我没有这个啊,不是直接<name>dfs.hosts.exclude</name>
<value>/etc/hadoop/conf/exclude</value>
在这里面添加要删除的就可以了么?
我在最初的那个 namenode上可以动态的删除掉,但是HA切换到另一个就不行。。。不懂啊



回复

使用道具 举报

desehawk 发表于 2015-2-2 22:59:00
536528395 发表于 2015-2-2 22:21
tasktracker-deny.list 这个 是什么?配置文件么?我没有这个啊,不是直接dfs.hosts.exclude
/etc/hado ...

详细说说你是如何配置的,如何切换的。配置是否都一样。贴出具体内容
回复

使用道具 举报

nextuser 发表于 2015-2-2 23:06:02
楼主认为可能的原因是什么,这个跟环境有关系,比如HA是否有问题。
备用配置是否有问题
回复

使用道具 举报

xiaobaiyang 发表于 2015-2-2 23:29:55
直接kill -9 jobid 就行了
回复

使用道具 举报

536528395 发表于 2015-2-3 09:57:44
desehawk 发表于 2015-2-2 22:59
详细说说你是如何配置的,如何切换的。配置是否都一样。贴出具体内容

  <!-- HA Configuration Basic -->
        <property>
                <name>dfs.nameservices</name>
                <value>test-hadoop-cluster</value>
        </property>
        <property>
                <name>dfs.ha.namenodes.test-hadoop-cluster</name>
                <value>nn1,nn2</value>
        </property>

        <property>
                <name>dfs.namenode.rpc-address.test-hadoop-cluster.nn1</name>
                <value>sh-b0-sv0375.sh.idc.yunyun.com:8020</value>
        </property>
        <property>
                <name>dfs.namenode.rpc-address.test-hadoop-cluster.nn2</name>
                <value>sh-b0-sv0376.sh.idc.yunyun.com:8020</value>
        </property>
        <property>
                <name>dfs.namenode.http-address.test-hadoop-cluster.nn1</name>
                <value>sh-b0-sv0375.sh.idc.yunyun.com:50070</value>
        </property>
        <property>
                <name>dfs.namenode.http-address.test-hadoop-cluster.nn2</name>
                <value>sh-b0-sv0376.sh.idc.yunyun.com:50070</value>
        </property>
        <property>
                <name>dfs.namenode.shared.edits.dir</name>
                <value>qjournal://sh-b0-sv0376.sh.idc.yunyun.com:8485;sh-b0-sv0372.sh.idc.yunyun.com:8485;sh-d0-sv0481.sh.idc.yunyun.com:8485/test-hadoop-cluster</value>
        </property>
        <property>
                <name>dfs.client.failover.proxy.provider.test-hadoop-cluster</name>
                <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
        </property>
<property>                <name>dfs.ha.fencing.methods</name>                <value>sshfence</value>        </property>        <property>                <name>dfs.ha.fencing.ssh.private-key-files</name>                <value>/home/test-hadoop/.ssh/id_rsa</value>        </property>        <property>                <name>dfs.journalnode.edits.dir</name>                <value>/mnt/disk0/test-hadoop/data/journal/test-hadoop-cluster</value>        </property>        <!-- HA Configuration Automatic Failover Zookeeper -->        <property>                <name>dfs.ha.automatic-failover.enabled</name>                <value>true</value>        </property>        <property>                <name>ha.zookeeper.quorum</name>                <value>sh-b0-sv0376.sh.idc.yunyun.com:2182,sh-b0-sv0372.sh.idc.yunyun.com:2182,sh-d0-sv0481.sh.idc.yunyun.com:2182</value>        </property>    <!-- HDFS Configuration Basic-->        <property>                <name>dfs.namenode.name.dir</name>                <value>/mnt/disk0/test-hadoop/data/namenode/</value>        </property>        <property>                <name>dfs.namenode.handler.count</name>                <value>100</value>        </property>        <property>                <name>dfs.datanode.data.dir</name>                <value>/mnt/disk0/test-hadoop/data/datanode/</value>        </property>        <property>                <name>dfs.replication</name>                <value>2</value>        </property>        <property>                <name>dfs.hosts.exclude</name>                <value>${hadoop.distribution.config.path}/excludes</value>        </property>
这些是配置。
sh-b0-sv0375.sh.idc.yunyun.com (nn1)这个是最原始的namenode节点,只有在这个namenode上可以动态删除节点,
删除的时候,我是先将要删除的节点添加到${hadoop.distribution.config.path}/excludes这个文件中,然后在sh-b0-sv0375.sh.idc.yunyun.com这个上面 执行
hdfs dfsadmin -refreshNodes 这个命令。 这个是可以的。但是只有在这个namenode上看到那个节点退役了,但是在standby节点上看那个删除的节点还在。。。
hdfs haadmin -failover nn2 nn1  我是这么切换的 HA。(并且 启动的时候 默认nn2 是 active的 ,我想指定让nn1是active可以么?)
sh-b0-sv0376.sh.idc.yunyun.com (nn2)是active的namenode的时候,在执行上面的动态删除节点不起作用。



回复

使用道具 举报

536528395 发表于 2015-2-3 10:01:20
nextuser 发表于 2015-2-2 23:06
楼主认为可能的原因是什么,这个跟环境有关系,比如HA是否有问题。
备用配置是否有问题

我也不知道具体的原因阿,我就是想问下,大家是不是动态删除节点的时候,也是只有在一个namenode上好使,即使配置了HA。
如果是这样,那么删除后,在HA的另一个namenode上的 那个被删除的节点还在  怎么办??不管么?
回复

使用道具 举报

nextuser 发表于 2015-2-3 10:37:32
536528395 发表于 2015-2-3 10:01
我也不知道具体的原因阿,我就是想问下,大家是不是动态删除节点的时候,也是只有在一个namenode上好使, ...

是否试过再次排除
回复

使用道具 举报

536528395 发表于 2015-2-3 10:44:37
nextuser 发表于 2015-2-3 10:37
是否试过再次排除

不起作用的?在另一个节点上就是删不掉的? 你的集群可以么?试过么??
回复

使用道具 举报

123下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条