hadoop分布式搭建

news2024/11/26 10:38:36

hadoop的分布式搭建步骤:

第一步:

比如准备三台虚拟机,分别命名为master、node1、node2,并且确保都配置了java环境 ,都关闭了防火墙,都设置了静态的IP地址,然后三台虚拟机的hosts文件都互相映射,在本地windows上也有映射。最后进行时间同步、时区调整

具体操作如下:

1、时间同步

ntpdate ntp.aliyun.com

2、调整时区

timedatectl set-timezone Asia/Shanghai

 3、配置相同的java环境

3.1将下载好的jdk进行解压,然后打开配置文件

vim /etc/profile

3.2配置环境变量

export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
export PATH=.:$PATH:$JAVA_HOME/bin

3.3让环境变量生效

source /etc/profile

3.4检查java是否安装成功

java            判断环境变量是否配置成功
java -version   显示java版本

 4、修改主机名

hostnamectl set-hostname 主机名

5、关闭防火墙

systemctl stop firewalld
  • 查看防火墙状态:systemctl status firewalld

  • 取消防火墙自启:systemctl disable firewalld

6、静态IP配置

6.11、编辑网络配置文件

vim /etc/sysconfig/network-scripts/ifcfg-网络名称

6.12修改网络配置文件

# 需要根据自身情况修改: 
# IPADDR(根据自己的网段,自定义IP地址,三台虚拟机不能使用相同IP)
# GATEWAY(根据自己的网段填写对应的网关地址)
# DNS1 (同网关地址保持一致即可)
# 其他直接使用下列配置
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.190.100
GATEWAY=192.168.190.2
NETMASK=255.255.255.0
DNS1=192.168.190.2
DNS2=223.6.6.6

6.13 关闭NetworkManager,并取消开机自启

避免每次重新打开或重启虚拟机时ip地址的变动,我们需要关闭NetworkManger

systemctl stop NetworkManager
systemctl disable NetworkManager

6.14重启网络服务

systemctl restart network

7、相互映射

打开hosts文件,进行设置

vim /etc/hosts

第二步:

配置好上面的第一步,接下来我们就开始设置免密登录,这样master在每次远程连接node1和node2的时候就不用输入密码了,我们不需要让三台都能互相连接,只需要master连接node1,node2,和master连接master。

最注意的是:master一定要连接master,就是与自身相连,不然在启动hadoop集群的时候,会发现缺少Namenode节点,也就无法打开hdfs和yarn平台

1、生成密钥

ssh-keygen -t rsa

1.1查看公钥

cd ~/.ssh/

2、配置免密登录

也就是向master、node1、node2分发生成的公钥

ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2

公钥生成后,1、可以用copy语句,让node1和node2都直接复制.ssh文件,语句:ssh-copy-id node1,master中的秘钥位置:cd ~/.ssh/

                       2、如果不能使用copy命令,也可以手动的分别在node1和node2主机中创建一个.ssh文件,然后将master的公钥内容直接复制粘贴过来,从而完成配置。

3、测试免密登录

# 从master分别登录node1、node2,还有自己本身master
# 第一次连接登录都需要密码,检查第二次是否还需要密码,如不需要则免密登录配置成功
ssh node1
ssh node2
ssh master

第三步:Hadoop集群搭建

从这一步开始,进行集群的配置和搭建。修改三台主机的配置文件vim /etc/profile,配置hadoop的环境变量,因为hadoop使用java编写的,所以配置之前先安装好java的环境变量,然后在配置hadoop环境变量

1、上传安装包并解压

1.1这里我上传到package包下

cd /urs/local/soft/packages/

1.2解压

tar -zxvf hadoop-3.1.1.tar.gz -C /usr/local/soft/

2、配置环境变量

注意:三台虚拟机都需要修改

2.1打开配置文件

vim /etc/profile

2.2增加以下配置

HADOOP_HOME=/usr/local/soft/hadoop-3.1.1
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

2.3重新加载环境变量

source /etc/profile

3、修改Hadoop配置文件

3.1切换到配置文件所在目录

cd /usr/local/soft/hadoop-3.1.1/etc/hadoop/

3.2修改Hadoop的配置文件:先找到修改文件的位置

通过下图发现要修改6个配置文件

 3.3通过vim编辑并修改下列配置文件

hadoop-env.sh

# 在内容最后加入以下配置
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

 workers

node1
node2

后面的配置都放到文件的<configuration>  </configuration>里面

core-site.xml

 <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/soft/hadoop-3.1.1/data</value>
    </property>

    <property>
        <name>fs.trash.interval</name>
        <value>1440</value>
    </property>

hdfs-site.xml

<property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>

    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>

mapred-site.xml

<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=${HADOOP_HOME}</value>
    </property>

    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>

    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>

yarn-site.xml

  <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>

    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>

    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>

    <property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
    </property>

4、分发Hadoop到node1、node2

配置好master的hadoop的后,直接scp命令进行分发,分发到node1和node2. 命令:scp -r /usr/local/soft/hadoop-3.1.1/ node1:`pwd`,或者去这个soft目录下:scp -r hadoop-3.1.1/ node1:`pwd`

分发命令:

cd /usr/local/soft/
scp -r hadoop-3.1.1/ node1:`pwd`
scp -r hadoop-3.1.1/ node2:`pwd`

5、格式化namenode

只需在第一次启动的时候在Master节点上执行

hdfs namenode -format

6、启动Hadoop集群

start-all.sh
#单独启动:
start-yarn.sh
start-dfs.sh

7、检查master、node1、node2上的进程

master:

[root@master soft]# jps
2597 NameNode
2793 SecondaryNameNode
2953 ResourceManager
3215 Jps

node1:

[root@node1 jdk1.8.0_171]# jps
11361 DataNode
11459 NodeManager
11559 Jps

node2:

[root@node2 ~]# jps
11384 DataNode
11482 NodeManager
11582 Jps

8、访问HDFS的WEB界面

注意新版本的端口由50070变成了9870

打开浏览器输入地址:

http://master:9870

9、访问YARN的WEB界面

http://master:8088

完成以上步骤,到此Hadoop分布式集群搭建就完成了。

以下是Hadoop集群重置的一些命令:

Hadoop集群重置

1、停止集群

stop-all.sh

# 若进程停不掉 可直接使用进程号进行kill

2、删除所有节点上hadoop产生的数据文件

        注意:三台都要执行 ,删除data文件

cd /usr/local/soft/hadoop-3.1.1
rm -rf data/

3、重新格式化namenode

hdfs namenode -format

4、启动集群

start-all.sh

5、查看元数据

查看分布式存储文件大小

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2124701.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

atcoder abc370(dp,基环树/森林,倍增)

A 代码&#xff1a; #include <bits/stdc.h>using namespace std;int main() {int a, b;cin >> a >> b;if(a 1 && b 0) cout << "Yes" << endl;else if(a 0 && b 1) cout << "No" << en…

【Centos】Centos系统换yum源

【Centos】Linux&#xff0c;Centos系统换yum源 1、备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak/etc/yum.repos.d/CentOS-Base.repo 是yum的配置文件 /etc/yum.repos.d/CentOS-Base.repo.bak 是我们备份的配置文件 2、下载yum源 这里…

这个开源的AI证件照项目又火了!有人靠它日入300+

今天在知识星球里看到一个球友靠一个AI证件照的项目赚到了第一桶金&#xff0c;看了看项目&#xff0c;还不错。整理下来分享给大家玩玩。 神器名叫HivisionIDPhotos&#xff0c;最近几天一直挂在GitHub热榜上&#xff0c;目前已狂揽3.2K星标。 除了能换背景&#xff0c;它还支…

你绝对想不到,ComfyUI竟然能这样转换线条图!

前言 使用ComfyUI将图像转为线条图&#xff1a;详细教程 在这个数码时代&#xff0c;图像处理技术已经像空气一样渗透进了我们的日常生活。今天&#xff0c;我想和大家分享一个既简单又高效的小妙招——用ComfyUI把图片变成线条图。 不管你是设计师、艺术家&#xff0c;还是…

深入掌握大模型精髓:《实战AI大模型》带你全面理解大模型开发!

今天&#xff0c;人工智能技术的快速发展和广泛应用已经引起了大众的关注和兴趣&#xff0c;它不仅成为技术发展的核心驱动力&#xff0c;更是推动着社会生活的全方位变革。特别是作为AI重要分支的深度学习&#xff0c;通过不断刷新的表现力已引领并定义了一场科技革命。大型深…

opencv羊群计数,动态目标检测跟踪

OpenCV&#xff08;开源计算机视觉库&#xff09;是一个功能强大的计算机视觉和图像处理库&#xff0c;广泛应用于各种视觉任务中&#xff0c;包括但不限于目标检测与跟踪。如果你正在考虑一个基于OpenCV的羊群计数项目&#xff0c;那么下面是对这样一个项目的概述&#xff1a;…

【动态规划】子序列问题二(数组中不连续的一段)

子序列问题二 1.最长定差子序列2.最长的斐波那契子序列的长度3.最长等差数列4.等差数列划分 II - 子序列 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我们一起努力吧!&#x1f603;&am…

易基因:Adv Sci:ACE等揭示产前不良环境暴露通过DNA羟甲基化变化介导子代自闭症|国人佳作

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 自闭症谱系障碍&#xff08;Autism spectrum disorder&#xff0c;ASD&#xff09;是一种神经发育障碍&#xff0c;以社交沟通障碍和刻板行为为主要特征。许多研究证明&#xff0c;妊娠期…

2024上半年上汽收入2770多亿,为啥没长城900多亿赚得多?

【科技明说 &#xff5c; 车评头条】 看了上汽集团和长城汽车两家的最新H1财报后&#xff0c;你是不是发现了点什么&#xff1f; 上汽集团披露2024年半年报。公司上半年实现合并营业收入2770.86亿元&#xff0c;同比下降12.43%&#xff1b;净利润66.28亿元&#xff0c;同比下…

vb.net发送邮件:如何高效地实现邮件发送?

vb.net发送邮件怎么配置服务器&#xff1f;怎么用vb.net发邮件&#xff1f; 如何高效地实现vb.net发送邮件&#xff0c;确保邮件能够快速、稳定地送达&#xff0c;是许多开发者面临的挑战。AokSend将深入探讨vb.net发送邮件的最佳实践&#xff0c;帮助您提升邮件发送的效率和可…

投屏开发调试技能-pcm数据转wav格式文件源码实战分享

背景 在学习投屏相关音视频开发时候&#xff0c;经常验证一些声音卡顿问题时候&#xff0c;需要对音频数据可能需要保存到本地&#xff0c;一般可能是pcm格式的数据&#xff0c;但是pcm格式的数据是不可以用音乐播放器直接进行播放&#xff0c;需要专门的工具&#xff0c;而且…

14种实际上有效的AI营销方法(专业推荐)

当有人提到人工智能时&#xff0c;你会感到头晕目眩吗&#xff1f;这是可以理解的。LinkedIn和Twitter&#xff08;好吧……现在叫X&#xff09;充斥着刚刚涌现的AI专家和科技达人们&#xff0c;他们在分享最新的27步算法攻略和自动化整个市场营销程序的操作。 这对大多数基层…

一款rust语言AI神器cursor在ubuntu环境下的安装启动教程

虽然cursor目前只支持英文但是它强大的代码联想能力以及问答能力&#xff0c;可以高效的提高编码效率。 如下步骤所有的前提是你的ubuntu上面已经安装了rust以及其必须的extensions。 1 下载 到官网https://www.cursor.com下载指定版本的软件。 下载到本地以后会生成如下软件…

如何通过网络找到自己想要的LabVIEW知识?

学习LabVIEW或其他编程技术时&#xff0c;无法依赖某一篇文章解决所有问题。重要的是通过多种途径获取灵感&#xff0c;并学会归纳总结&#xff0c;从而逐渐形成系统性的理解。这种持续学习和总结的过程是技术提升的基础。通过网络找到所需的LabVIEW知识可以通过以下几个步骤进…

WEB渗透权限维持篇-MSSQL后门

往期文章WEB渗透权限维持篇-DLL注入\劫持-CSDN博客 WEB渗透权限维持篇-CLR-Injection-CSDN博客 WEB渗透权限维持篇-计划任务-CSDN博客 WEB渗透权限维持篇-DLL注入-修改内存中的PE头-CSDN博客 WEB渗透权限维持篇-DLL注入-进程挖空(MitreT1055.012)-CSDN博客 WEB渗透权限维…

轻松上手LangChain:新手必读的入门指南

导语 在人工智能领域的不断发展中&#xff0c;语言模型扮演着重要的角色。特别是大型语言模型&#xff08;LLM&#xff09;&#xff0c;如ChatGPT&#xff0c;已经成为科技领域的热门话题&#xff0c;并受到广泛认可。在这个背景下&#xff0c;LangChain作为一个以LLM模型为核…

打造高效业务架构:价值流在企业转型中的应用指南

从流程到价值流的业务架构转型 随着企业面对数字化转型带来的激烈市场竞争&#xff0c;优化业务架构成为每个企业管理者必须面对的核心挑战。传统的业务流程优化方法往往难以应对复杂的客户需求和日益增加的业务复杂性。《价值流指南》由The Open Group发布的企业数字化转型专…

K-Means算法详解与实战应用.

在数据分析的众多工具中&#xff0c;K-Means聚类算法以其简单、直观和高效的特点&#xff0c;成为了探索数据集结构的常用方法。本文将带你深入了解K-Means算法的原理&#xff0c;并展示如何在实际项目中运用这一强大的聚类工具。 一 算法原理 K-Means是一种迭代聚类算法&…

共享旅游卡,客户旅游云南,真实反馈,全程无删减!

​这是团队伙伴袁总的客户&#xff0c;也是袁总的朋友&#xff0c;使用千益畅行旅游卡&#xff0c;亲身带家人去旅游云南后体验反馈。 从抗拒旅游卡&#xff0c;报付费团旅游&#xff0c;到了解旅游卡&#xff0c;使用旅游卡去体验&#xff0c;中途的担忧顾虑&#xff0c;到结…

计算机网络(五) —— 自定义协议简单网络程序

目录 一&#xff0c;关于“协议” 1.1 结构化数据 1.2 序列化和反序列化 二&#xff0c;网络版计算器实现准备 2.1 套用旧头文件 2.2 封装sock API 三&#xff0c;自定义协议 3.1 关于自定义协议 3.2 实现序列化和反序列化 3.3 测试 三&#xff0c;服务器实现 3.1…