Hadoop 三节点集群搭建

本文档介绍了如何设置和配置单节点Hadoop安装,以便您可以使用Hadoop MapReduce和Hadoop分布式文件系统(HDFS)快速执行简单的操作。

先决条件

支持平台

  • 支持GNU / Linux作为开发和生产平台。Hadoop已在具有2000个节点的GNU / Linux集群上进行了演示。

  • Windows也是受支持的平台,但是以下步骤仅适用于Linux。

必备软件

Linux所需的软件包括:

  1. 必须安装Java™。HadoopJavaVersions中描述了推荐的Java版本。

  2. 必须安装ssh并且sshd必须正在运行才能使用管理远程Hadoop守护程序的Hadoop脚本。

安装步骤

如果您的群集没有必需的软件,则需要安装它。

例如在CentOS Linux上:

[root@centos001 ~]# sudo yum install ssh -y
[root@centos001 ~]# sudo yum install rsync -y

注意:三台服务器必须是安装了jdk的(没有安装的小伙伴也不用慌张,请看我上一期文章)

下载和上传

要获得Hadoop发行版,请从其中一个Apache Download Mirrors下载最新的稳定版本。

  1. 创建software目录用于上传软件安装包。

[root@centos001 ~]# mkdir /opt/software

通过xftp工具将Hadoop发行版上传至服务器的 /opt/software/目录下。

准备启动Hadoop集群

解压缩下载的Hadoop发行版。在发行版中,编辑文件etc/hadoop/hadoop-env.sh来定义一些参数,如下所示:

[root@centos001 ~]# mkdir /usr/apps
[root@centos001 ~]# tar -zxvf /opt/software/hadoop-2.7.2.tar.gz -C /usr/apps/

查看是否解压完整

[root@hadoop001 software]# cd /usr/apps/
[root@hadoop001 apps]# ls
hadoop-2.7.2  jdk
[root@hadoop001 apps]# cd hadoop-2.7.2/
[root@hadoop001 hadoop-2.7.2]# ls
bin  include  libexec      NOTICE.txt  sbin
etc  lib      LICENSE.txt  README.txt  share

修改hadoop目录名

 [root@hadoop001 apps]# mv /usr/apps/hadoop-2.7.2/ /usr/apps/hadoop

配置环境变量

[root@hadoop001 apps]# cd hadoop/
[root@hadoop001 hadoop]# pwd   #查看当前路径
/usr/apps/hadoop
[root@hadoop001 hadoop]# vi /etc/profile

#HADOOP_HOME#
export HADOOP_HOME=usr/apps/hadoop  #注意自己的路径
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 [root@hadoop001 hadoop]# source /etc/profile

 验证hadoop

[root@hadoop001 hadoop]# hadoop version

hadoop配置

1. [root@hadoop001 /]# cd /usr/apps/hadoop/etc/hadoop/
2. [root@hadoop001 hadoop]# vi hadoop-env.sh(修改第25行)
    -- export JAVA_HOME=/usr/apps/jdk/   #注意自己的jdk路径,按Esc在set nu 回车可以显示序号


3. [root@hadoop001 hadoop]# vi yarn-env.sh(第23行,放开注释进行修改)
    -- export JAVA_HOME=/usr/apps/jdk/


4. [root@hadoop001 hadoop]#vi core-site.xml
    <configuration>
    <!--用于设置HDFS-->
            <property>
                    <name>fs.defaultFS</name>
                    <value>hdfs://hadoop001:9000</value> #注意自己的自己名
            </property>
            <property>
                    <name>hadoop.tmp.dir</name>
                    <value>/usr/apps/hadoop/tmp</value>
            </property>

    </configuration>


5. [root@hadoop001 hadoop]#vi hdfs-site.xml
    <configuration>
        <!-- 指定Hadoop 副本数量 -->
        <property>
            <name>dfs.replications</name>
            <value>3</value>
        </property>
        <!-- 指定 secondary namenode 的主机地址 -->
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>hadoop002:50090</value>
        </property>

    </configuration>


6.[root@hadoop001 hadoop]# mv mapred-site.xml.template mapred-site.xml

[root@hadoop001 hadoop]#vi mapred-site.xml(重命名)
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>

    </configuration>


7. [root@hadoop001 hadoop]#vi yarn-site.xml
    <configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop003</value>
            </property>
            <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
            </property>

    </configuration>


8.[root@hadoop001 hadoop]# vi slaves
    hadoop01
    hadoop02
    hadoop03

 

 将配置好的,环境变量,jdk,hadoop复制给hadoop002和hadoop0003

[root@hadoop001 apps]# scp -r /usr/apps/jdk root@192.168.159.132:/usr/apps/

注意hadoop002要有apps这个目录,没有就用mkidr apps创建hadoop003同样

[root@hadoop001 apps]# scp -r /usr/apps/jdk root@192.168.159.133:/usr/apps/
[root@hadoop001 apps]# scp -r /usr/apps/hadoop/ root@192.168.159.133:/usr/apps/

[root@hadoop001 apps]# scp -r /etc/profile root@192.168.159.132:/etc/profile

[root@hadoop001 apps]# scp -r /etc/profile root@192.168.159.133:/etc/profile

注意:自己的ip和文件路径

 注意查看是否复制成功

[root@hadoop002 apps]# source /etc/profile

[root@hadoopoo3 apps]# source /etc/profile

hadoop运行测试

 先关闭防火墙

[root@hadoopoo3 /]# systemctl stop firewalld

[root@hadoopoo3 /]# systemctl disable firewalld

1. 格式化 HDFS(初次安装需要才执行)
hadoop namenode -format (第一台执行)

2.启动 Hadoop 守护进程
    -- 在第一台执行 start-dfs.sh
    -- 在第三台执行 start-yarn.sh

3.jps 命令检查Hadoop守护进程是否启动成功

[root@hadoopoo3 /]# jps
    -- 第一台守护进程有 
        Namenode,DataNode
        NodeManager
    -- 第二台守护进程有
        SecondaryNameNode,DataNode
        NodeManager
    -- 第三台守护进程有
        DataNode
        ResourceManager,NodeManager

4.运行测试 Hadoop 
    -- 在浏览器输入 192.168.xx.x:50070(第一台IP地址)


    -- 在浏览器输入 192.168.xx.x:8088(第三台IP地址)

 

5.在命令行执行 WordCount 案例
    -- hadoop fs -mkdir /input
    -- hadoop fs -put /etc/profile /input
    -- cd /opt/apps/hadoop/(自己的目录)
    -- bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /input/profile /output

7. mkdir: Cannot create directory /input. Name node is in safe mode.
        -- hadoop dfsadmin -safemode leave 

8.关闭守护进程
    -- stop-dfs.sh(第一台执行)


    -- stop-yarn.sh(第三台执行)

 


注意事项:
    1. 如果第一步格式化 HDFS 失败,执行以下命令后重新格式化
        -- rm -rf /opt/apps/hadoop/tmp
    2. 如果第 3 步缺失守护进程,请重新执行第 2 步
    3. 如果第 4 步无法正常访问网址,请检查 Linux 防火墙是否关闭
        -- systemctl stop firewalld
        -- systemctl disable firewalld

这就完毕了,是不是很简单,有兴趣可以加QQ群:1011197972一起学习

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值