1.      处理hadoop的namenode宕机

处理措施:

进入hadoop的bin目录,重启namenode服务

操作命令:

cd path/to/hadoop/bin

./hadoop-daemon.sh start namenode

2.      处理hadoop的jobtacker宕机

处理措施:

进入hadoop的bin目录,重启jobtacker服务

操作命令:

cd path/to/hadoop/bin

./hadoop-daemon.sh start jobtracker

3.      处理hadoop的datanode宕机

处理措施:

进入hadoop的bin目录,重启datanode服务

操作命令:

cd path/to/hadoop/bin

./hadoop-daemon.sh start datanode

4.      处理hadoop的tasktracker宕机

处理措施:

进入hadoop的bin目录,重启tasktacker服务

操作命令:

cd path/to/hadoop/bin

./hadoop-daemon.sh start tasktracker

5.      启动hadoop集群

处理措施:

进入hadoop的bin目录,执行start-all.sh脚本

操作命令:

cd path/to/hadoop/bin

./start-all.sh

注意事项:

namenode在启动的时候首先进入安全模式,如果datanode丢失的block达到一定的比例(1- dfs.safemode.threshold.pct),则系统会一直处于安全模式状态即只读状态。 dfs.safemode.threshold.pct(缺省值0.999f)表示hdfs启动的时候,如果datanode上报的block个数达到了 元数据记录的block个数的0.999倍才可以离开安全模式,否则一直是这种只读模式。如果设为1则hdfs永远是处于safemode。

有两个方法离开这种安全模式

(1)修改dfs.safemode.threshold.pct为一个比较小的值,缺省是0.999。

(2)hadoop dfsadmin -safemode leave命令强制离开

用户可以通过dfsadmin -safemode $value来操作安全模式,参数$value的说明如下:

  • enter – 进入安全模式
  • leave – 强制namenode离开安全模式
  • get  – 返回安全模式是否开启的信息
  • wait – 等待,一直到安全模式结束。

6.      关闭hadoop机器

处理措施:

进入hadoop的bin目录,执行stop-all.sh脚本

操作命令:

cd path/to/hadoop/bin

./ stop-all.sh

7.      从hadoop移除机器

处理措施:

把需要移除的机器增加到exclueds文件中,强制刷新datanode列表,等待decommission 状态正常后,即可停机下架,如有必要在namenode执行balancer操作。

操作命令:

在master的conf/hdfs-site.xml中加入

<property>

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

<value>excludes</value>

</property>

在$hadoop_home下创建exclueds文件

文件内容增加你想删除的节点的机器名,一行一个

/bin/hadoop dfsadmin -refreshnodes命令刷新datanode例表

/bin/hadoop dfsadmin -report查看结果

datanodes available: 1 (1 total, 0 dead)

name: 192.168.200.118:50010

decommission status : decommission in progress

configured capacity: 211370565632 (196.85 gb)

dfs used: 11459694592 (10.67 gb)

non dfs used: 187135799296 (174.28 gb)

dfs remaining: 12775071744(11.9 gb)

dfs used%: 5.42%

dfs remaining%: 6.04%

last contact: wed feb 22 23:51:48 pst 2012

在decommission status : decommission in progress变为 decommission status : decommission normal前mapreduce会异常增加节点

8.      向hadoop添加机器

处理措施:

把新机器的增加到conf/slaves文件中,重启datanode和jobtracker进程,当新添加的机器向namenode发送心跳信息后,namenode会自动感知新加入的机器,如果有必要可以做balancer操作。

操作命令:

1.把新机器的增加到conf/slaves文件中(datanode或者tasktracker crash则可跳过)

2.在新机器上进入hadoop安装目录

$bin/hadoop-daemon.sh start datanode

$bin/hadoop-daemon.sh start tasktracker

3.在namenode上

$bin/hadoop balancer

9.      杀死正在运行的job

操作命令:

bin/hadoop job –kill {job-id}

10.处理hbase的master宕机

操作命令:

./hbase-daemon.sh start master

./hbase-daemon.sh start zookeeper//可选

11.处理hbase的regionserver宕机

操作命令:

./hbase-daemon.sh start regionserver

./hbase-deamon.sh start zookeeper//可选

12.hbase集群间数据迁移方法总结

一、需要在hbase集群停掉的情况下迁移

步骤:

(1)执行hadoop distcp -f filelist "hdfs://new cluster ip:9000/hbasetest"

(2)在new cluster执行./hbase org.jruby.main add_table.rb /hbase/table20111222,将拷贝来的表加入到.meat.中(会出现region的数目不一致的问题,这个需要重启hase才能解决)

说明:(1)filelist为hdfs上的列表文件,内容如下:

/hbase/table20111222

/hbase/table20120131

(2)如果两个集群的hadoop版本不一致,需要在new cluster上执行hadoop distcp,否则会出现读写异常;

二、在集群运行的时候进行数据迁移

1、replication:这个是动态的备份(可以理解为实时备份)

步骤:(1)在old cluster将需要迁移的表属性进行修改:

disable 'your_table'

alter 'your_table', {name => 'family_name', replication_scope => '1'}

enable 'your_table'

(2)打开new cluster集群的replication,修改hbase-site.xml

<property>

<name>hbase.replication</name>

<value>true</value>

</property>

(3)添加peer,在new cluster的hbase shell中执行:add_peer '1','old cluster ip:2181:/hbase',启动replication,执行start_replication

说明:需要两个集群的hadoop版本一致,否则出现读写错误

2、copytable:可以在本集群中拷贝一张表,也可以将表拷贝到其他的集群中。

命令:./hbase org.apache.hadoop.hbase.mapreduce.copytable --peer.adr=new cluster ip:2181:/hbase zy_test

说明:(1)拷贝完成,不需要重启机器,在new cluster中就可以看到该表;

(2)稳定性还需要考虑,测试过程中遇到一个问题

此文来自: 马开东博客 转载请注明出处 网址:http://www.makaidong.com

,拷贝过程中始终都停留在这里lookedup root region location, 查看日志没有什么错误和相关的信息。

3、export and import

步骤:(1)在old cluster上执行:./hbase org.apache.hadoop.hbase.mapreduce.export test hdfs://new cluster ip:9000/zhuangyang/test

(2)在new cluster上执行:./hbase org.apache.hadoop.hbase.mapreduce.import test hdfs://new cluster ip:9000/zhuangyang/test

说明:(1)一定要写全路径,不能写相对路劲;

(2)在import前,需要将表事先在new cluster中创建好.

以上都是在old cluster和new cluster网络相通的情况下实现数据迁移的办法。

如果两个集群网络不通,只能先将old cluster中的数据都下载到本地或者其他的地方,然后在人工的转移到new cluster上了

13.不重启namenode可以使配置文件生效

hadoop dfsadmin -refreshnodes

14.清空垃圾回收站

[root@master data]# hadoop fs -rmr .Trash
Deleted hdfs://master:9000/user/root/.Trash

此文链接:http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%8E%92%E8%A1%8C/9639.shtml

 
 

Hadoop运维操作的更多相关文章

  1. Hadoop运维记录系列

    http://slaytanic.blog.51cto.com/2057708/1038676 Hadoop运维记录系列(一) Hadoop运维记录系列(二) Hadoop运维记录系列(三) Hado ...

  2. Linux内存运维操作及常用命令

    Linux内存运维操作及常用命令 1.问题诊断 1.1 什么是 Linux 服务器 Load Average? 1.2如何查看 Linux 服务器负载? 1.3服务器负载高怎么办? 1.4如何查看服务 ...

  3. Hadoop运维

    简单记录几个hdfs的运维命令 //查看hdfs的状态,是否有missing block,corrupt block等,也可以看datanode的状态 hdfs dfsadmin -report // ...

  4. CM记录-Hadoop运维管理

    1.自动化运维--cloudera manager 2.手动运维 a.启动./start.all.sh,停止./stop-all.sh b.hdfs启动/停止:./start-dfs.sh   ./s ...

  5. 2015年br运维操作归档

    归档2015年在br做运维时常用的命令,主要梳理出log的过滤操作. 对于日志文本的处理,常见还是sed和awk,具体如下: 统计ip访问量: cat nginx.log |awk '{print $ ...

  6. Redis 相关运维操作

    背景 Redis作为目前全球最流行的KV存储,除了使用之外,还需要做好日常的运维工作.关于运维相关的工作,本文从以下方面进行介绍说明(Redis5.0以上): 内存方面 客户端连接方面 工具方面 说明 ...

  7. WebLogic11g-常用运维操作

    转:http://www.codeweblog.com/weblogic11g-%e5%b8%b8%e7%94%a8%e8%bf%90%e7%bb%b4%e6%93%8d%e4%bd%9c/ 希望这篇 ...

  8. Hadoop记录-日常运维操作

    1.Active NameNode hang死,未自动切换 #登录当前hang死 Active namenode主机,停止Namenode,触发自动切换.hadoop-daemon.sh stop n ...

  9. Hadoop大数据学习视频教程 大数据hadoop运维之hadoop快速入门视频课程

    Hadoop是一个能够对大量数据进行分布式处理的软件框架. Hadoop 以一种可靠.高效.可伸缩的方式进行数据处理适用人群有一定Java基础的学生或工作者课程简介 Hadoop是一个能够对大量数据进 ...

随机推荐

  1. [HDU5727]Necklace(二分图最大匹配,枚举)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5727 题意:有N个阴珠子和N个阳珠子,特定序号的阴阳珠子放在一起会让阳珠子暗淡.现在问排放成一个环,如 ...

  2. [SAP ABAP开发技术总结]几个小技巧

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. CUBRID学习笔记 18 sql语句的预处理(类似存储过程)

    定义预处理  类似sqlserver的存储过程 语法 PREPARE stmt_name FROM preparable_stmt 说明 PREPARE 关键字 stmt_name 预处理语句的名字 ...

  4. HDU1518 Square(DFS)

    Square Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  5. JQery 中的 $(".bb:eq(1)") eq () 解释。。

    这是一段代码: <div id="bb">a</div> <div id="bb">b</div> <di ...

  6. VB6.0

    1. 安装包来自 http://msdn.itellyou.cn/ 下载的文件为: sc_vb6_ent_cd1.iso sc_vb6_ent_cd2.iso 2.安装时,"请输入产品的 I ...

  7. 1503 - A PRIMARY KEY must include all columns in the table's partitioning function

    1503 - A PRIMARY KEY must include all columns in the table's partitioning function 错误的原因:表的主键字段必须包含分 ...

  8. Android 图片Exif信息相关的获取与修改

    1 Exif是什么 Exif是一种图像文件格式,它的数据存储于JPEG格式是完全相同的,实际上Exif格式就是JPEG格式头插入了 数码照片的信息,包括拍摄的光圈.快门.平衡白.ISO.焦距.日期时间 ...

  9. Android 自定义列表指示器

    在联系人界面 可以看到这种界面 手指快速滑动右边滑动条时 可以显示相应的字母图标 android里提供了android.widget.SectionIndexer这个接口去实现该效果 可是只能显示字母 ...

  10. STM32学习笔记(二) 基于STM32-GPIO的流水灯实现

    学会了如何新建一个工程模板,下面就要开始动手实践了.像c/c++中经典的入门代码"hello world"一样,流水灯作为最简单的硬件设备在单片机领域也是入门首推.如果你已经有了一 ...