centos7 Hadoo3.3.1环境配置总结

本文档详述了一位技术爱好者在CentOS虚拟机中配置Hadoop集群的全过程,包括选择CentOS作为操作系统的原因,虚拟机的硬件配置,克隆虚拟机,以及配置Java环境、安装Hadoop、网络设置和SSH免密登陆等关键步骤。作者强调了对于新手来说,CentOS比Ubuntu更适合,并提供了详细的配置建议和注意事项。
摘要由CSDN通过智能技术生成

前几天心血来潮,突然想学习一下大数据,去百度和知乎看了一些大神的建议,决定从Hadoop入手。由于好久不用Linux,这次配置的过程踩了不少坑,本着为人民服务的原则,希望能给其他小白提供一些帮助。

1、推荐使用CentOS+VMware虚拟机

因为Ubuntu相比较其他Linux系统有着太多基础用户,我觉得肯定有人会因为操作习惯不去选择centos。如果你是大神,那这段话直接略过,但如果你是技术一般的小白,我推荐各位使用CentOS。我使用的是CentOS7,自我感觉,在centos中配置Hadoop的教程还是挺多的,并不会影像使用。
此外,真正让我不推荐大家使用Ubuntu的原因,还是因为穷的原因。毕竟Ubuntu的图形界面,太过于占用系统资源,不过话说回来,对于小白,命令行界面却又过于困难。我的建议则很简单,安装CentOS自带的GUI图形界面。
接下来我讲解一下我的安装推荐。
我的电脑总共的内存是16G,i5处理器,使用的是win10系统。可供参考的虚拟机硬件配置如下:
单个虚拟机建议2G内存,1个CPU,硬盘20G或以上。
安装时如果想使用图形界面,安装到以下界面时选择安装图形界面。
在这里插入图片描述

也可以选择server with GUI,同样是图形界面。

接下来内容已经没有什么特别注意的了,其他博客给的教程已经够多了。
安装一台centos对于Hadoop来说是不够的,我相信其他的教程中也不会只让你配置一台虚拟机,但还好,VMware有虚拟机克隆。
通过在VMware虚拟机列表中,选中要克隆的虚拟机,右击→管理→克隆,接下来的流程比较简单,克隆时选择虚拟机当前状态→创建完整克隆→命名新虚拟机,即可。
一般来讲,一台虚拟机不足以满足Hadoop需求,我推荐克隆两台主机。总共三台虚拟机,一台主节点,两台分节点。
我在一些教程中看到,克隆后的虚拟机需要配置网络才能联网,可惜的是,我克隆出的虚拟机并没有出现不能上网的情况。此外,如果你安装时选择了图像界面,重新进行网络配置还是很方便的。
此外,图形界面比较吃系统资源,如果发现系统运行卡慢,可以修改虚拟机,改成开机进入命令行。

systemctl set-default graphical.target  # 将默认模式修改为图形界面模式
systemctl set-default multi-user.target # 将默认模式修改为命令行模式

注意:CentOS 7和CentOS 6的设置命令不不同的。

但克隆后的虚拟机一般也是需要配置静态网络并且修改主机名。我的三个系统主机名分别为Hadoop01,Hadoop02和Hadoop03。配置静态网络且修改主机名后,再修改系统的hosts文件,实现主机名和ip地址的映射,对接下来的操作尤为重要。但因为步骤没有保存,这次暂且略过,今后有空我再补上。

2、环境配置

Hadoop所需的环境配置包括java环境、Hadoop安装、网络配置和ssh免密登陆。具体的细节我建议大家去百度,毕竟我一下子写不了这么多的内容。我在此只能提一下需要注意的地方。
首先是java环境。很多Linux系统有自带的java环境,(使用java -version有正确输出)但没有再 /etc/profile中配置JAVA_HOME,大家可以先使用以下命令查询下java的路径。

~/Desktop$ which java
/usr/bin/java
~/Desktop$  ls -lrt /usr/bin/java
lrwxrwxrwx 1 root root 22 1119 15:23 /usr/bin/java -> /etc/alternatives/java
k~/Desktop$  ls -lrt /etc/alternatives/java
lrwxrwxrwx 1 root root 46 1119 15:23 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

得到java路径后,使用sudo vi /etc/profile 编辑文件,加入以下内容:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

JAVA_HOME后跟自己系统的java路径。
编辑完后记得使用 source /etc/profile 指令使配置文件生效。
hadoop安装对于大家应该不会出什么问题,解压到指定目录即可。如果大家选择了克隆虚拟机,由于系统文件相同,可以采用在主节点配置后,将配置文件发送到其他两台节点。具体步骤如下:
创建安装目录
我的三台虚拟机分别名为 Hadoop01、Hadoop02和Hadoop03,分别在三台主机的根目录下创建三个文件夹:
/export/data/ :存放数据类文件;
/export/servers/ :存放服务类软件;
/export/software/ :存放安装包文件。
记住,三台主机都要创建。目录的图片示意如下:
在这里插入图片描述
在这里插入图片描述
Hadoop的下载网站
https://hadoop.apache.org/releases.html
在这里插入图片描述
下载后将文件解压到/export/servers/目录下。先cd到Hadoop的安装包目录下,使用以下命令:

tar -zxvf hadoop-3.3.1.tar.gz -C /export/servers/

注意,-C是大写,Hadoop的文件名不对应的话记得改。
解压后,使用 sudo vi /etc/profile指令,在文件末尾加入Hadoop环境变量。

export HADOOP_HOME=/export/servers/hadoop-3.3.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

编辑完后使用 source /etc/profile 指令使配置文件生效。
再使用Hadoop version,看到Hadoop的版本号,就说明安装完成了。

Hadoop集群配置
修改hadoop-env.sh文件。
该文件位于/etc/hadoop/目录下,使用文本编辑器或者vi打开该文件,加入JAVA_HOME参数位置,参照如下:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre

修改core-site.xml文件
该文件主要配置HDFS地址、端口号,已经临时文件的目录,打开文件,添加以下内容:

<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>

修改hdfs-site.xml文件
该文件主要设置hdfs的namenode和datanode两大进程。配置如下:

   <property>
      <name>dfs.replication</name>
      <value>3</value>
      <description>副本个数,配置默认是3,应小于datanode机器数量</description>
   </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop02:50090</value>
        <description>web端访问地址</description>
    </property>

修改mapred-site.xml文件

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    <description>指定MapReduce程序运行在Yarn上</description>
</property>
    <property>
        <name>mapreduce.application.classpath</name>
        <description>hadoop3x要添加以下内容,否则会报错。根据自己的路径修改内容</description>
        <value>
             /export/servers/hadoop-3.3.1/etc/hadoop,
             /export/servers/hadoop-3.3.1/share/hadoop/common/*,
             /export/servers/hadoop-3.3.1/share/hadoop/common/lib/*,
             /export/servers/hadoop-3.3.1/share/hadoop/hdfs/*,
             /export/servers/hadoop-3.3.1/share/hadoop/hdfs/lib/*,
             /export/servers/hadoop-3.3.1/share/hadoop/mapreduce/*,
             /export/servers/hadoop-3.3.1/share/hadoop/mapreduce/lib/*,
             /export/servers/hadoop-3.3.1/share/hadoop/yarn/*,
             /export/servers/hadoop-3.3.1/share/hadoop/yarn/lib/*
         </value>
     </property>

修改yarn-site.xml文件

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop01</value>
    <description>指定ResourceManager的地址</description>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    <description>指定MR走shuffle</description>
</property>

<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>2048</value>
</property>

<property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>1024</value>
</property>
<property>
    <name>yarn.nodemanager.resource.cpu-vcores</name>
    <value>1</value>
</property>

后面那部分是关于资源的配置,分别是可用资源大小、最小内存限制和可分配的CPU核数。配置好的电脑如果给虚拟机分配的资源够多,大家也可以适当调大些。
修改workers文件,删除里面的localhost,添加主机名,

hadoop01
hadoop02
hadoop03

根据自己设置的主机名来修改。

3、配置ssh免密登陆

配置ssh免密登陆,我对这个不是很擅长,我也是第一操作这个,就不跟大家举例步骤了,大家去找相关操作的博客即可,过程并不复杂。

4、将配置文件分发到子节点

如果你在主节点上配置好了Hadoop,并且在其他节点创建了前面提到的文件夹,可以使用以下命令将这些文件分发到其他节点。具体命令如下:

scp /etc/profile hadoop02:/etc/profile
scp /etc/profile hadoop03:/etc/profile
scp -r /export/ hadoop02:/
scp -r /export/ hadoop03:/

如果指令执行失败,可尝试切换到root用户下进行。指令完成后,在Hadoop02和Hadoop03节点执行source /etc/profile指令使配置文件生效。

接着,在主节点使用start-all.sh命令,能够正常启动,就说明没有问题了。

对于Hadoop目录下的配置文件,不想自己输入的,可以花积分下载。
https://download.csdn.net/download/HIST_JK/47496215
如有疑问或者错误,可在评论区留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值