hadoop3分布式环境基础搭建

本篇问hadoop3最基础搭建。

目录

一、hadoop简介

二、hadoop3伪分布式搭建

2.1 安装及配置

2.2 启动

2.3 测试

三、全分布式搭建

3.1 node01安装及配置

3.2 node02~node04配置

3.3 启动

3.3 测试

一、hadoop简介

hadoop3分布式环境基础搭建_第1张图片

二、hadoop3伪分布式搭建

在虚拟机上配置一台hadoop伪分布式环境(一台机器上配置namenode和datanode),测试的时候用windows下浏览器测试。

2.1 安装及配置

安装

在官网下载hadoop-3.1.2.tar.gz,地址为http://mirrors.hust.edu.cn/apache/ ,解压到/myapp目录下(集群中都需安装,这个软件为绿色版,解压后即可使用):

tar -xzvf hadoop-3.1.2.tar.gz -C /myapp/

配置hadoop环境变量

vi /myapp/hadoop-3.1.2/etc/hadoop/hadoop-env.sh 

# 在最后一行添加如下内容(JAVA_HOME根据实际JAVA安装路径决定):
export JAVA_HOME=/export/servers/jdk             # JAVA_HOME路径,可用echo $JAVA_HOME获得
export HDFS_NAMENODE_USER=root                   # 为hadoop配置三个角色的用户
export HDFS_DATENODE_USER=root
export HDFS_SECONDARYNAMEDODE_USER=root

配置主节点

vi /myapp/hadoop-3.1.2/etc/hadoop/core-site.xml 

 core-site.xml中configuration标签内容修改如下:


    
        fs.defaultFS
        hdfs://node01:9820       # 主节点名称和hadoop3的端口!
    
    
        hadoop.tmp.dir
        /myapp/hadoop-3.1.2/temp       # 自定义hadoop的临时目录,不修改为系统临时目录,容易丢失,比较危险
    

配置副本放置策略

vi /myapp/hadoop-3.1.2/etc/hadoop/hdfs-site.xml 

hdfs-site.xml中configuration标签内容修改如下:


    
        dfs.replication
        1                 # 表示放置的副本数,在此为伪分布式,所以为1,因为只有一台机器
    
    
        dfs.namenode.secondary.http-address   # secondary namenode 也配置到node01上(伪分布式)
        node01:9868
    

配置从节点

vi /myapp/hadoop-3.1.2/etc/hadoop/workers     # hadoop3中为workers;hadoop2中为slaves

里面内容为从节点

node01   # 本机为从节点,整个文件只有这六个字母

2.2 启动

启动前配置

1)在启动前需要配置环境变量

在/etc/profile中添加

#set hadoop3 env
export HADOOP_HOME=/myapp/hadoop-3.1.2
export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH

从新加载环境变量使之生效

source /etc/profile

2)核对主机名

保证下面两个配置中的主机名要与2.1节中的主机名相同,这样才能正确启动

vi /etc/sysconfig/network
vi /etc/hosts

3)启动文件配置

sbin/start-dfs.shsbin/stop-dfs.sh文件开头增加以下内容
        HDFS_DATANODE_USER=root
        HADOOP_SECURE_DN_USER=hdfs
        HDFS_NAMENODE_USER=root
        HDFS_SECONDARYNAMENODE_USER=root 
sbin/start-yarn.shsbin/stop-yarn.sh文件开头增加以下内容
        YARN_RESOURCEMANAGER_USER=root
        HADOOP_SECURE_DN_USER=yarn
        YARN_NODEMANAGER_USER=root

启动

1)格式化文件系统 

使用下命令格式化文件系统(hadoop安装根目录执行)

./bin/hdfs namenode -format

成功后会在2.1节配置的临时目录中出现创建的元数据信息(在此为/myapp/hadoop-3.1.2/temp中)

2)启动集群

./sbin/start-dfs.sh

启动成功后输入“jps”命令可以看到启动的节点(都在一个机器上)。

2.3 测试

在windows上浏览器输入“192.168.182.140::9870”,即可打开hadoop主页。

上传文件

在hadoop安装的根目录执行

./bin/hdfs dfs -mkdir /first       # 在根目录下创建一个文件夹
./bin/hdfs dfs -put /work/hadoop-3.1.2.tar.gz /first # 随便上传一个文件到/first,建议文件不要太小

可以在浏览器中看到刚才上传的文件(位于/first中),如下图:

hadoop3分布式环境基础搭建_第2张图片

点击上图中的文件名可以看到配切成了3块。 

注意:上传的文件实际上存储在/myapp/hadoop-3.1.2/temp/dfs/data/current/BP-1961204165-192.168.182.140-1561111726585/current/finalized/subdir0/subdir0 目录下,即2.1节core-site.xml定义目录的子目录中。

三、全分布式搭建

与第二节伪分布式基本相同

在虚拟机上配置4台hadoop伪分布式环境(一台机器上配置namenode,三台作为datanode),测试的时候用windows下浏览器测试。

3.1 node01安装及配置

安装

在官网下载hadoop-3.1.2.tar.gz,地址为http://mirrors.hust.edu.cn/apache/ ,解压到/myapp目录下(集群中都需安装,这个软件为绿色版,解压后即可使用):

tar -xzvf hadoop-3.1.2.tar.gz -C /myapp/

配置hadoop环境变量

vi /myapp/hadoop-3.1.2/etc/hadoop/hadoop-env.sh 

# 在最后一行添加如下内容(JAVA_HOME根据实际JAVA安装路径决定):
export JAVA_HOME=/export/servers/jdk             # JAVA_HOME路径,可用echo $JAVA_HOME获得
export HDFS_NAMENODE_USER=root                   # 为hadoop配置三个角色的用户
export HDFS_DATENODE_USER=root
export HDFS_SECONDARYNAMEDODE_USER=root

配置主节点

vi /myapp/hadoop-3.1.2/etc/hadoop/core-site.xml 

 core-site.xml中configuration标签内容修改如下:


    
        fs.defaultFS
        hdfs://node01:9820       # 主节点名称和hadoop3的端口!
    
    
        hadoop.tmp.dir
        /myapp/hadoop-3.1.2/temp_full   # 自定义hadoop的临时目录,不修改为系统临时目录,容易丢失,比较危险,为了区分,与上面的文件夹名字不同
    

配置副本放置策略

vi /myapp/hadoop-3.1.2/etc/hadoop/hdfs-site.xml 

hdfs-site.xml中configuration标签内容修改如下:


    
        dfs.replication
        3  # 表示放置的副本数(不会放在同一节点上),在此有三台datanode,所以为3
    
    
        dfs.namenode.secondary.http-address   # secondary namenode 配置到node02上
        node02:9868
    

配置从节点

vi /myapp/hadoop-3.1.2/etc/hadoop/workers     # hadoop3中为workers;hadoop2中为slaves

里面内容为从节点

node02   # 从节点为另外三台机器的计算机名,整个文件只有这三行
node03
node04

配置DNS地址解析

上面workers中配置的是其他节点的主机名,计算机并不知道他们的ip地址,所以需要在本地配置DNS解析

注意:所有集群机器都需要配置!

vi /etc/hosts

# 在文件后面添加如下信息
192.168.182.140 node01
192.168.182.141 node02
192.168.182.142 node03
192.168.182.143 node04

启动文件配置

sbin/start-dfs.shsbin/stop-dfs.sh文件开头增加以下内容
        HDFS_DATANODE_USER=root
        HADOOP_SECURE_DN_USER=hdfs
        HDFS_NAMENODE_USER=root
        HDFS_SECONDARYNAMENODE_USER=root 
sbin/start-yarn.shsbin/stop-yarn.sh文件开头增加以下内容
        YARN_RESOURCEMANAGER_USER=root
        HADOOP_SECURE_DN_USER=yarn
        YARN_NODEMANAGER_USER=root

3.2 node02~node04配置

复制node01配置好的文件到另外3台

转到hadoop上一目录(/myapp),执行下面命令,将hadoop安装目录复制到其他三台机器。其中ip地址为其他三台的ip地址。

scp -r hadoop-3.1.2/ [email protected]:/myapp/
scp -r hadoop-3.1.2/ [email protected]:/myapp/
scp -r hadoop-3.1.2/ [email protected]:/myapp/

另外3台机器环境变量配置

另外3台机器重做,2.2中的1)。

3.3 启动

在node01上启动,其他节点启动没试过。

1)格式化文件系统 (第一次启动时执行,以后不需要执行,除非配置文件发生改变)

使用下命令格式化文件系统(hadoop安装根目录执行)

注意:由于已经配置了hadoop的环境变量,下面命令可以不用输入全部路径,直接“hdfs xxxx”即可。

./bin/hdfs namenode -format

成功后会在2.1节配置的临时目录中出现创建的元数据信息(在此为/myapp/hadoop-3.1.2/temp中)

2)启动集群

./sbin/start-dfs.sh

启动成功后输入“jps”命令可以看到启动的节点(都在一个机器上)。

3.3 测试

在windows上浏览器输入“192.168.182.140:9870”,即可打开hadoop主页。

 

 

 

你可能感兴趣的:(大数据)