hadoop学习【4】——hadoop配置、运行错误总结

hadoop学习【4】——hadoop配置、运行错误总结

前言昨天晚上试玩hadoop算是用实例程序跑成功了,但是今天跑hadoop程序的时候却又异常的出错了——datanode没有启动起来,其他的全部正常,我感觉异常的奇怪,因此决定好好的总结下,在hadoop配置和运行中的常见错误。

问题一:

【namenode无法启动,这个问题有很多原因,虽然说应该参照日志文件进行排错,但是我试着看了下日志文件,真的是很难看的。不过这里我给出一个常见的错误:】

(1)在core-site.xml中指定了如下配置:(就是使用了默认的设置)

  <property>
 
   <name>hadoop.tmp.dir</name>
 
   <value>/tmp/hadoop/hadoop-${user.name}</value>
 
 </property>

但是tmp会在启动的时候清空,而dfs的数据就会变得不一致,导致启动失败,可以重新更改位置:

  <property>
 
   <name>hadoop.tmp.dir</name>
 
   <value>/var/hadoop/hadoop-${user.name}</value>
 
 </property>

然后执行: hadoop namenode -format  命令(由于namenode数据存储目录变更,namenode需要重新格式化)

重启后即可。

      我出错使用了一个种比较愚蠢的做法,我把namenode所在的结点的tmp文件夹和logs文件夹全部删除,重新创建,然后重新格式化namenode重启hadoop集群,但是,这么做的结果就是,我发现重启hadoop集群后,namenode是跑起来了可是datanode又跑不起来了,于是我索性将slaves结点上的tmp文件夹河logs文件夹都删除重新创建了下,最后格式化namenode,格式化的时候是没问题,但是当启动的时候一大堆的问题,体现最明显的就是权限问题,我马上想起来了,因为平凡的在root和grid用户之间切换创建文件夹,所以,当用grid用户进行某些操作时就会出现权限问题,所以,没办法,又得改权限了(改的时候先切换到root下再改):

<span style="font-size:18px;">chown –R grid:grid /usr/hadoop/tmp
sudo chmod -R a+w /usr/local/hadoop</span>
改完后重新启动,就OK了,全部启动没有问题!

问题二

【使用secureCRT中文乱码问题:】

1,修改远程linux机器的配置 
vim /etc/sysconfig/i18n 
把LANG改成支持UTF-8的字符集 
如: 
LANG=”zh_CN.UTF-8″ 
或者是 
LANG=”en_US.UTF-8″ 
2,然后再改Secure CRT的设置 
选项->会话选项->外观->字符编码->uft-8 
3,退出,再重新登录。发现utf8的文件都能正确读了,utf8的文件名也能正确显示了 

(另外补充一点的是,如果改完后,中文显示成问号了,这种情况下,果断换一个secure CRT!!!。我就遇到了这情况,换了一个立马见效。

这里给大家一个我试过的没问题的SecureCRT:http://pan.baidu.com/s/1jG4zXZo

问题三、secureCRT中文乱码问题是解决了,那么如何才能让secureCRT像在linux中一样显示有颜色呢?

【SecureCRT 设置彩色和显示中文
设置Options->SessionOptions ->Emulation,然后把Terminal类型改成xterm,并点中ANSI Color复选框。
字体设置:Options->SessionOptions->Appearance->font然后改成你想要的字体就可以了。
注意:
1:字符集选择utf8,这样可以避免显示汉字乱码
2:选择字体的时候,需要选择ture type的字体(如新宋体),不然会出现汉字乱码
3:scrollback buffer 调大(5000),这样你就可以看到以前显示内容,这样方便很多
4:terminal要选择xtem,这样你ssh到服务器上才能 显示颜色 ,并把ANSI Color打上

5:我选择的颜色方案Windows或Traditional。

未完待续。。。

你可能感兴趣的:(HADOOP集群,hadoop错误总结)