CentOS-7下搭建Hadoop集群的大数据平台搭建指南

目录

总序

一、下载相关软件的压缩包

二、配置虚拟机上主节点相关设置

1、修改主机用户名

2、进行ip地址映射

3、配置虚拟机网络设置

 

三、解压并配置java、hadoop环境

1、解压jdk、hadoop压缩文件

 2、配置jdk、hadoop环境

3、修改hadoop中的相关配置文件信息(最重要)

四、克隆两个子节点

1、克隆虚拟机

2、修改子节点机器的相关配置

 五、设置免密登录

1、关闭防火墙和禁止启动防火墙(三个节点都需要)

2、生成密钥

3、分配密钥(三个节点都要执行以下操作) 

六、启动hadoop集群

1、格式化hadoop集群

2、启动hadoop集群 (在主节点启动)

 七、说明


总序

本次hadoop集群搭建的虚拟机采用的软件为VMware Workstation Pro,用的镜像文件为CentOS-7,此篇文章是为自己准备大数据比赛中的大数据平台搭建部分所写,故只针对搭建hadoop集群搭建的部分进行概述,前绪工作包括虚拟机的搭建读者可以阅读下面的文章自行进行安装。hadoop集群安装的流程本人多次实践过,从而编写出最简单、最明了的操作过程。

虚拟机安装及CentOS-7镜像文件安装的详细步骤

此次hadoop集群的搭建设置了三个节点,主节点的名称为:bigdata2021master,剩余两个子节点的名称分别为:bigdata2021slave1,bigdata2021slave2。 


一、下载相关软件的压缩包

搭建hadoop集群需要配置java、hadoop环境,因此需要去官网下载相关的压缩包。注:尽量不要下载最新版本的压缩包,可能会出现不兼容等相关问题,建议下载老一点版本的。在window中下载的文件可通过qq邮箱、xshell软件等方式传送到虚拟机上去。

1、hadoop下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-2.7.1/(注:选择:hadoop-2.7.1.tar.gz 的文件下载即可)

2、jdk下载地址:https://www.oracle.com/java/technologies/downloads/#java8(注:选择:jdk-8u381-linux-x64.tar.gz文件下载即可)


二、配置虚拟机上主节点相关设置

1、修改主机用户名

首先要将你的主机用户名改为所需要的用户名,这里我改成bigdata2021master。

(1)打开终端,输入:su 后并输入密码切换成管理员模式;

(2)输入:vi etc/hostname,修改成对应的用户名(注:用vi命令编辑文件时按i进入编辑模式,编辑完成后按esc后输入wq!保存并退出);

2、进行ip地址映射

在终端中输入:vi etc/hosts 后输入(如下图)三个节点名称和ip地址(ip地址可在终端中输入ifconfig命令中可查看,剩余两个子节点的ip地址最后三位自己可随便定义);

3、配置虚拟机网络设置

 (1)在终端中输入vi /etc/sysconfig/network-scripts/ifcfg-ens33 后,修改和增加相关配置,修改和增加的内容为下图1中红色框的内容。其中IPADDR表示为IP地址,NETMASK表示为子网掩码,GATEWAY为网关,以上地址可在虚拟机菜单中点击编辑–>虚拟网络编辑器–>VMnet8–>NAT设置后即可看到相关地址信息(如下图2步骤),DNS1和DNS2可用图中默认的地址;

(2)完成上述配置,要重启网络,在终端中输入:service network restart

图1:(注:可能读者在操作时有些配置和此图片不一样,读者要统一成和此图片一致,除红框中的信息要根据自己计算机的地址信息来修改)

图2:可能需要管理员权限


三、解压并配置java、hadoop环境

1、解压jdk、hadoop压缩文件

(1)切换到保存压缩包的文件夹下输入:tar -zxvf 压缩包名

(2)文件名过长时可用mv命令修改方便后续操作

 2、配置jdk、hadoop环境

(1)在终端中输入:vi /etc/profile 来修改文件;

(2)在结尾加上以下内容(如下图所示):

export JAVA_HOME=解压后的jdk文件路径

export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/

export PATH=$PATH:$JAVA_HOME/bin

export HADOOP_HOME=解压后的hadoop文件路径

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

(3)保存退出后输入:source /etc/profile 让修改的配置文件生效;

(4)验证是否配置成功,输入:java -version 如果出现下图信息说明配置成功。

3、修改hadoop中的相关配置文件信息(最重要)

(1)新建几个目录用来存储修改配置文件后的相关信息,在终端中输入以下命令:

mkdir  /root/hadoop
mkdir  /root/hadoop/tmp
mkdir  /root/hadoop/var
mkdir  /root/hadoop/dfs
mkdir  /root/hadoop/dfs/name
mkdir  /root/hadoop/dfs/data
 

(2)切换到 etc/hadoop 下,修改一系列配置文件:

  • 输入:vi core-site.xml 修改文件,在文件中的<configuration>和</configuration>添加以下内容(注:黄色部分要改成自己的主机名)
  • <property>

            <name>hadoop.tmp.dir</name>

            <value>/root/hadoop/tmp</value>

            <description>Abase for other temporary directories.</description>

       </property>

       <property>

            <name>fs.default.name</name>

            <value>hdfs://bigdata2021master:9000</value>

       </property>
     

  • 输入:vi hadoop-env.sh 修改文件,找到文件中的以下内容(红框的内容是文件中的原文内容,后部分要自己根据存储的jdk、hadoop文件路径进行修改),并修改成以下内容:
  • 输入:vi hdfs-site.xml 修改文件,在文件中的<configuration>和</configuration>添加以下内容: 
  • <property>

       <name>dfs.name.dir</name>

       <value>/root/hadoop/dfs/name</value>

       <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>

    </property>

    <property>

       <name>dfs.data.dir</name>

       <value>/root/hadoop/dfs/data</value>

       <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>

    </property>

    <property>

       <name>dfs.replication</name>

       <value>2</value>      #表示副节点的个数

    </property>

    <property>

          <name>dfs.permissions</name>

          <value>false</value>

          <description>need not permissions</description>

    </property>
     

  • 输入:mapred-site.xml 修改文件,在文件中的<configuration>和</configuration>添加以下内容(注:黄色部分要改成自己的主机名) 
  •  <property>

       <name>mapred.job.tracker</name>

       <value>bigdata2021master:49001</value>

    </property>

    <property>

          <name>mapred.local.dir</name>

           <value>/root/hadoop/var</value>

    </property>

    <property>

           <name>mapreduce.framework.name</name>

           <value>yarn</value>

    </property>
     

  • 输入:yarn-site.xml 修改文件, 在文件中的<configuration>和</configuration>添加以下内容(注:黄色部分要改成自己的主机名)  
  • <property>

            <name>yarn.resourcemanager.hostname</name>

            <value>bigdata2021master</value>

       </property>

       <property>

            <description>The address of the applications manager interface in the RM.</description>

            <name>yarn.resourcemanager.address</name>

            <value>${yarn.resourcemanager.hostname}:8032</value>

       </property>

       <property>

            <description>The address of the scheduler interface.</description>

            <name>yarn.resourcemanager.scheduler.address</name>

            <value>${yarn.resourcemanager.hostname}:8030</value>

       </property>

       <property>

            <description>The http address of the RM web application.</description>

            <name>yarn.resourcemanager.webapp.address</name>

            <value>${yarn.resourcemanager.hostname}:8088</value>

       </property>

       <property>

            <description>The https adddress of the RM web application.</description>

            <name>yarn.resourcemanager.webapp.https.address</name>

            <value>${yarn.resourcemanager.hostname}:8090</value>

       </property>

       <property>

            <name>yarn.resourcemanager.resource-tracker.address</name>

            <value>${yarn.resourcemanager.hostname}:8031</value>

       </property>

       <property>

            <description>The address of the RM admin interface.</description>

            <name>yarn.resourcemanager.admin.address</name>

            <value>${yarn.resourcemanager.hostname}:8033</value>

       </property>

       <property>

            <name>yarn.nodemanager.aux-services</name>

            <value>mapreduce_shuffle</value>

       </property>

       <property>

            <name>yarn.scheduler.maximum-allocation-mb</name>

            <value>2048</value>

            <discription>每个节点可用内存,单位MB,默认8182MB</discription>

       </property>

       <property>

            <name>yarn.nodemanager.vmem-pmem-ratio</name>

            <value>2.1</value>

       </property>

       <property>

            <name>yarn.nodemanager.resource.memory-mb</name>

            <value>2048</value>

    </property>

       <property>

            <name>yarn.nodemanager.vmem-check-enabled</name>

            <value>false</value>

    </property>
     

  •  输入:vi workers 修改文件配置,在该文件中,加上三个机器的用户名:
  •  


    四、克隆两个子节点

    1、克隆虚拟机

     (1)选择对应左侧虚拟机的名称,右击选择管理–>克隆;

     (2)接下来直接选择默认选项即可,但注意其中一步必须选择如下图的选项。

    2、修改子节点机器的相关配置

    因为克隆机器后的两个子节点和主机点的信息完全一致,因此要把两个子节点的用户名、ip地址根据之前修改的hosts文件改掉,方法和前面一致。

    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣

    特别说明:有的时候需要用scp命令将主机上的hadoop文件传输到副机上去,这里可以先新建两个虚拟机并且和前面一样配置好相关信息,再在终端中输入:scp -r 源hadoop文件路径 机器用户名:目标路径位置后,即可传输,比较麻烦,建议没有要求的情况下使用克隆虚拟机的方法。

    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣


     五、设置免密登录(三个节点都需要进行此操作)

    1、关闭防火墙和禁止启动防火墙

    (1)关闭防火墙,终端中输入:systemctl stop firewalld.service

    (2)关闭开机时自动开启防火墙 :systemctl disable firewalld.service

    2、生成密钥

    在终端中输入:ssh-keygen -t rsa ,一直按回车键即可

    3、分配密钥 

    (1)在终端中输入以下指令(中途根据提示输入yes、密码):

    ssh-copy-id bigdata2021master

    ssh-copy-id bigdata2021slave1

    ssh-copy-id bigdata2021slave2

     (2)验证是否能够免密成功登录,终端输入:ssh 机器名称,若能够成功登录其他机器则免密登陆设置成功

    六、启动hadoop集群

    1、格式化hadoop集群

    (1)切换到 下载的hadoop文件中的 bin 目录下

    (2)格式化hadoop集群,在终端中输入:./hadoop namenode -format ,若在 /root/hadoop/dfs/name中出现一个current目录并有一些列文件,即表示格式化成功,注意不要多次格式化会出错。

    (3)修改下列启动和停止集群的配置文件(在主节点修改即可)

  • 切换到下载的hadoop文件下的 /sbin目录下修改文件
  • 在start-dfs.sh、stop-dfs.sh 中开头中加上内容(用vi命令操作):
  • HDFS_DATANODE_USER=root

    HADOOP_SECURE_DN_USER=root

    HDFS_NAMENODE_USER=root

    HDFS_SECONDARYNAMENODE_USER=root

  • 在start-yarn.sh、stop-yarn.sh中开头加上以下内容(用vi命令操作): 
  • YARN_RESOURCEMANAGER_USER=root

    HADOOP_SECURE_DN_USER=root

    YARN_NODEMANAGER_USER=root

    2、启动hadoop集群 (在主节点启动)

    (1)在终端输入:start-all.sh

    (2)三个节点分别输入jps查看进程(注意都要切换到管理员权限,并切换到hadoop文件下的bin目录下),出现下列结果(关键是看主机点的进程中是否有NameNode进程、子结点中是否有DataNode进程),则表明搭建集群成功;(注:必须都为管理员权限下进入hadoop目录下的bin路径下才能查看到启动的进程)

  •  主节点:
  • 子节点1:
  • 子节点2: 

  •  七、说明

    ❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤

    如果没有成功搭建,大概率是因为在配置hadoop文件时有问题,请务必在配置时仔细检查,创作不易,希望留下您的点赞哦,如果此篇文章编写有问题,欢迎批评指正。

    ❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤

    物联沃分享整理
    物联沃-IOTWORD物联网 » CentOS-7下搭建Hadoop集群的大数据平台搭建指南

    发表评论