现阶段暂时不用hadoop了,为了怕自己忘记,对一些基本操作进行整理。
1.启动与退出
启动
首先刷新hadoop的配置文件:source /etc/profile
然后启动hadoop的守护进程:start-all.sh
查看启动情况:jps
正常启动的话这时会看到datanode, namenode, jps, secondary namenode, jobTracker, tasktracter 共6项,否则,格式化HDFS:hadoop namenode -format,然后重新执行上述操作
退出
任务进行完后,一定要记得关闭hadoop,否则下次启动时后出现一些问题
stop-all.sh
启动时还可能会遇到关于安全模式的问题,这时,查看namenode处于哪种状态:hadoop dfsadmin -safenode get
hadoop 启动时是在安全模式,进入安全模式: hadoop dfsadmin -safemode enter
进行插入删除操作时是在非安全模式,离开安全模式:hadoop dfsadmin -safemode leave
2.文件操作
hadoop 的hdfs文件操作命令类似linux命令,所不同的是,HDFS命令的格式为
hadoop fs -cmd<args>
其中,cmd的命令名常与unix对应的命令名相同
HDFS工作目录建立:hadoop fs -mkdir /user/$user ,$user是可以自己命名的,这样就建立了其工作目录。
然后我们就可以在该目录下建立自己的输入输出文件夹
文件上传:hadoop fs -put 本地文件路径 HDFS中想要放置的位置
文件下载:hadoop fs -get HDFS中想要下载的文件的路径 本地存储路径
如果不想下载,还可以查看HDFS上的文件:hadoop fs -cat 文件在HDFS中的路径
删除文件或空的文件夹: hadoop fs -rm 文件路径
删除文件夹:hadoop fs -rmr 文件夹路径
3.hadoop streaming运行map,reduce程序
首先确保编译好map,reduce程序,map,reduce程序各自的源文件可以由多个,但编译之后必须让其生成一个map程序,一个reduce程序,已检验过,这样做是可以的。
其次,输入文件必须上传到HDFS,
运行命令如下:
hadoop jar jar包位置(hadoop 安装路径/hadoop/bin/contrib/streaming/hadoop1.2.1-streaming.jar)
-input input文件路径
-output output文件夹路径
-mapper map程序路径
-reducer reduce程序路径
-jobconf mapred.reduce.tasks=任务数 或 mapred.map.tasks=任务数
-jobconf这个参数是用来人为的控制程序运行的map和reduce的任务个数,但其实map的任务个数是不能被控制的,原因见上篇。而控制reduce的个数为0的时候是为了方便检验map程序是否正确。
这个参数已经算是被废弃的,现在都用-D命令,与-jobconf命令的功能类似,不过-D命令必须出现在输入输出命令之前,已验证过,出现在其之后会报错。
4.hadoop的集群用户界面
我们也可以在hafs的用户界面查看任务的执行情况,端口号是50070
http:\\localhost:50070
可以查看上传的文件,输出的文件等等。
暂时先写这么多。
----------------------------------------------------------------------------------------------Mark here
本文档是对Hadoop 1.2.1的基本操作进行的整理,包括启动与退出流程、HDFS文件操作、Streaming运行map/reduce程序及集群用户界面的使用。启动涉及start-all.sh、hadoop dfsadmin命令;文件操作涵盖mkdir、put、get、cat、rm及rmr等;streaming使用涉及map和reduce程序的编译与运行;用户界面可在50070端口查看任务执行情况。
1万+

被折叠的 条评论
为什么被折叠?



