1. 首页 > 科技

怎么停止删除GBase 8c集群一个DataNode节点?使用常规的杀进程命令kill -9 会报错

怎么停止删除GBase 8c集群一个DataNode节点?使用常规的杀进程命令kill -9 会报错

怎么停止和重新启用hadoop的DataNode

首先建立一个excludes文件.它是一个文本, 里面每行就是想要停掉的主机名.这里excludes 放在 $HADOOP_HOME下

例如

CS02

CS03

CS04

CS05

CS06

CS07

CS08

CS09

CS10

这样就表明要把9台机器给停了.

然后在conf/hadoop-site.xml添加这样的属性:

<property>

<name>dfs.hosts.exclude</name>

<value>excludes</ value>

</property>

做完这步, 用bin/hadoop dfsadmin -refreshNodes命令更新结点以及hadoop配置

然后你可以通过 bin/hadoop dfsadmin -report 就可以查看到类似这样的信息:

Name: 192.168.0.86:50010

State : Decommission in progress

Total raw bytes: 30452150272 (28.36 GB)

Remaining raw bytes: 17727606637(16.51 GB)

Used raw bytes: 6480990208 (6.04 GB)

% used: 21.28%

Last contact: Thu Nov 27 02:25:40 CST 2008

Name: 192.168.0.89:50010

State : Decommissioned

Total raw bytes: 0 (0 KB)

Remaining raw bytes: 0(0 KB)

Used raw bytes: 4703211520 (4.38 GB)

% used: ∞%

Last contact: Thu Jan 01 08:00:00 CST 1970

可以看到86在停止中, 89已经停止了.

在没停止之前, mapreduce会拒绝操作. 会出异常的

hadoop 集群怎么删除节点

1:添加节点

A:新节点中添加账户,设置无密码登陆

B:Name节点中设置到新节点的无密码登陆

C:在Name节点slaves文件中添加新节点

D:在所有节点/etc/hosts文件中增加新节点(所有节点保持一致)

E:在新节点中执行

./bin/hadoop-daemon.sh start datanode

./bin/hadoop-daemon.sh start tasktracker

均衡个数据节点中的数据

./bin/start-balancer.sh

注意

1)如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mapred的工作效率

2)设置平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长

./bin/start-balancer.sh -threshold 5

3)设置balance的带宽,默认只有1M/s

<property>

  <name>dfs.balance.bandwidthPerSec</name>

  <value>1048576</value>

  <description>

    Specifies the maximum amount of bandwidth that each datanode

    can utilize for the balancing purpose in term of

    the number of bytes per second.

  </description>

</property>

删除节点

A:修改Name节点的hdfs-site.xml增加

<property>

<name>dfs.hosts.exclude</name>

<value>/soft/hadoop/conf/excludes</value>

</property>

B:修改Name节点的mapred-site.xml增加

<property>

<name>mapred.hosts.exclude</name>

<value>/soft/hadoop/conf/excludes</value>

<final>true</final>

</property>

C:新建excludes文件,文件里写要删除节点的hostname

D:Name节点执行

hadoop mradmin –refreshNodes

hadoop dfsadmin –refreshNodes

(task进程可以kill进程ID)

查看关闭进程

hadoop dfsadmin -report

当节点处于Decommissioned,表示关闭成功。

注意

1:如果刚删除的节点要再添加到集群要先删除excludes文件,执行 hadoop dfsadmin –refreshNodes

2:节点的状态可以通过NameNodes:50070查看

3:如果数据较大则关闭的时间可能会很长

Ubuntu是别人安装好的,在Ubuntu下安装hadoop,无法启动hadoop,总是报需要需要停止一些进程,如下

可能是楼主启动集群后,又重复格式化namenode导致的。

如果只是测试学习,可以使用如下解决方法:

1、首先kill掉26755、21863和26654几个进程。如果kill 26755不行,可以kill -kill 26755。

2、手动删除conf/hdfs-site.xml文件中配置的dfs.data.dir目录下的内容。

3、执行$HADOOP_HOME/bin/hadoop namenode -format

4、启动集群$HADOOP_HOME/bin/start-all.sh

后果:

HDFS中内容会全部丢失。

Hbase无法启动slave节点的:regionserver

问题原因是时间不致造成的,解决方法如下:

1)在hbase-site.xml文件中 修改增加 ,将时间改大点

hbase.master.maxclockskew

150000

2)修改系统时间,将时间改为一致(建议采用本方法):

修改日期

date -s 11/23/2013

修改时间

date -s 15:14:00

检查硬件(CMOS)时间

clock -r

将系统时间写入CMOS

clock -w