实验条件:1台ubuntu服务器,jdk版本1.8.X,Hadoop 版本1.2.X
如果不输入口令就无法用ssh登陆localhost,即ssh免密登陆,则执行下面的命令,产生公私钥对,
将私钥放入authorized_keys
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh默认端口是22,但是服务器往往基于安全考虑会修改默认端口,这里要注意,如果修改了ssh端口,
则需要修改默认端口,或者再加一个ssh端口
ps:跟另一个服务器管理员互相该端口和配置文件
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
设置hdfs的节点个数和信息,包括hdfs的节点路径、数据路径!
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
错误示范
如此设置后我碰到的错误是:hadoop namenode -format 无效,报错NameNode is not formatted.
启动hdfs后,namenode无法启动,因为我这个版本目前无需手动设置namenode和datanode路径。
设置jobtracker的地址和端口号!
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
$HADOOP_HOME/bin/hadoop namenode -format
$HADOOP_HOME//bin/start-all.sh
到hadoop的logs目录查看日志,查看未启动进程的相应日志,如hadoop-username-namenode-XXXXXXX.log,
根据最近的未启动报错查找原因。
$HADOOP_HOME//bin/stop-all.sh
给我带来帮助,同时也引入坑的参考:
https://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html
https://blog.csdn.net/henni_719/article/details/77732815
https://www.cnblogs.com/hopelee/p/7049819.html
原文:https://www.cnblogs.com/ChengzhiYang/p/11329442.html