以下配置时,可在网上进行查询,严谨
在伪分布式的基础上搭建
首先规划自己的hadoop角色
NN | SNN | DN | |
---|---|---|---|
node01 | * | ||
node02 | * | * | |
node03 | * | ||
node01 | * |
一、首先在“03伪分布式”中搭建的node01需要关掉
stop-dfs.sh
二、另外三台虚拟机
1.安装jdk
rpm -ivh jsk-*
2.配置JAVA_HOME环境
复制node01中/etc/profile的三个export,拷贝给其他三个
scp /etc/profile root@node02:/etc/
scp /etc/profile root@node03:/etc/
scp /etc/profile root@node04:/etc/
3.免密钥配置
先给其他三台添加.ssh目录,为它们输入:
ssh localhost
在node01中进入“~/.ssh”目录,将id_dsa.pub公钥拷贝给其他三个
scp id_dsa.pub node02:`pwd`/node01.pub # 并重命名为node01.pub以防止公钥冲突被覆盖
scp id_dsa.pub node03:`pwd`/node01.pub
scp id_dsa.pub node04:`pwd`/node01.pub
在那三台机器中,将~/.ssh/node01.pub追加到authorized_keys中,如果node08也要管理,则每台机器都会收到node08.pub,然后将node08.pub追加到authorized_keys中,如果node08也要管理,则每台机器都会收到node08
cd ~/.ssh
cat node01.pub >> authorized_keys
4.时间同步
date查看
三、部署Hadoop
1.为三台机器创建目录
mkdir /opt/sxt/
(这是在env的JAVA_HOME修改后的基础上更改的,也就是先进行了伪分布式的搭建)
2.首先在node01中配置完整集群文件
cd $HADOOP_HOME
cd etc/hadoop
(以上会进入/opt/sxt/hadoop-2.6.5/etc/hadoop目录)
vi core-site.xml
下面的value被使用啦,里面有数据啦,所以改为
<value>/var/sxt/hadoop/full</value>
vi slaves
删除其中的node01
node02
node03
node04
vi hdfs-site.xml
将第一个value中的1改为2,即为两个副本
需要将下面的value中的node01改为node02
3.分发给其他的其他三个
scp -r /opt/sxt/hadoop-2.6.5/ node02:/opt/sxt/hadoop-2.6.5/
scp -r ./hadoop-2.6.5/ node03:`pwd`
scp -r ./hadoop-2.6.5/ node04:`pwd`
4.在node01中格式化
hdfs namenode -format
5.启动
start-dfs.sh