Hadoop安装与配置

发布时间:2019/02/16 点击量:691 新闻来源:

一、环境准备

1、Linux环境

2、创建新用户组

语法是:groupadd [-g gid [-o]] [-r] [-f] groupname

选项含义如图:

700.png          

如果不指定选项,系统将使用默认值。

如创建一个hadoopGroup用户组命令是:Groupadd hadoopGroup

3、添加Hadoop用户

语法是:useradd [-d homedir] [-g groupname] [-m -s shell] [-u userid] [ accountname] 

选项含义如图:

701.png

为hadoopGroup组添加用户:

命令是:sudo useradd -d /home/hadoop -g hadoopGroup hadoop

4、用户被创建后可以用passwd命令来设置密码

702.png

切换到hadoop用户

1)命令是:su hadoop

2)输入该用户的密码

成功如图所示:

703.png

 

二、Hadoop安装与环境配置

1、下载安装包

Hadoop下载地址:https://hadoop.apache.org/release/3.0.3.html

JDK下载地址:

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2、解压

解压到:/usr/local

tar -zxvf hadoop-3.0.3.tar.gz

tar -zxvf jdk-11.0.1_linux-x64_bin.tar.gz

3、移动Hadoop-3.0.3到hadoop用户主目录下

mv hadoop-3.0.3 /home/hadoop/hadoop3.0

4、目录规划

Hadoop程序存储的目录为/home/hadoop/hadoop3.0,相关的数据,包括日志、存储等指定为该程序目录下的data、log等。将程序和数据目录分开,可以更加方便地进行配置的管理和同步。

具体目录准备与配置如下所示:

1)创建程序存储目录/home/hadoop/hadoop3.0,用来存储Hadoop程序文件。

2)创建数据存储目录/home/hadoop/hadoop3.0/hdfs,用来存储集群数据。

3)创建目录/home/hadoop/hadoop3.0/hdfs/name,用来存储文件系统元数据。

4)创建目录/home/hadoop/hadoop3.0/hdfs/data,用来存储真正的数据。

5)创建日志目录/home/hadoop/hadoop3.0/logs,用来存储日志信息。

6)创建临时目录/home/hadoop/hadoop3.0/tmp,用来存储临时生成的文件。

给hadoopGroup组赋予权限,凡是hadoopGroup组的用户都有权利使用hadoop3.0方便多用户操作。

在hadoop3.0当前目录下执行命令:

sudo chgrp -R hadoopGroup hadoop3.0

赋予权限:sudo chmod -R g=rwx hadoop3.0

5、导入JDK环境变量

(1)、执行cd /etc命令后执行vi profile 在末行添加:

704.png

(2)、执行命令source profile,是配置生效。

(3)、再执行java -version,查看是否安装成功,成功出现如下图所示:

705.png

6、导入Hadoop环境变量

(1)、同上面一样修改profile

706.png

在终端输入hadoop验证环境配置是否成功发现找不到hadoop命令,终端执行下面命令:

export PATH=$PATH:/home/hadoop/hadoop3.0/bin

再执行hadoop终端出现如下图则配置成功:

707.png

7、修改Hadoop配置文件

由于Hadoop集群中每个机器上面的配置基本相同,所以先在主节点上面进行配置部署,再复制到其他节点。

1)配置/home/hadoop/hadoop3.0/etc/hadoop下的hadoop-env.sh、yarn-env.sh、mapred-env.sh文件修改或添加JAVA_HOME的值:export JAVA_HOME=/usr/local/jdk.11/如图:

708.png

2)配置/home/hadoop/hadoop3.0/etc/hadoop/slaves,这文件里面保存所有slave节点,

709.png

3)配置/home/hadoop/hadoop3.0/etc/hadoop/core-site.xml,添加以下代码到文件中:

710.png

4)配置/home/hadoop/hadoop3.0/etc/hadoop/hdfs-site.xml,添加以下代码:

<configuration>
 
    <property>
       <name>dfs.namenode.http-address</name>
        <value>node:50070/</value>
        <description>namenode的地址及端口</description>
    </property>
 <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node1:50090/</value>
        <description>Secodnamenode的地址及端口</description>
    </property>
 
    <property>
       <name>dfs.replication</name>
        <value>3</value>
        <description>设定hdfs存储文件的副本数,默认为3</description>
    </property>
 
    <property>
       <name>dfs.namenode.name.dir</name>
       <value>file:///home/hadoop/hadoop3.0/hdfs/name</value>
        <description>namenode用来持续存储命名空间和交换日志的本地文件系统路径</description>
    </property>
 
    <property>
       <name>dfs.datanode.data.dir</name>
       <value>file:///home/hadoop/hadoop3.0/hdfs/data</value>
        <description>datanode在本地存储文件的目录列表</description>
    </property>
 
    <property>
        <name>dfs.namenode.checkpoint.dir</name>
       <value>file:///home/hadoop/hadoop3.0/hdfs/namesecondary</value>
        <description>设置secondarynamenode存储临时镜像的本地文件系统路径,如果这是一个用逗号分割的文件列表,则镜像将会冗余复制到所有目录</description>
    </property>
 
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
        <description>是否允许网页浏览hdfs文件</description>
    </property>
 
    <property>
       <name>dfs.stream-buffer-size</name>
        <value>1048576</value>
        <description>默认是4KB,作为Hadoop缓冲区,用于Hadoop读hdfs的文件和写hdfs的文件,还有map的输出都用到了这个缓冲区容量,对于现在的硬件,可以设置为1MB(1048576),太大了map和reduce任务可能
会内存溢出</description>
</property>
</configuration>

5)配置/home/hadoop/hadoop3.0/etc/hadoop/mapred-site.xml,代码如下:

711.png

6)配置/home/hadoop/hadoop3.0/etc/hadoop/yarn-site.xml,添加代码如下:

<configuration>
 
<!-- Site specific YARN configuration properties -->
    <property>
       <name>yarn.resourcemanager.hostname</name>
       <value>node</value>
    </property>
 
    <property>
       <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
 
    <property>
       <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
       <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
 
    <property>
        <name>yarn.resourcemanager.address</name>
       <value>node:8032</value>
    </property>
 
    <property>
       <name>yarn.resourcemanager.scheduler.address</name>
       <value>node:8030</value>
    </property>
 
    <property>
        <name>yarn.resourcemanager.resource-tracher.address</name>
       <value>node:8031</value>
    </property>
 
    <property>
       <name>yarn.resourcemanager.admin.address</name>
       <value>node:8033</value>
    </property>
 
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
       <value>node:8088</value>
    </property>
 
</configuration>

 

8、修改主机名node:vi hostname HOSTNAME=node

9、绑定hostname与ip

192.168.130.129 node
192.168.130.130 node1
192.168.130.131 node2
192.168.130.132 node3

10、关闭防火墙

1)如果不关闭防火墙,可能出现一下情况:

       HDFS的web管理页面,打不开该节点的文件浏览页面。

       后台运行脚本,会出现莫名其妙的假死状态。

      在删除和增加节点的时候,会让数据迁移处理时间增长,甚至不能正常完成相关操作。

2)执行关闭防火墙,验证关闭防火墙命令service iptables status或sudo ufw status

3)执行chkconfig iptables off 

4)执行chkconfig --list | grep iptables

单篇阅读 20 元/条
二维码收款
咨询·反馈