-
最近在学习Hadoop,自己之前搭建的完全分布式就只看主机和从机直接能不能免密登录过后就以为已经完成的搭建。直到最近帮同学解决问题时才发现是我太天真了,后面还有一大堆文件需要配置。
-
言归正传,很多同学在学习的时候,因为之前搭建了伪分布式,所以大部分的配置文件都已经配置好了,所以这里就不展示配置文件了。
-
我们在做完配置文件后,我们需要先格式化。在格式化之前我们应该要把我们在core-site.xml文件中配置的用来指定Hadoop运行时产生的文件的存放目录地址中的地址文件删除,我配置的是/home/hadoop/hadoopdata所以我就删除了hadoopdata文件,然后从新新建一个hadoopdata文件。然后进行格式化。
-
我们很多人在格式化之前都容易忽略几个配置文件
1、yarn-env.sh文件,配置YARN里的Java安装路径参数。
2、slaves文件,这个是主要无法启动从机服务的原因,需要将原先文件里面的localhost更改问从机的名称,有几个从机就放几个(分行放)
这里两个文件一定要配置,一定、一定、一定!!!!
所以的配置文件都配置好以后就需要格式化namenode了,因为我们的从机都是克隆的主机,所以从机里面的hadoop运行产生的文件的存放文件也需要删除后重新创建。
这里配置完之后需要把Hadoop文件发给从机,让从机也直接可以配置好所以文件scp -r hadoop-2.6.0-cdh5.6.0 hadoop@slave1:~/(slave2同理)
所以的一切的都完成之后,我们就可以进入hadoop目录下的bin文件了,在bin下面格式化namenode(hadoop namenode -format)注意:namenode后面有一个空格。
注意:红色圈起来这里一定要显示0才说明格式化成功了。
接下来就可以在主机中启动服务了,不必在从机中去启动。
这里框出来的slave1和slave2就说明两个从机的服务也已经启动起来了
下面我们就可以使用jps来查看我们的服务了
这里可能会有同学namenode启动不起来,是因为多次格式化导致的name和data中的CID不同,大家可以去查看一下,把CID设置成一样的就可以了。
也有可能没有datanode,这个只需要单独启动就好了,我也不知道为什么,有知道的小伙伴也可以来告诉我,谢谢啦。