2013-05-14.2
===========
今天启动bin/start-all.sh,发现namenode又没有起来,看来不是非法关机的原因。查了一下logs/hadoop-<user>-namenode-ubuntu.log的日志,再结合google,发现是因为dfs存储目录默认是在/tmp下,而系统重启可能会清理这个目录中的某些内容,在conf/hdfs-site.xml中指定如下属性就可以了:
<property>
<name>dfs.name.dir</name>
<value>/hadoopstorage/name/</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/hadoopstorage/data/</value>
</property>
注意 /hadoopstorage 目录的所有者需要是运行 hadoop 的用户,如果所有者是root可能会不能访问。
2013-05-13.1
===========
启动bin/start-all.sh总是要输入3次linux用户的密码,很烦,原来是因为SSH没有配成无密码方式,原理是要把master机的公钥(默认在~/.ssh/id_rsa.pub)拷贝到target机的~/.ssh/目录,并改名为authorized_keys,用pseudo模式则在同一个目录中拷贝到authorized_keys这个名字就行了,然后就不需要输入多次密码了。如果用
$ ssh localhost
命令验证的话,就是无需输入密码即可连接。
今天启动hadoop后执行
$ bin/hadoop namenode -format
命令居然报错,说连不上localhost:9000,用 jps 命令一看,namenode进程没起来,用
$ bin/hadoop namenode -format
重新格式化就好了,真是莫名其妙,难道我昨天强制关机了?不记得有过这种事啊。
2013-05-12.7============
ubuntu安装OpenSSH Server:
sudo apt-get install openssh-server