Hadoop分布式文件系统HDFS的安装
部署环境:64位Centos6.5操作系统
Hadoop版本:64位Hadoop2.5.1
JDK版本:必须是1.7
结构图:
由于我没有多的节点所以Hadoop1既是SecondaryNameNode和DataNode。
1、启动四个节点,使用date
命令查看四台机子的时间差是否在30秒内,这是必须一致的。如果不一致我们可以手动设置,我是选择和网络时间一致,使用命令:ntpdate cn.pool.ntp.org
,hwclock --systohc
。
2、安装jdk并设置JAVA_HOME,我的四个节点都有自带的jdk,并且JAVA_HOME
为/usr
。
3、设置节点Hadoop
对节点Hadoop1
、节点Hadoop2
、节点Hadoop3
免密码登录。
首先在各个节点的/etc/hosts里面添加Hadoop,Hadoop1,Hadoop2,Hadoop3主机名和iP映射:
192.168.149.138 Hadoop
192.168.149.136 Hadoop1
192.168.149.137 Hadoop2
192.168.149.135 Hadoop3
然后各个节点生成公钥和私钥,公钥放入本地认证,先完成本地的免密码登录:
ssh-****** -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
最后复制Hadoop的id_dsa.pub到Hadoop1、Hadoop2和Hadoop3,然后分别追加到各自的本地认证中:
[root@Hadoop ~]# scp ~/.ssh/id_dsa.pub root@Hadoop1:/opt
[root@Hadoop ~]# scp ~/.ssh/id_dsa.pub root@Hadoop2:/opt
[root@Hadoop ~]# scp ~/.ssh/id_dsa.pub root@Hadoop3:/opt
[root@Hadoop1 ~]# cat /opt/id_dsa.pub >> ~/.ssh/authorized_keys
[root@Hadoop2 ~]# cat /opt/id_dsa.pub >> ~/.ssh/authorized_keys
[root@Hadoop3 ~]# cat /opt/id_dsa.pub >> ~/.ssh/authorized_keys
我首先配置节点Hadoop
,配置好后直接复制给其他节点就行了。我将Hadoop-2.5.1的安装文件解压到了/home
目录下。
5、配置hadoop2.5.1/etc/hadoop/core-site.xml和hadoop-env.sh文件:
core-site.xml:
<!-- Put site-specific property overrides in this file. -->
<configuration>
<!--配置NameNode在哪台机器以及它的端口,也可说是HDFS的入口 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://Hadoop:9000</value>
</property>
<!-- HDFS工作目录的设置,默认是linux的/temp,每次linux重启会清空,hadoop中的数据会全部丢失.-->
<!-- 其它一些目录是以这个临时目录为基本目录的,如dfs.name.dir和dfs.name.edits.dir等-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.5</value>
</property>
</configuration>
hadoop-env.sh:
export JAVA_HOME=/usr #具体根据自己的JAVA_HOME设置
6、配置hadoop2.5.1/etc/hadoop/hdfs-site.xml:
<!--配置SecondaryNameNode的http和https-->
<!--我们选择Hadoop1作为SNN-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Hadoop1:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>Hadoop1:9000</value>
</property>
7、配置slaves配置DN:
选择Hadoop1、Hadoop2和Hadoop3为DN
Hadoop1
Hadoop2
Hadoop3
8、配置masters配置SNN:
没有这个文件我们要自己新建,选择Hadoop1为SNN
Hadoop1
9、把/home
目录下的整个hadoop-2.5.1文件夹拷贝到其他三个节点的/home
目录下:
[root@Hadoop conf]# scp -r /home/hadoop-2.5.1 root@Hadoop1: /home
[root@Hadoop conf]# scp -r /home/hadoop-2.5.1 root@Hadoop2: /home
[root@Hadoop conf]# scp -r /home/hadoop-2.5.1 root@Hadoop3: /home
10、在每个节点中配置一下~/.bash_profile
文件:
export Hadoop_HOME=/home/hadoop-2.5.1
export PATH=$PATH:$Hadoop_HOME/bin:$Hadoop_HOME/sbin
source ~/.bash_profile
使修改生效。
11、bin目录下格式化NN并启动:
./hadoop namenode -format //只需一次即可
./start-dfs.sh //启动HDFS
如果我们在格式化后又修改了配置文件我们需要重新格式化!
启动成功!
我们可以通过健康检查页面查看dfs:
192.168.149.138是NN的ip,通过50070端口查看:
如果我们看不见这个页面考虑是不是没有关闭防火墙。使用service iptables stop
关闭
我们可以看见有3个活动的DN:
查看详情:
上一篇: 【图解算法】链表(下)
下一篇: VGG16小记