大数据平台搭建——hadoop集群(基于CentOS-7)的搭建

目录

总序

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

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

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文件时有问题,请务必在配置时仔细检查,创作不易,希望留下您的点赞哦,如果此篇文章编写有问题,欢迎批评指正。

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值