Hadoop完全分布式搭建(Hadoop-3.3.0)

这篇具有很好参考价值的文章主要介绍了Hadoop完全分布式搭建(Hadoop-3.3.0)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        本教程讲解Hadoop-3.3.0在Ubuntu系统下集群的搭建。

        在正式开始之前,需要自己先安装好一台虚拟机。下面给大家整理了过程中需要用到的资源包,可以自行获取:

链接:https://pan.baidu.com/s/1TWErk6DAyV99WId1af2kqg?pwd=wcop 
提取码:wcop 
--来自百度网盘超级会员V4的分享

创建hadoop用户

1.打开终端,输入命令,创建新用户

sudo useradd -m hadoop -s /bin/bash

2.为hadoop用户设置密码

sudo passwd hadoop

3.为了我们后面操作方便,这里可以给予hadoop用户添加管理员权限

sudo adduser hadoop sudo

hadoop3.3,分布式,hadoop,大数据

最后,在右上角齿轮注销当前用户,登录上我们刚刚创建的hadoop用户。

更新apt

1.更改下载服务器

        系统默认的软件源一般都是在外网,有时候不一定能下载成功,所以可以更改下软件源。进入系统设置(齿轮图标) --> 软件与更新

hadoop3.3,分布式,hadoop,大数据

 选择其他站点,再选择国内的软件源。

hadoop3.3,分布式,hadoop,大数据

 再点击右下角的选择服务器,输入密码授权。

hadoop3.3,分布式,hadoop,大数据

 根据弹窗信息,点击重新载入,等待加载。

2.打开终端,输入命令:

sudo apt-get update

更新apt,后续我们需要通过它来安装软件。

hadoop3.3,分布式,hadoop,大数据

3.安装vim,输入命令:

sudo apt-get install vim

        遇到下面提示时,直接输入y即可。

hadoop3.3,分布式,hadoop,大数据

 之后回车,等待安装即可。

安装SSH

1.输入命令,安装SSH

sudo apt-get install openssh-server

2. 安装成功后,执行下面命令登录到本机

ssh localhost

 当有以下提示时,输入yes。然后再输入密码即可登录到本机。

hadoop3.3,分布式,hadoop,大数据

但是这样我们每次登录都是需要密码的,所以我们接下来对ssh进行配置,使能无密码登录。

配置SSH免密登录

1.执行命令exit退出SSH,回到我们原来的窗口

2.利用ssh-keygen生成密钥,并将密钥加到授权中

cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa              # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys  # 加入授权

3.再次使用ssh localhost即可无密码登陆到本机

hadoop3.3,分布式,hadoop,大数据

 Xshell、Xftp连接

1.xshell、xftp直接在官网下载即可,个人版的免费使用

2.执行命令ifconfig查看当前虚拟机的ip

hadoop3.3,分布式,hadoop,大数据

 3.连接xshell、xftp(以xshell为例)

hadoop3.3,分布式,hadoop,大数据

 然后输入用户名、密码即可连接成功

hadoop3.3,分布式,hadoop,大数据

安装Java环境

(1)第一种方式

1. cd /usr/lib
2. sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
3. cd ~ #进入hadoop用户的主目录
4. cd Downloads  #注意区分大小写字母,刚才已经通过FTP软件把JDK安装包jdk-8u371-linux-x64.tar.gz上传到该目录下
5. sudo tar -zxvf ./jdk-8u371-linux-x64.tar.gz -C /usr/lib/jvm  #把JDK文件解压到/usr/lib/jvm目录下

接下来配置环境变量,执行命令

vim ~/.bashrc

在开头加入以下内容

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_371
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

保存并退出,然后执行以下命令,是配置立马生效。

source ~/.bashrc

最后执行命令查看是否配置成功,出现下面情况即为配置成功

hadoop@ubuntu:~$ java -version
java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

(2)第二种方式

1.在没有安装jdk的情况下,我们执行命令java -version,会有提示

hadoop3.3,分布式,hadoop,大数据

2.根据提示执行命令

sudo apt install openjdk-8-jre-headless

3.配置环境变量,执行命令:vim ~/.bashrc,在文件开头加入以下内容

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-i386
export PATH=$JAVA_HOME/bin:$PATH

保存退出

4.执行命令source ~/.bashrc使配置即刻生效

5.执行命令java -version查看是否配置成功

hadoop3.3,分布式,hadoop,大数据

         我们进行到这里,在正式安装Hadoop之前的一些基本配置已经完成,我们可以在关机状态(一定要在关机状态下)拍摄一个快照。

Slave1的配置

1.我们通过上面的快照克隆出一个新的虚拟机,作为我们的从节点Slave1.

2.克隆出的Slave1和之前的虚拟机一模一样,但是我们还需要重新配置SSH,然后再按照上面介绍的方法对xshell、xftp进行连接。

Hadoop的安装

1.首先我们先通过网盘下载hadoop-3.3.0的压缩包,然后通过xftp将压缩包传给我们的虚拟机,要记好我们上传到虚拟机的位置,我的是在  /home/hadoop/下载/    路径下。

hadoop3.3,分布式,hadoop,大数据2.解压到 /usr/local/ 路径下,输入命令

sudo tar -zxf hadoop-3.3.0-aarch64.tar.gz -C /usr/local

hadoop3.3,分布式,hadoop,大数据

然后我们再修改一下文件名,权限

cd /usr/local/
sudo mv ./hadoop-3.3.0/ ./hadoop            # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop       # 修改文件权限

3. Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:

cd /usr/local/hadoop
./bin/hadoop version

hadoop3.3,分布式,hadoop,大数据

 集群的搭建

1.网络配置

1.改变虚拟机的主机名,我们将主节点设为Master,从节点设为Slave1,使用下面命令

sudo vim /etc/hostname

修改完成后,重新启动虚拟机,打开终端,主机名已经改变

hadoop3.3,分布式,hadoop,大数据hadoop3.3,分布式,hadoop,大数据

2.然后,在Master节点中执行如下命令打开并修改Master节点中的“/etc/hosts”文件:

sudo vim /etc/hosts

可以在hosts文件中增加如下两条IP和主机名映射关系:

192.168.222.151 Master
192.168.222.152 Slave1

hadoop3.3,分布式,hadoop,大数据 在Slave1节点下的hosts文件下添加上面映射关系,ip根据自己虚拟机情况进行修改。然后再重新启动各虚拟机,打开终端,在各结点下输入命令:测试是否相互ping得通,如果ping不通,后面就无法顺利配置成功:

ping Master -c 3  
ping Slave1 -c 3

hadoop3.3,分布式,hadoop,大数据hadoop3.3,分布式,hadoop,大数据

 2.SSH免密登录各节点

必须要让Master节点可以SSH无密码登录到各个Slave节点上。首先,生成Master节点的公匙,如果之前已经生成过公钥,必须要删除原来生成的公钥,重新生成一次,因为前面我们对主机名进行了修改。具体命令如下:

cd ~/.ssh              # 如果没有该目录,先执行一次ssh localhost
rm ./id_rsa*           # 删除之前生成的公匙(如果已经存在)
ssh-keygen -t rsa      # 执行该命令后,遇到提示信息,一直按回车就可以

为了让Master节点能够无密码SSH登录本机,需要在Master节点上执行如下命令:

cat ./id_rsa.pub >> ./authorized_keys

完成后可以执行命令“ssh Master”来验证一下,可能会遇到提示信息,只要输入yes即可,测试成功后,请执行“exit”命令返回原来的终端。接下来,在Master节点将上公匙传输到Slave1节点:

scp ~/.ssh/id_rsa.pub hadoop@Slave1:/home/hadoop/

上面的命令中,scp是secure copy的简写,用于在 Linux下进行远程拷贝文件,类似于cp命令,不过,cp只能在本机中拷贝。执行scp时会要求输入Slave1上hadoop用户的密码,输入完成后会提示传输完毕,如下图所示。

hadoop3.3,分布式,hadoop,大数据

接着在Slave1节点上,将SSH公匙加入授权:

mkdir ~/.ssh       # 如果不存在该文件夹需先创建,若已存在,则忽略本命令
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub    # 用完以后就可以删掉

 这样,在Master节点上就可以无密码SSH登录到各个Slave节点了,可在Master节点上执行如下命令进行检验:

ssh Slave1

 hadoop3.3,分布式,hadoop,大数据

 3.配置PATH变量

在Master节点下,首先执行命令“vim ~/.bashrc”,也就是使用vim编辑器打开“~/.bashrc”文件,然后,在该文件最上面的位置加入下面一行内容:

export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin

保存后执行命令“source ~/.bashrc”,使配置生效。

4.配置集群环境

在配置集群/分布式模式时,需要修改“/usr/local/hadoop/etc/hadoop”目录下的配置文件,这里仅设置正常启动所必须的设置项,包括workers 、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml共5个文件

(1)修改workers

在进行分布式配置时,可以保留localhost,让Master节点同时充当名称节点和数据节点,或者也可以删掉localhost这行,让Master节点仅作为名称节点使用。
本教程让Master节点仅作为名称节点使用,因此将workers文件中原来的localhost删除,只添加如下一行内容:

Slave1

(2)修改core-site.xml

请把core-site.xml文件修改为如下内容:

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://Master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/local/hadoop/tmp</value>
                <description>Abase for other temporary directories.</description>
        </property>
</configuration>

(3)修改hdfs-site.xml

对于Hadoop的分布式文件系统HDFS而言,一般都是采用冗余存储,冗余因子通常为3,也就是说,一份数据保存三份副本。但是,本教程只有一个Slave节点作为数据节点,即集群中只有一个数据节点,数据只能保存一份,所以 ,dfs.replication的值还是设置为 1。hdfs-site.xml具体内容如下:

<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>Master:50090</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
</configuration>

(4)修改mapred-site.xml

把mapred-site.xml文件配置成如下内容:

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>Master:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>Master:19888</value>
        </property>
        <property>
                <name>yarn.app.mapreduce.am.env</name>
                <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
        </property>
        <property>
                <name>mapreduce.map.env</name>
                <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
        </property>
        <property>
                <name>mapreduce.reduce.env</name>
                <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
        </property> 
</configuration>

(5)修改yarn-site.xml

请把yarn-site.xml文件配置成如下内容:

<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>Master</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

上述5个文件全部配置完成以后,需要把Master节点上的“/usr/local/hadoop”文件夹复制到各个节点上。具体来说,需要首先在Master节点上执行如下命令:

cd /usr/local
sudo rm -r ./hadoop/tmp     # 删除 Hadoop 临时文件
sudo rm -r ./hadoop/logs/*   # 删除日志文件
tar -zcf ~/hadoop.master.tar.gz ./hadoop   # 先压缩再复制
cd ~
scp ./hadoop.master.tar.gz Slave1:/home/hadoop

然后在Slave1节点上执行如下命令:

sudo rm -r /usr/local/hadoop    # 删掉旧的(如果存在)
sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/hadoop

首次启动Hadoop集群时,需要先在Master节点执行名称节点的格式化(只需要执行这一次,后面再启动Hadoop时,不要再次格式化名称节点),命令如下:

hdfs namenode -format

现在就可以启动Hadoop了,启动需要在Master节点上进行,执行如下命令:

start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver

 通过命令jps可以查看各个节点所启动的进程。如果已经正确启动,则在Master节点上可以看到NameNode、ResourceManager、SecondrryNameNode和JobHistoryServer进程,如下图所示。

hadoop3.3,分布式,hadoop,大数据

在Slave节点可以看到DataNode和NodeManager进程,如下图所示。

 hadoop3.3,分布式,hadoop,大数据

缺少任一进程都表示出错。另外还需要在Master节点上通过命令“hdfs dfsadmin -report”查看数据节点是否正常启动,如果屏幕信息中的“Live datanodes”不为 0 ,则说明集群启动成功。由于本教程只有1个Slave节点充当数据节点,因此,数据节点启动成功以后,会显示如下图所示信息。

hadoop3.3,分布式,hadoop,大数据

也可以在Linux系统的浏览器中输入地址“http://master:9870/”,通过 Web 页面看到查看名称节点和数据节点的状态。如果不成功,可以通过启动日志排查原因。 

        特别需要注意的是,本教程只实现了一个从节点,如果你有更多的从节点,那么对应它们的操作都是一样的。

参考文献

林子雨编著-大数据软件安装和编程实践指南_厦门大学数据库实验室 (xmu.edu.cn)

等等文章来源地址https://www.toymoban.com/news/detail-847766.html

到了这里,关于Hadoop完全分布式搭建(Hadoop-3.3.0)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据技术栈-Hadoop3.3.4-完全分布式集群搭建部署-centos7(完全超详细-小白注释版)虚拟机安装+平台部署

    目录 环境条件: 1、安装虚拟机(已安装好虚拟机的可跳转至  二、安装JDK与Hadoop) (1)直接新建一台虚拟机 (2)首次启用虚拟机,进行安装 一、集群前置环境搭建(三台机器分别设置hostname、网卡(ip)配置、ssh免密登录) 1、查看一下本机与虚拟机的网卡和ip信息 (1)

    2024年02月06日
    浏览(46)
  • Hadoop3.x完全分布式模式下slaveDataNode节点未启动调整

    目录 前言 一、问题重现 1、查询Hadoop版本  2、集群启动Hadoop 二、问题分析 三、Hadoop3.x的集群配置 1、停止Hadoop服务 2、配置workers 3、从节点检测 4、WebUI监控 总结         在大数据的世界里,Hadoop绝对是一个值得学习的框架。关于Hadoop的知识,有很多博主和视频博主都做

    2024年02月04日
    浏览(50)
  • Hadoop3.1.4分布式搭建

    1.1 实验网络规划 hostname ip addr role other k8s-m133 10.10.10.133 NameNode, DataNode, NodeManageer k8s-m134 10.10.10.134 SecondaryNameNode, DataNode, NodeManageer k8s-m135 10.10.10.135 ResourceManager, DataNode, NodeManageer k8s-n151 10.10.10.151 DataNode, NodeManageer k8s-n157 10.10.10.157 DataNode, NodeManageer 1.2 配置免密登录(所有节点) 1

    2024年02月06日
    浏览(42)
  • Hadoop完全分布式搭建

    1.下载VM 2.下载Centos镜像 3.下载hadoop 4.下载FinalShell 5.下载jdk文件  6.下载hive,数据仓库学习大数据专业的用的到     注:开启虚拟机把鼠标放入屏幕点击后消失,使用键盘上下键进行选择   注:点击之后,什么都不动,再点击完成(因为它自动帮我们分区了) 注:我们配置

    2024年02月04日
    浏览(45)
  • 搭建完全分布式Hadoop

    登录三个虚拟机 执行命令: vim /etc/hosts 1、上传安装包 上传hadoop安装包 查看hadoop安装包 2、解压缩安装包 执行命令: tar -zxvf hadoop-3.3.4.tar.gz -C /usr/local 查看解压后的目录 3、配置环境变量 执行命令: vim /etc/profile 存盘退出,执行命令: source /etc/profile ,让配置生效 查看had

    2024年02月04日
    浏览(53)
  • Hadoop完全分布式搭建(Hadoop-3.3.0)

            本教程讲解Hadoop-3.3.0在Ubuntu系统下集群的搭建。         在正式开始之前,需要自己先安装好一台虚拟机。下面给大家整理了过程中需要用到的资源包,可以自行获取: 1.打开终端,输入命令,创建新用户 2.为hadoop用户设置密码 3.为了我们后面操作方便,这里可以给

    2024年04月11日
    浏览(36)
  • Hadoop完全分布式集群搭建

    1.在虚拟机关机的状态下选择克隆 2.开始克隆 3.选择从当前状态创建 4.创建一个完整的克隆 5.选择新的虚拟机存储位置(选择内存充足的磁盘) 6.开始克隆 7.克隆完成 8.同样的方法克隆第二台虚拟机 9.在计算机中存在三台虚拟机 将第一台虚拟机更名为hadoop01 修改hadoop01的主机

    2024年02月02日
    浏览(45)
  • hadoop平台完全分布式搭建

    安装前准备 一、设置ssh免密登录 1.编辑hosts文件,添加主机名映射内容 vim  /etc/hosts 添加内容: 172.17.0.2      master 172.17.0.3      slave1 172.17.0.4      slave2 2.生成公钥和私钥 ssh-keygen –t rsa 然后按三次回车 3.复制公钥到其他容器(包括自己) ssh-copy-id master ssh-copy-id slav

    2024年03月17日
    浏览(45)
  • Hadoop 完全分布式集群搭建

    部署前可以先了解下 Hadoop运行模式及目录结构-CSDN博客 服务 hadoop102 hadoop103 hadoop104 NameNode √ DataNode √ √ √ Secondary NameNode √ ResourceManager √ NodeManager √ √ √ JobHistoryServer √ IPv4 192.168.88.102 192.168.88.103 192.168.88.104 NodeObject master worker1 worker2 最小化安装 Neokylin7.0 用于搭建 Had

    2024年02月04日
    浏览(55)
  • Hadoop的完全分布式搭建

    主机名 Hadoop10 Hadoop11 Hadoop12 网络 192.168.10.10 192.168.10.11 192.168.10.12 用户 hadoop root hadoop root hadoop root HDFS NameNode DateNode DateNode Secondary NameNode DataNode YARN NodeManager NodeManager ResourceManager NodeManager 安装虚拟机系统,省略 第一步:网卡配置 使用 vi 编辑器编辑系统的网卡配置文件,配置以下

    2024年02月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包