Hadoop1.x之hdfs集群搭建

原创
2017/09/24 16:55
阅读数 196

搭建Hadoop1.x,hdfs所总结的记录,因为知识和经验不足,里面的错误和不清楚的地方请您多多包含,如果有疑问评论我一定会及时回复。

1. 准备三台以上的机Linux(node1,node2,node3...),这是我的主机版本

2. 相互ping通,最好配置hosts的ip和主机名映射

3. 时间一定要一致(date命令查看)

4. 所有主机之间可以ssh免密码登陆

5. 所有的机器上要安装合适的JDK,并配置好JAVA_HOME,CLASS_PATH,PATH这些变量,我配置在了/etc/profile中,也可以配置在 ~/.bash_profile,这两个目录文件都可以配置路径和环境变量。

配置如下:确保所有机器有一样合适的JDK

6. 关闭防火墙(所有主机)

7. 把hadoop(我安装的是hadoop-2.5.1)解压在某个目录下,开始配置文件

8. 在/hadoop-2.5.1/etc/hadoop/hadoop-env.sh中  配置JAVA_HOME,在这个文件中找到写JAVA_HOME的位置,在把自己本机的JAVA_HOME写上。

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。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部