搭建Hadoop1.x,hdfs所总结的记录,由于知识和经验不足,里面的错误和不清楚的地方请您多多包含,若是有疑问评论我必定会及时回复。java
1. 准备三台以上的机Linux(node1,node2,node3...),这是个人主机版本node
2. 相互ping通,最好配置hosts的ip和主机名映射linux
3. 时间必定要一致(date命令查看)windows
4. 全部主机之间能够ssh免密码登录浏览器
5. 全部的机器上要安装合适的JDK,并配置好JAVA_HOME,CLASS_PATH,PATH这些变量,我配置在了/etc/profile中,也能够配置在 ~/.bash_profile,这两个目录文件均可以配置路径和环境变量。bash
配置以下:确保全部机器有同样合适的JDKssh
6. 关闭防火墙(全部主机)oop
7. 把hadoop(我安装的是hadoop-2.5.1)解压在某个目录下,开始配置文件orm
8. 在/hadoop-2.5.1/etc/hadoop/hadoop-env.sh中 配置JAVA_HOME,在这个文件中找到写JAVA_HOME的位置,在把本身本机的JAVA_HOME写上。xml
9. 在相同的目录下打开 (vi core-site.xml),这里配置两个变量,一个用来指定文件系统访问的方式和位置(namenode),一个用来指定hadoop工做空间位置。这个位置能够不用手动建立文件夹,格式化以后会自动建立。
10. 配置hdfs-site.xml,这个用来指定经过浏览器访问secondaryNameNode时的端口,具体看下面的。
这个配置好以后,开启hadoop能够经过浏览器IP加下面的端口访问secondaryNameNode,一个是http协议的一个是https协议的。但请注意,若是要访问NameNode时,端口号是50070(默认配置的,也可手更换).
11. 配置slaves(奴隶)文件,也在相同的目录下,这个文件中指定dataNode的主机,一行写一个主机,能够写主机名,也能够写IP,前提是要有hosts的映射文件。下面就是个人三台主机。
12. 配置masters,这个文件须要本身建立,这个文件中指定secondaryNameNode的主机,在同目录下建立。
13. 注意上面配置,不要写错,配置好以后,经过scp -r 命令把整个hadoop安装目录,发送到其它几台主机上,在其它主机上的位置要和这台主机的位置如出一辙。
14. 为了之后方便直接在任何位置敲hadoop的命令,咱们配置一下hadoop的环境变量,就像配置Java环境变量的目的同样。这个变量能够配置在~/.bash_profile(“~”对应的用户可使用)或者配置在/etc/profile(全部用户均可以使用)中。
15. 而后在把配置环境变量的文件经过scp -r 命令拷贝到其它机器的相同位置上。
16. 开始在nameNode上格式化!命令:hdfs namenode -format 注意:等待格式化完成,没有出现意外的话(格式化状态代码返回为:0),就会生成上面(9.步)配置的那个hadoop工做目录这个目录下的dfs/name/current中存放下面的这些东西,看到fsimage了吗?(不要纠结我有多个,由于我不是第一次运行hdfs了。)
17. 启动hdfs,命令:start-dfs.sh,正常启动见下图:看到了吗,很清楚的写明了namenode,datanode,secondarynamenode是哪几台机器。
18. 能够经过jps命令查看当前主机启动的java程序,以下:说明我启动了JPS和NameNode的java程序。(这样理解可能不许确,本身上网查查)
19. 经过浏览器访问,nameNode,访问nameNode的主机+端口(50070):个人便是192.168.1.111:50070,页面以下:(说明就hdfs初步搭建告成!)
20 .访问secondaryNameNode:主机+端口(50090或者50091(https)):个人是192.168.1.112:50090
搭建完成,多台机器搭建其实很简单的,其本质就是一个简单的文件系统,咱们经常使用的文件系统有windowsNTFS,linux的树状文件系统等
可使用:关闭hdfs的命令:stop-all.sh。