摘要: 这个是由于HDFS被异常关闭之后造成数据库的不一致状态而造成的:1)等当然,这个是最安全的方式,如果等了太长时间仍处于这个状态,尝试下面的方法2)强制退出安全模式,hadoop dfsadmin -safemode leave这种方式虽然快,但会有遗留问题,然后你就用"hadoop fsck /" 工具慢慢修复吧1)删除tmp文件目录下的所有的文件,重新format这种方式非常暴力,所有的数据均没有了 阅读全文
posted @ 2013-01-14 17:03 zaleilynn 阅读(1203) 评论(0) 推荐(0) 编辑
摘要: 报出这个错误的原因是无法像HDFS写信息,可能是你重新初始化了HDFS,立马就运行了jobtracker。解决办法就是,等一段时间,等HDFS初始化成功即可。 阅读全文
posted @ 2013-01-14 16:58 zaleilynn 阅读(323) 评论(0) 推荐(0) 编辑
摘要: var=${str-expr} var=${str:-expr}var=${str+expr}var=${str:+expr}var=${str=expr}var=${str:=expr}var=${str?expr}var=${str:?expr}没有怎么弄懂 TODO 阅读全文
posted @ 2013-01-14 16:16 zaleilynn 阅读(278) 评论(0) 推荐(0) 编辑
摘要: $$ 含义: 表示运行当前脚本的pid 例子: echo "current pid: $$"\ 含义:字符串中的转义符号 例子: echo "\$\$ is used to get pid: $$"$@ 和 $* 含义:表示所有的参数 例子: echo "all arg: $*" 或者 echo "all arg: $@" 两者的区别在于$@比$*更高级,它不使用IFS环境变量,所以即使IFS为空,参数也不会挤在一起,故推荐用$@$+数字 含义:运行脚本的参数 例子:echo "cmd: $0 $1&qu 阅读全文
posted @ 2013-01-14 15:20 zaleilynn 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 目前来说有三种方法: 1. 脚本绝对路径 这个方式是最普通的,底层调用的是fork实现,运行的时候开一个子shell执行调用的脚本,子shell执行的时候,父shell还在 子shell执行完毕后返回父shell,子shell从父shell继承环境变量,但是子shell中的环境变量不会带回父shell中 2. 句号 + 脚本绝对路径 底层调用的是source实现的,他于fork的区别是不新开一个子shell来执行被调用的脚本,而是在同一个shell中执行,所以被调用脚本中申明的变量和环境变量,都可以在主脚本中得到和使用 2. exec + 脚本绝对路径 exec与fork不同,不需要新开一个子 阅读全文
posted @ 2013-01-14 14:52 zaleilynn 阅读(1692) 评论(0) 推荐(0) 编辑
摘要: 1. DLOG(WARNING) 不能正确的写到warning文件中,反而写到了info文件中。 会不会是fork的时候造成的问题? 初始化glog相关代码 m_pid = fork(); if(m_pid == 0) { CloseInheritedFD(); //DLOG(WARNING) << } //DLOG(WARNING) <<注意是这个issue:http://code.google.com/p/google-glog/source/detail?r=942. glog 与 repid xml一起使用的时候,会出现诡异的问题,是不是内存被弄坏了? 阅读全文
posted @ 2013-01-14 13:59 zaleilynn 阅读(543) 评论(0) 推荐(0) 编辑