Hadoop hdfs完全分布式搭建教程

1、安装环境

①、四台Linux CentOS6.7 系统

  hostname                ipaddress                subnet mask                  geteway    

1、 master     192.168.146.200    255.255.255.0      192.168.146.2

2、 slave1      192.168.146.201    255.255.255.0      192.168.146.2

3、 slave2      192.168.146.202    255.255.255.0      192.168.146.2

4、 slave3      192.168.146.203    255.255.255.0      192.168.146.2

   其中 master 机器是 NameNode;

      slave1 机器是 SecondaryNameNode

      slave1,slave2,slave3 是三台 DataNode

  ②、hadoop 2.7 安装包

    百度云下载链接:http://pan.baidu.com/s/1gfaKpA7 密码:3cl7

  ③、三台机器上建立一个相同的用户 hadoop

2、安装 JDK

  教程:https://cloud.tencent.com/developer/article/1012685

3、配置SSH 无密码登录

  教程:https://cloud.tencent.com/developer/article/1012740

我们以 master 机器来进行如下配置:

4、解压 hadoop-2.7.3.tar.gz

①、将下载的 hadoop-2.7.3.tar.gz  复制到 /home/hadoop 目录下(可以利用工具 WinSCP)

  ②、解压,进入/home/hadoop 目录下,输入下面命令

tar -zxvf hadoop-2.7.3.tar.gz

  ③、给 hadoop-2.7.3文件夹重命名,以便后面引用

mv hadoop-2.7.3 hadoop2.7

  ④、删掉压缩文件 hadoop-2.7.3.tar.gz,并在/home/hadoop 目录下新建文件夹tmp

   ⑤、配置 hadoop 环境变量(这里我Java 和 hadoop 环境变量一起配置了)

  使用 root 用户登录。输入

vi /etc/profile

5、配置 hadoop 文件中相应的文件

   需要配置的文件如下,hadoop-env.sh,core-site.xml,hdfs-site.xml,slaves,所有的文件配置均位于hadoop2.7.1/etc/hadoop下面,具体需要的配置如下:

  5.1 配置/home/hadoop/hadoop2.7/etc/hadoop目录下的core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.146.200:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/tmp</value>
    </property>

</configuration>

  注意:hadoop.tmp.dir是hadoop 文件系统依赖的配置文件。 默认是在 /tmp 目录下的,而这个目录下的文件,在Linux系统中,重启之后,很多都会被清空。所以我们要手动指定这写文件的保存目录。

     这个目录路径要么不存在,hadoop启动的时候会自动帮我们创建;要么是一个空目录,不然在启动的时候会报错。

   5.2配置/home/hadoop/hadoop-2.7/etc/hadoop目录下的hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>192.168.146.201:50090</value>
    </property>
</configuration>

  注意:dfs.replication 是配置文件保存的副本数;dfs.namenode.secondary.http-address 是指定 secondary 的节点。

   5.3配置/home/hadoop/hadoop-2.7/etc/hadoop目录下hadoop-env.sh 的JAVA_HOME

  设置 JAVA_HOME 为自己在系统中安装的 JDK 目录

   5.4配置/home/hadoop/hadoop-2.7/etc/hadoop目录下的slaves,删除默认的localhost,增加3个从节点

   5.5、指定 SecondaryNameNode 节点

  在 /home/hadoop hadoop-2.7/etc/hadoop 目录下手动创建一个 masters 文件

vi masters

  打开文件后,输入 SecondaryNameNode 节点的主机名或者 IP 地址

6、将配置好的 hadoop 文件上传给其它三个节点

scp -r /home/hadoop 192.168.146.201:/home/
scp -r /home/hadoop 192.168.146.202:/home/
scp -r /home/hadoop 192.168.146.203:/home/

 7、启动 hadoop

在master服务器启动hadoop,从节点会自动启动,进入/home/hadoop/hadoop-2.7目录

(1)初始化,输入命令,bin/hdfs namenode -format

(2)启动hdfs 命令:sbin/start-dfs.sh

(3)停止命令,sbin/stop-hdfs.sh

(4)输入命令,jps,可以看到相关信息

 8、访问界面

  ①、关闭防火墙

service iptables stop
chkconfig iptables off

  ②、访问 NameNode 节点信息:http://192.168.146.200:50070

    点击DataNodes 查看 DataNode 节点

  ③、访问 SecondaryNameNode 节点信息,就是我们在hdfs-site.xml 中配置的路径  http://192.168.146.201:50090

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

MacWiFi:一款管理Mac系统WIFI的命令行工具(包含交互式Shell)

今天给大家介绍的是一款名叫mac-wifi的命令行工具,它可以管理macOS系统的无线网络,并且还提供了交互式Shell。 ? mac-wifi mac-wif...

2458
来自专栏Angular&服务

Linux安装mysql方法二

642
来自专栏王磊的博客

Ubuntu安装设置nginx和nohup常用操作

nginx安装 Ubuntu直接从常规源中安装 apt-get install nginx 安装的目录 配置文件:/etc/nginx/ 主程序文件:/usr/...

37211
来自专栏编程坑太多

『中级篇』windows下vagrant 通过SecureCRT连接centos7(33)

PS:我入了这个坑,找了好久才找到解决方案,一开始用SecureCRT 老提示public key,不知道该怎么办,查看了目录了解到了vagrant ssh的时...

15713
来自专栏运维小白

Linux基础(day41)

11.10/11.11/11.12 安装PHP5 安装PHP5目录概要 PHP官网www.php.net 当前主流版本为5.6/7.1 cd /usr/loca...

16710
来自专栏张伟博客

linux安装一键安装phpstudy web环境

3107
来自专栏主机笔记

centos修改ssh登录端口

在我刚接触linux的时候,登录系统经常会提示有很多次登录失败,there were 47183 failed login attempts since the...

5066
来自专栏python开发教学

【Django错误】OSError: raw write() returned invalid length 14 (should have been between 0 and 7)

错误环境 使用Django框架创建完models类的之后,用python manage.py migrate命令来生成数据库表的时候出错 错误代码 Operat...

3587
来自专栏闵开慧

ubuntu中配置hadoop

单机模式部署 一、Jdk安装 命令:sudo apt-get install openjdk-6-jdk 目录:/usr/l...

3129
来自专栏小明plus

在2018年如何优雅的开发一个typescript语言的npm包?

很多时候,我们可能想要用 typescript 语言来创建一些模块,并提交到 npm 供别人使用,

2535

扫码关注云+社区