俺是按照下面这篇文章进行搭建的:
http://cio.51cto.com/art/201705/539356.htm
说实话,上面这篇文章很好。几乎不用改。一步一步按照搭建,没有问题。
俺遇到的坑是:
-
master连接不上slave.这可咋办。配置文件都没问题啊。
解决方法: namenode经过多次格式化,产生了多个clusterID导致。(往后不敢随便格式化玩了)
只要确保master的clusterID和slaveID一致,就能连上了。
俺的路径是:master: hadoop273/hdfs/name/current/VERSION
slave : hadoop273/hdfs/data/data/VERSION
就是把VERSION里面的clusterID一样。其他都不用改。(layoutVersion也不用改。
这篇文章末尾也有用:http://blog.csdn.net/zzu09huixu/article/details/24725769
还有这篇:http://blog.csdn.net/longzilong216/article/details/20648387
-
===============================
主机名的问题:/etc/hosts 和 /etc/sysconfig/network 里面,主机名要一致。
俺这2个文件都改了,还是不认主机名。ping主机名都ping不通。俺不敢重启。于是
hostname “主机名”,用一个命令临时生效。就通了。
-
==================================
java,俺是自己安装的。从网上找的文章:
http://www.cnblogs.com/shihaiming/p/5809553.html
安装完之后,就OK了。
切记,java版本,和装hadoop那篇文章中的版本,要相应的对起来。我的意思是,名字要改, 比如我装的是jdk1.8.0_131.hadoop那篇文章装的是jdk1.8.0_101. 改一下文件夹名字,就行了。
4.===========================
文中的配置,别随便乱改。
hadoop 刚开始,我用root安装的。后来,为了让hadoop这个用户用。我就改了属组和属主。并hadoop273(文件夹)和java(文件夹)权限,全都777.
chown -R hadoop:hadoop hadoop273
chmod -R 777 hadoop273
这下,hadoop可以用了。
后来,为了其他用户的权限分配问题。我又改了文件夹权限(改之前,先备份):
chmod -R 755 hadoop273
chmod -R 755 java
5.测试命令:
俺用的是(从别人那里抄来的):
运行示例程序:
先在hdfs上创建一个文件夹
./bin/hdfs dfs –mkdir /input
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jarrandomwriter input
就是上面这2条命令,就ok拉。randomwriter 这是个文件呢还是文件夹,我也不知道。我的系统上反正没有,但是敲这2条命令,就能测试出来,是真的。
6.ssh免密登录:
在启动的时候:
sbin/start-dfs.sh
sbin/start-yarn.sh
或者:sbin/start-all.sh
就这几条命令,每次都得输入密码。还输入4次。可烦人了。就算复制粘贴也还是烦人。
用下面这个连接,解决了我的问题:
http://blog.csdn.net/firehadoop/article/details/68953541
把master的公钥拷贝到slave即可。master到slave上面,不用输密码。
反过来。slave到master上面,还得输入密码。
刚开始,我还以为,master上启动一遍集群,slave上面还得启动一遍。原来,只要在master上面启动了,slave上就自动启动了呀。哎哎,才明白。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/193503.html