完全分布式HDFS集群,是一个真正的分布式集群,主要角色有NameNode,SecondaryNameNode,DataNode
集群规划:
NN | SNN | DN | |
---|---|---|---|
node01 | * | ||
node02 | * | * | |
node03 | * | ||
node04 | * |
一、时间同步
- 各个节点安装ntp命令
[root@node01 ~]# yum install ntp
- 上网查找最新的时间服务器 ntp1.aliyun.com
- 同步时间ntpdate ntp1.aliyun.com同步时间ntpdate ntp1.aliyun.com
[root@node01 ~]# ntpdate ntp1.aliyun.com
二、免密登录
- 所有节点执行
[root@node01 ~]# ssh-keygen -t rsa
- node01->node01 node01->node02 node01->node03 node01->node04
[root@node01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01
[root@node01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node02
[root@node01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node03
[root@node01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node04
三、所有节点配置JDK
四、解压配置hadoop和配置/etc/profile 和 ~/.bashrc
- 修改hdfs-site.xml配置文件
<configuration>
<!-- 文件在系统中存在的数量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- SNN所在位置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node02:50090</value>
</property>
</configuration>
- 修改core-site.xml配置文件
<configuration>
<!-- 集群中NameNode结点的URI(包括协议、主机名称、端口号) -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9000</value>
</property>
<!-- 临时目录设定 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/var/abc/hadoop/cluster</value>
</property>
</configuration>
- 修改slaves配置文件
node02
node03
node04
五、将配置好的HDFS安装包拷贝到node02 node03 node04,并配置/etc/profile 和 ~/.bashrc
[root@node01 software]# scp -r hadoop-2.6.5 root@node02:/opt/software/
六、将所有的HDFS相关的进程关闭
[root@node01 software]# stop-dfs.sh
七、格式化NameNode(创建目录以及文件)在node01节点执行
[root@node01 software]# hdfs namenode -format
七、启动HDFS
[root@node01 software]# start-dfs.sh
遇到问题可参考搭建HDFS集群应该注意虚拟机的相关配置