Hadoop集群搭建

一、系统配置:

安装有CentOS7的虚拟机三台(对其进行规划),并且将网段设置为所要求的网段

hadoop01

192.168.51.129

hadoop02

192.68.51.130

hadoop03

192.168.51.131

1.如何设置网段(如果对网段没有要求,该步可以省略)

(1).点击VMware workstation pro16中的 编辑èVmnet8èDHCP设置

  网段(为IP地址中的第三位,例如在此处我的网段为51,故我的起始IP地址和结束IP地址中的第三位都设置为51).

(2).Vmnet8è更改设置(此处需要以管理员的身份进行)èVmnet8è勾选下面选项

(3).点击确定,完成虚拟机网段的配置。

二、在虚拟机种配置静态IP:(三台主机都需要进行设置)

1.设置配置文件

  1. [root@hadoop01 ~]# vi /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=c8608d97-b8cc-475e-8aa1-e5173746d974  
    DEVICE=ens33  
    ONBOOT=yes  
      
    IPADDR=192.168.51.129  
    GATEWAY=192.168.51.2  
    NETMASK=255.255.255.0  
    DNS1=8.8.8.8  
    DNS2=8.8.4.4  

说明:进入改文件夹下,修改BOOTPROTO为static,将ONBOOT修改为yes,并且在底下添加IPADDR(IPd地址),GATEWAY(网关),NETMASK(子网掩码)和DNS(域名服务器)。

2.重启网络,测试虚拟机能否与外部的主机进行通信

  1. [root@hadoop01 ~]# systemctl restart network  
    [root@hadoop01 ~]# ping 8.8.8.8  
[root@hadoop01 ~]# ping www.baidu.com

说明:ping 8.8.8.8用来测试该虚拟机能否与外部网络进行通信,ping www.baidu.com主要用来测试DNS设置是否成功,能否对外部的域名进行解析。

三、对三台虚拟机进行规划,并将其写入文件中(对三台都进行规划)

  1. [root@hadoop01 ~]# vi /etc/hosts  
      
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 
      
    192.168.51.129 hadoop01  
    192.168.51.130 hadoop02  
    192.168.51.131 hadoop03  

四、实现三台主机进行互信。

1.生成.ssh文件(包含公钥和私钥)

  1. [root@hadoop01 ~]#ssh-keygen -t rsa  

  说明:在这个过程中需要连续按四次Enter

2.查看.ssh文件

  1. [root@hadoop01 ~]#cd /root/.ssh  
    [root@hadoop01 .ssh]# ll  
    总用量 16  
    -rw-------. 1 root root  408 10月 19 20:32 authorized_keys  
    -rw-------. 1 root root 1679 10月 19 20:31 id_rsa  
    -rw-r--r--. 1 root root  408 10月 19 20:31 id_rsa.pub  
    -rw-r--r--. 1 root root  738 10月 19 21:04 known_hosts

3.将其分发给机器(包含本机)

  1. [root@hadoop01 ~]# ssh-copy-id hadoop01  
    [root@hadoop01 ~]# ssh-copy-id hadoop02  
    [root@hadoop01 ~]# ssh-copy-id hadoop03  

4.将.ssh文件分发给其他两台机器

  1. [root@hadoop01 ~]# scp -r /root/.ssh/* root@hadoop02:/root/.ssh  
    [root@hadoop01 ~]# scp -r /root/.ssh/* root@hadoop03:/root/.ssh 

说明:再次过程中需要输入yes,并且输入虚拟机以root

[root@hadoop01 ~]#mkdir -p /export/servers  
[root@hadoop01 ~]mkdir -p /export/software 

登录的密码

五、下载软件并且使用winSCP将所下载的压缩包传至虚拟机,并解压。

1.下载软件的地址

百度网盘 请输入提取码提取码:piwl

在此winSCP是免安装的,即下载解压文件夹打开即可使用。

2.在虚拟机新建文件夹,用来存放安装包

  1. [root@hadoop01 ~]#mkdir -p /export/servers  
    [root@hadoop01 ~]mkdir -p /export/software 

说明:/export/software用来存放压缩包,/export/servers用来存放解压后的文件

3.使用winSCP将JDK和Hadoop上传至/export/software

说明:在winSCP中主机名填写虚拟机的IP地址,用户名写你需要以什么身份来登录虚拟机,密码就是你以此身份登录密码。然后,选择/export/software将物理机中的软件拉到该文件夹下,就完成了从物理机传输软件到虚拟机了。

4.将软件进行解压

(1).解压软件

  1. [root@hadoop01 ~]#cd /export/software  
    [root@hadoop01 software]# ll  
    -rw-r--r--. 1 root root 145520298 10月  3 12:51 jdk-8u301-linux-x64.tar.gz  
    -rw-r--r--. 1 root root 605187279 10月  6 17:10 hadoop-3.3.1.tar.gz  
    [root@hadoop01 software]# tar -zxvf  jdk-8u301-linux-x64.tar.gz   
    [root@hadoop01 software]# tar -zxvf hadoop-3.3.1.tar.gz  

(2).将软件进行重命名并且移动到/export/servers

  1. [root@hadoop01 software]# mv jdk1.8.0_301 jdk  
    [root@hadoop01 software]# mv jdk /export/servers  
    [root@hadoop01 software]# mv hadoop-3.3.1 /export/servers  

六、配置文件

1.配置jdk

(1).配置jdk

  1. [root@hadoop01 software]# cd   
    [root@hadoop01 ~]# vi /etc/profile  
    #将以下部分加在该文件的最后  
    export JAVA_HOME=/export/servers/jdk  
    export PATH=$PATH:$JAVA_HOME/bin  
    export CLASSPATH=.:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
    #按【ESC】:wq退出vi编辑器  

(2).使配置生效

  1. [root@hadoop01 ~]# source /etc/profile  

     (3).查看是否生效

  1. [root@hadoop01 ~]# java -version  
    openjdk version "1.8.0_262"  
    OpenJDK Runtime Environment (build 1.8.0_262-b10)  
    OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)  

2.配置Hadoop

(1).配置启动文件

  1. [root@hadoop01 ~]# vi /etc/profile  
    #将下面内容加入该文件的最后  
    export HADOOP_HOME=/export/servers/hadoop-3.3.1  
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 
     

(2).使配置文件生效

  1. [root@hadoop01 ~]# source /etc/profile  

(3).查看是否生效

  1. [root@hadoop01 ~]# hadoop version  
    Hadoop 3.3.1  
    Source code repository https://github.com/apache/hadoop.git -r a3b9c37a397ad4188041dd80621bdeefc46885f2  
    Compiled by ubuntu on 2021-06-15T05:13Z  
    Compiled with protoc 3.7.1  
    From source with checksum 88a4ddb2299aca054416d6b7f81ca55  
    This command was run using /export/servers/hadoop-3.3.1/share/hadoop/common/hadoop-common-3.3.1.jar

(4).修改hadoop-env.sh文件

  1. [root@hadoop01 ~]# cd  /export/servers/hadoop-3.3.1/etc/hadoop  
    [root@hadoop01 hadoop]# vi hadoop-env.sh  
    #在文件的末尾加入如下内容  
    export JAVA_HOME=/export/servers/jdk  

(5).修改core-site.xml文件

  1. [root@hadoop01 hadoop]# vi core-site.xml  
    #在该文件中加入  
    <configuration>  
            <property>  
                    <name>fs.defaultFS</name>  
                    <value>hdfs://hadoop01:9000</value>  
            </property>  
            <property>  
                    <name>hadoop.tmp.dir</name>  
                    <value>/export/servers/hadoop-3.3.1/tmp</value>  
            </property>  
    </configuration>  

(6).修改hdfs-site.xml文件

  1. [root@hadoop01 hadoop]# vi hdfs-site.xml  
    #在该文件中加入  
    <configuration>  
            <property>  
                    <name>dfs.replication</name>  
                    <value>3</value>  
            </property>  
            <property>  
                    <name>dfs.namenode.secondary.http.address</name>  
                    <value>hadoop02:50090</value>  
            </property>  
    </configuration>  

(7).修改mapred-site.xml文件

  1. [root@hadoop01 hadoop]# vi mapred-site.xml  
    #在该文件中加入   
    <configuration>  
            <property>  
                    <name>mapreduce.framework.name</name>  
                    <value>yarn</value>  
            </property>  
    </configuration>  

(8).修改yarn-site.xml文件

  1. [root@hadoop01 hadoop]# vi yarn-site.xml  
    #在该文件中加入  
    <configuration>  
            <property>  
                    <name>yarn.resourcemanager.hostname</name>  
                    <value>hadoop01</value>  
            </property>  
            <property>  
                    <name>yarn.nodemanager.aux-services</name>  
                    <value>mapreduce_shuffle</value>  
            </property>  
    </configuration>  

(9)新建workers文件

  1. [root@hadoop01 hadoop]# vi workers  
    #在该文件中加入  
    hadoop01  
    hadoop02  
    hadoop03  

(10).必须将以上完成的配置文件传输到另外两台机器

 1)./etc/profile文件

  1. #将/etc/profile传输至另外两台机器  
    [root@hadoop01 ~]#scp -r /etc/profile/ hadoop02:/etc/profile  
    [root@hadoop01 ~]#scp -r /etc/profile/ hadoop03:/etc/profile 

  在另外两台机器执行如下代码,使配置文件生效

  1. #注意机器的变化  
    [root@hadoop02 ~]# source /etc/profile  
    [root@hadoop03 ~]# source /etc/profile 

2).hadoop文件

首先在另外两台机器上新建下列文件

  1. #注意机器的变化  
    [root@hadoop02 ~]# mkdir -p /export/servers  
    [root@hadoop03 ~]# mkdir -p /export/servers

将文件通过下列命令进行传输

  1. [root@hadoop01 ~]# scp -r /export/servers/ hadoop02:/export/  
    [root@hadoop01 ~]# scp -r /export/servers/ hadoop03:/export/  

(11).设置一键启动

  1. [root@hadoop01 ~]# cd /export/servers/hadoop-3.3.1/sbin/  
      
    #将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数  
    HDFS_DATANODE_USER=root  
    HADOOP_SECURE_DN_USER=hdfs  
    HDFS_NAMENODE_USER=root  
    HDFS_SECONDARYNAMENODE_USER=root  
      
    #start-yarn.sh,stop-yarn.sh顶部也需添加以下  
    YARN_RESOURCEMANAGER_USER=root  
    HADOOP_SECURE_DN_USER=yarn  
    YARN_NODEMANAGER_USER=root  

(12).格式化并且启动Hadoop

  1. #格式化  
    [root@hadoop01 ~]#hdfs namenode -format  
    #启动集群  
    [root@hadoop01 ~]start-all.sh  

说明:在此处不要多次格式化防止ID不同,启动不了datanode.

(13).关闭防火墙

  1. #临时关闭防火墙  
    [root@hadoop01 ~]# systemctl stop firewalld  
    #永久关闭防火墙  
    [root@hadoop01 ~]# systemctl disable firewalld  
    #查看防火墙状态  
    [root@hadoop01 ~]# systemctl status firewalld  
    ● firewalld.service - firewalld - dynamic firewall daemon  
       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)  
       Active: inactive (dead)    
    #当显示dead表示防火墙已关闭
      

3.验证是否安装成功

  1. [root@hadoop01 ~]#jps  
    119835 Jps  
    101971 ResourceManager  
    101410 DataNode  
    101682 SecondaryNameNode  
    101241 NameNode  
    102138 NodeManager  
      
    [root@hadoop02 ~]# jps  
    81697 NodeManager  
    86055 Jps  
    81562 DataNode  
      
    [root@hadoop03 ~]# jps  
    74182 DataNode  
    75190 Jps  
    74316 NodeManager 

说明:若在三台主机jps出现上述结点,表示安装成功。

七、查看Hadoop是否安装成功

  1. #在浏览器中输入  
    hadoop01:9870  
    hadoop01:8088  
    #若出现以下界面表示安装成功

八、若需要在外部浏览器访问需配置

  1. C:\Windows\System32\drivers\etc\hosts  
    #以记事本的方式打开添加如下内容  
    192.168.51.129 hadoop01  
    192.168.51.130 hadoop02  
    192.168.51.131 hadoop03
     

说明:在win10系统中修改改文件要以管理员的身份打开。会出现无法更改,只需要将该文件另存到桌面,然后替换原先的文件即可。

完成之后可以访问上图所示的界面,即完成了Hadoop分布式的安装。

九、遇到的问题及解决方法

1.在安装Hadoop时,尽量不要多次格式化。多次格式化会导致datanode的ID不同,最终出现某些节点的datanode无法启动的情况;

2.在Hadoop安装完成后,访问页面时,Hadoop2.X的访问端口为:50070。Hadoop3.X的访问端口更改为:9870;

3.Hadoop输入一键启动命令无法启动时,需要配置上面的文件(11.设置一键启动);

4.如果未设置静态IP可能会出现IP地址变化的情况,需要设置静态IP;

5.若将虚拟机进行关机,则下次启动虚拟机时需要重新启动Hadoop节点,因此可以选择将虚拟机进行挂起。鼠标右键虚拟机è电源è挂起虚拟机

6.如果jps出现datanode无法加载,需要删除Hadoop中的logs文件,重新进行格式化。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值