欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hadoop分布式文件系统HDFS的安装

程序员文章站 2022-07-14 15:19:41
...

部署环境:64位Centos6.5操作系统
Hadoop版本:64位Hadoop2.5.1
JDK版本:必须是1.7

结构图:
Hadoop分布式文件系统HDFS的安装
由于我没有多的节点所以Hadoop1既是SecondaryNameNode和DataNode。


1、启动四个节点,使用date命令查看四台机子的时间差是否在30秒内,这是必须一致的。如果不一致我们可以手动设置,我是选择和网络时间一致,使用命令:ntpdate cn.pool.ntp.orghwclock --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

Hadoop分布式文件系统HDFS的安装
如果我们在格式化后又修改了配置文件我们需要重新格式化!
启动成功!
我们可以通过健康检查页面查看dfs:
192.168.149.138是NN的ip,通过50070端口查看:
Hadoop分布式文件系统HDFS的安装
如果我们看不见这个页面考虑是不是没有关闭防火墙。使用service iptables stop关闭

我们可以看见有3个活动的DN:
Hadoop分布式文件系统HDFS的安装
查看详情:
Hadoop分布式文件系统HDFS的安装