栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hadoop3.x完全分布式搭建(详细)

Hadoop3.x完全分布式搭建(详细)

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475
环境准备

    vm虚拟机(自行安装Centos7系统)hadoop3.x安装包(linux版本)java1.8安装包(linux版本)

为了能够按照教程顺利操作,需要注意几点细节

    不要不看文字直接复制粘贴操作命令的用户很重要,否则后续会引发关于权限的问题ftp 与 终端工具需要自己操作使用本教程不涵盖操作,如有需要,自行百度,本教程均使用终端shell工具截图,其性质与linux系统右键打开终端相同。

开始啦!

    使用root用户登录,用一个单独的用户管理hadoop集群,所以要用管理员(root)用户创建一个名字为hadoop的用户。
[root@hadoop102 ~]# useradd hadoop

    设置 hadoop 用户的密码
[root@hadoop102 ~]# passwd hadoop

    给 hadoop 用户提权,编辑如下路径文件
[root@hadoop102 ~]# vim /etc/sudoers

​ 将文件此处修改为这样(在100行左右)

    修改静态IP
[root@hadoop102 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

​ 静态ip文件修改如下

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_onLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="385ea190-1b85-42cf-9df4-916f2dd86bc7"
DEVICE="ens33"
onBOOT="yes"
#ip 写自己设置的
IPADDR=192.168.127.112
#子网掩码 固定的
NETMASK=255.255.255.0
#网关 就是将你ip最后一段改成1
GATEWAY=192.168.127.1

    修改主机名
[root@hadoop102 ~]# vim /etc/hostname

​ 文件内写入自己的主机名字即可

    修改主机域名映射
[root@hadoop102 ~]# vim /etc/hosts

​ hosts文件内容如下

    关闭防火墙(运行b即可永久关闭)

      一次性关闭 – 重启之后系统会默认打开防火墙
    [root@hadoop102 ~]# systemctl stop firewalld
    
    
      永久关闭防火墙
    [root@hadoop102 ~]# systemctl disable firewalld
    
    
      查看当前防火墙状态
    [root@hadoop102 ~]# systemctl status firewalld
    
    

    状态截图

    重启机器,生效所有配置,注意 下次登录直接使用 hadoop 账户信息登录系统,这样子直接创建目录权限就是属于hadoop的

      如果想要终端连接虚拟机,待重启之后即可输入ip与用户信息即可登录终端。
[root@hadoop102 ~]# reboot

    创建javajdk 和 hadoop 安装所需目录

      创建软件安装包存放目录

        software目录用于存放安装包module目录用于软件的安装目录(或者叫解压目录)
    [hadoop@hadoop102 /]$ sudo mkdir /opt/software
    [hadoop@hadoop102 /]$ sudo mkdir /opt/module
    
    
      赋予software目录上传权限,可以看到下面的权限已经允许外部读取写入
    [root@hadoop102 opt]# chmod +777 /opt/software /opt/module
    [root@hadoop102 opt]# ll
    总用量 12
    drwxrwxrwx. 2 root root 4096 3月   9 21:56 module
    drwxr-xr-x. 2 root root 4096 10月 31 2018 rh
    drwxrwxrwx. 2 root root 4096 3月   9 21:56 software
    
    
      上传hadoop和java安装包(本操作不涵盖,注意:使用任意的ftp工具登录连接时候请使用 hadoop 用户登录操作)解压至module目录
    [hadoop@hadoop102 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C ../module/
    [hadoop@hadoop102 software]$ tar -zxvf jdk-8u212-linux-x64.tar.gz -C ../module/
    
    

    配置java 和 hadoop的环境变量

      切换至root用户操作系统文件,操作完成之后切换成hadoop用户
    [hadoop@hadoop102 software]$ su root
    
    
      使用root用户修改环境变量文件,在文件末尾追加如下信息,如果你的安装路径跟我不同这里需要写你自己的,跟着教程走且是同一个版本安装包或者同一个安装文件夹名字的不需要任何修改
    #java
    export JAVA_HOME=/opt/module/jdk1.8.0_212
    export PATH=$PATH:$JAVA_HOME/bin
    
    #hadoop3.1.3
    export HADOOP_HOME=/opt/module/hadoop-3.1.3
    export PATH=$PATH:$HADOOP_HOME/bin
    
    
      切换至hadoop用户,并生效配置文件,查看效果
    [hadoop@hadoop102 software]$ source /etc/profile
    
    
      自行运行如下命令进行环境测试,足够自行不测试也可以的。
    [hadoop@hadoop102 software]$ java
    [hadoop@hadoop102 software]$ javac
    [hadoop@hadoop102 software]$ java -version
    [hadoop@hadoop102 software]$ hadoop version
    
    

    配置hadoop

      编辑core-site.xml文件
    [hadoop@hadoop102 /]$ vim /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml
    
    
    
    	fs.defaultFSname>
    	hdfs://hadoop102:8020value>
    property>
    
    
    
    	hadoop.tmp.dirname>
    	/opt/module/hadoop-3.1.3/datavalue>
    property>
    
    
      编辑hdfs-site.xml文件
    [hadoop@hadoop102 /]$ vim /opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml
    
    
    
        dfs.namenode.http-addressname>
        hadoop102:9870value>
    property>
    
    
        dfs.namenode.secondary.http-addressname>
        hadoop104:9868value>
    property>
    
    
      编辑yarn-site.xml文件
    [hadoop@hadoop102 /]$ vim /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml
    
    
    
        yarn.nodemanager.aux-servicesname>
        mapreduce_shufflevalue>
    property>
    
    
    
        yarn.resourcemanager.hostnamename>
        hadoop103value>
    property>
    
    
    
        yarn.nodemanager.env-whitelistname>
        JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOMevalue>
    property>
    
    
      编辑mapred-site.xml文件
    [hadoop@hadoop102 /]$ vim /opt/module/hadoop-3.1.3/etc/hadoop/mapred-site.xml
    
    
    
        mapreduce.framework.namename>
        yarnvalue>
    property>
    
    
      编辑hadoop-env.sh文件
    [hadoop@hadoop102 /]$ vim /opt/module/hadoop-3.1.3/etc/hadoop/hadoop-env.sh
    
    
    1. 文件末尾追加一行
    
    export JAVA_HOME=/opt/module/jdk1.8.0_212
    
    
      编辑workers文件
    [hadoop@hadoop102 hadoop]$ vim workers
    
    
    1. 写入如下内容
    
    hadoop102
    hadoop103
    hadoop104
    
    

    到此步骤,关闭虚拟机,克隆两台,请自行百度,待克隆完成之后,开启两个克隆的机器,不要通过终端连接,然后做下面操作,在vm中进行。

      三台主机都使用root用户登录

        修改克隆1机器的主机名
      [root@hadoop102 hadoop]# vim /etc/hostname
      
      

      内容如下

      hadoop103
      
      
        修改克隆1的ip
      [root@hadoop102 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
      
      

      内容如下

      TYPE="Ethernet"
      PROXY_METHOD="none"
      BROWSER_onLY="no"
      BOOTPROTO="static"
      DEFROUTE="yes"
      IPV4_FAILURE_FATAL="no"
      IPV6INIT="yes"
      IPV6_AUTOCONF="yes"
      IPV6_DEFROUTE="yes"
      IPV6_FAILURE_FATAL="no"
      IPV6_ADDR_GEN_MODE="stable-privacy"
      NAME="ens33"
      UUID="385ea190-1b85-42cf-9df4-916f2dd86bc7"
      DEVICE="ens33"
      onBOOT="yes"
      IPADDR=192.168.127.113
      NETMASK=255.255.255.0
      GATEWAY=192.168.127.1
      
      
        修改克隆2机器的主机名
      [root@hadoop102 hadoop]# vim /etc/hostname
      
      

      内容如下

      hadoop104
      
      
        修改克隆2机器的ip
      [root@hadoop102 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
      
      

      内容如下

      TYPE="Ethernet"
      PROXY_METHOD="none"
      BROWSER_onLY="no"
      BOOTPROTO="static"
      DEFROUTE="yes"
      IPV4_FAILURE_FATAL="no"
      IPV6INIT="yes"
      IPV6_AUTOCONF="yes"
      IPV6_DEFROUTE="yes"
      IPV6_FAILURE_FATAL="no"
      IPV6_ADDR_GEN_MODE="stable-privacy"
      NAME="ens33"
      UUID="385ea190-1b85-42cf-9df4-916f2dd86bc7"
      DEVICE="ens33"
      onBOOT="yes"
      IPADDR=192.168.127.114
      NETMASK=255.255.255.0
      GATEWAY=192.168.127.1
      
      
        重启两台克隆机器,使配置重新加载生效。
      [root@hadoop102 ~]#reboot
      
      

    配置免密登录

      hadoop102生成免密并发送给其余两个节点(hadoop102,hadoop103,hadoop104)
    [hadoop@hadoop102 .ssh]$ ssh-keygen -t rsa
    [hadoop@hadoop104 .ssh]$ ssh-copy-id hadoop102
    [hadoop@hadoop102 .ssh]$ ssh-copy-id hadoop103
    [hadoop@hadoop102 .ssh]$ ssh-copy-id hadoop104
    
    
      hadoop103生成免密并发送给其余两个节点(hadoop102,hadoop103,hadoop104)
    [hadoop@hadoop103 .ssh]$ ssh-keygen -t rsa
    [hadoop@hadoop103 .ssh]$ ssh-copy-id hadoop102
    [hadoop@hadoop104 .ssh]$ ssh-copy-id hadoop103
    [hadoop@hadoop103 .ssh]$ ssh-copy-id hadoop104
    
    
      hadoop104生成免密并发送给其余两个节点(hadoop102,hadoop104,hadoop103)
    [hadoop@hadoop104 .ssh]$ ssh-keygen -t rsa
    [hadoop@hadoop104 .ssh]$ ssh-copy-id hadoop102
    [hadoop@hadoop104 .ssh]$ ssh-copy-id hadoop103
    [hadoop@hadoop104 .ssh]$ ssh-copy-id hadoop104
    
    

    格式化(必须主节点操作,既hadoop102这个节点)

[hadoop@hadoop102 sbin]$ hdfs namenode -format

    然后可以通过如下文本查看对应的信息
192.168.127.112:9870  --访问hadoop集群前台页面
192.168.127.113:8088  --访问hadoop的所有应用页面
还可以通过各个节点jps命令查看启动的任务节点状态。

__EOF__

刘先生 - 本文链接: https://blog.csdn.net/lszbk/p/15987604.html

关于博主: 评论和私信会在第一时间回复。或者直接私信我。版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角**【[推荐](javascript:void(0)】**一下。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/757892.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号