菜鸟也学hadoop(1)_搭建单节点的hadoop
其实跟官方的教程一样 只是 我想写下来 避免自己搞忘记了,,,,好记性不如烂笔头 首先确认自己是否安装了 java, ssh 以及 rsync 没有装的直接就 apt-get install 了嘛,,,java的不一定要用sun的 OPEN的也好 主要方便。。。。不是重点 看着搞啦 然后 就是ssh免密码登录 这点 主要是因为 hadoop 需要通过ssh来启动salve列表中的各个主机守护进程,因为 分布式集群管理的 所以不管你是用的单机伪分布 或是分布 它都不分管理模式的,因此这一步必须搞 也简单 就两道命令 /opt/hadoop# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #后面学到的新的做法 记录一下 On source host: cd ~ mkdir . ssh chmod 700 . ssh cd . ssh ssh -keygen -t rsa -b 1024 cat id_rsa.pub copy contents of id_rsa.pub On destination host: cd ~ mkdir . ssh chmod 700 . ssh cd . ssh vi authorized_keys paste contents of id_rsa.pub from evnoltp9 into authorized keys :wq! #chmod 600 authorized_keys chmod og-rxw $HOME/. ssh $HOME/. ssh /authorized_keys 另外要注意请务必要将服务器上 ~/.ssh权限设置为700 ~/.ssh/authorized_keys的权限设置为600 试一试 是否可以免密码登录 ssh localhost 这样就完成了第一步 echo $JAVA_HOME 看看jdk安装在哪里 然后copy一下路径 一会用上 vim ./conf/hadoop-env.sh 当中大概第九条 把那里的JAVA_HOME 指定一下 export JAVA_HOME=/usr/lib/jdk/jdk1.7.0_07 ##保存 配置 hadoop核心配置文件 vim ./conf/core-site.xml <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> ##hdfs入口 </property> </configuration> 配置 hadoop 的HDFS配置文件 vim ./conf/hdfs-site.xml <configuration> <property> <name>dfs.replication</name> <value>1</value> ##文件副本数量 但节点 一个就够了 </property> </configuration> 配置 hadoop 的 MapReduce配置文件 vim ./conf/mapred-site.xml <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration> 这样 一个单节点的Hadoop就配置成功了 剩下的就是格式下文件系统 然后 启动就OK 了 首先是格式文件系统 hadoop namenode -format 接下来启动 start-all.sh 当然 你可以 单单启动 HDFS(start-dfs.sh) 也可以单单启动 MapReduce (start-mapred.sh) 验证是否成功 打开浏览器 localhost:50030 ##MapReduce WEB管理界面 localhost:50070 ##HDFS WEB管理界面 测试上传文件到 hdfs文件系统当中 hadoop fs -put 文件名 hdfs://localhost:9000/指定一个文件夹 或者 就放到根目录 刷新下 hdfs管理界面 就能看到那个文件了 测试 MapReduce 例子 用的 hadoop里面自带的例子 计算shell脚本当中的单词量 首先先上传 要计算的sh文件 hadoop fs -mkdir /input ##创建一个input文件夹 hadoop fs -put *.sh /input/ ##上传当前文件夹下所有的*.sh文件 到 hdfs 的 input 文件夹下 hadoop jar hadoop-examples-i.0.3.jar wordcount /input /output 开始计算 过程省略 仅仅使用于测试的 -----完成后 可以在 localhost:50070 文件管理系统当中发现一个output文件夹 点进入 在part-r-00000 当中记录了结果 前面是单词 后面是出现的次数 在localhost:50030 可以看到running jobs(这里显示 运行当中的) completed jobs (这里显示作业运行的统计)点进去可以看到一些 更详细的信息,自己研究啦 由于在 UBUNTU当中截图麻烦 我就不发图了 按照步骤一步一步来 亲测OK 我用的 UBUNTU 12.04 注:后面我看了书 hadoop实战 机械工业出版社的那本 说是不能用openJava 但是我原来看别人录制视频 说是可以, 我呢是用的 oracle的 大家如果用open的装不上 就用oracle的吧 没有实践过 本文转自 拖鞋崽 51CTO博客,原文链接:http://blog.51cto.com/1992mrwang/1011844