这里推荐大家进入slave1和slave2,把他们的id_dsa.pub发送到master上,然后再添加到master的authorized_keys中,再把master中的authorized_keys传到slave1和slave2中即可。
scp ~/.ssh/id_dsa.pub u@master:~/.ssh/id_dsa.pub.slave1(u处填你master的用户,即hadoop,slave1用来区别不同主机的公钥)。
然后,输入,cat ~/.ssh/id_dsa.pub.slave1 >> ~/.ssh/authorized_keys
当slave1和slave2的公钥都传入后,再键入:
scp ~/.ssh/authorized_keys slave1:~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys slave2:~/.ssh/authorized_keys
此时,若在master输入ssh slave1 可以连接到slave1,那就算配置完成了。
接下来,下载hadoop。输入
wget
文件会下载在当前目录,为了方便配置,换到另一个位置
mv hadoop-1.2.1.tar.gz /opt
cd /opt
tar -zxvf hadoop-1.2.1.tar.gz
解压完成后,会生成一个hadoop-1.2.1的文件夹。
我们进入,该文件夹。
cd hadoop-1.2.1
ls
我们要进入其中的conf文件夹进行配置。
我们需要配置如下参数,其余的保持默认即可。
其中每个文件的配置请大家登录我的个人主页进行下载:
然后,我们还需要配置一下JDK,前面一直忘记说了。汗,不过JDK的配置过程十分简单,先去Oracle官网获取JDK1.6以上的版本。下载下来后解压,解压命令上面写过,记住解压的位置。
然后,配置profile。输入:vim /etc/profile
箭头位置分别填入你jdk解压后的文件夹路径和Hadoop的文件夹路径。
保存后,输入
source /etc/profile
使profile立刻生效。
接下来,输入hadoop回车,应该可以看见相应的指令提示。
我们要注意,hadoop的运行脚本是放在hadoop的bin文件夹下的,我们进入那个文件夹
其中的start-all.sh和stop-all.sh是最重要的两个脚本,是用来启动和关闭我们的hadoop的,这个操作请在master上运行,否则后果很严重。
运行这个指令之前,要先初始化namenode
hadoop namenode -format
然后就可以准备运行了,在这之前,让我们输入一下jps来查看有什么java进程正在运行。
三台机器应该都是只有jps一个进程,现在让我们在master上输入
start-all.sh
然后再输入jps
master的结果应该是:
NameNode
SecondaryNameNode
JobTracker
jps
两个slave的结果应该是:
DataNode
TaskTracker
jps
这样就算安装完成了,可以试试
hadoop fs -ls来查看集群上的文件。
也可以打开浏览器,输入master:50030和master:50070来查看状态
PS:
为什么最后面的内容没有截图呢!因为我操作的时候,不小心ssh了slave1,然后在这个状况下格式化了namenode并启动了,直接就崩了好吧!!遇到这种情况怎么办,其实是有办法的。
把这四个文件夹全部删除,然后再重新创建就好了。唉,不说了,面壁了。
下面关于Hadoop的文章您也可能喜欢,不妨看看:
Ubuntu14.04下Hadoop2.4.1单机/伪分布式安装配置教程