在k8s中部署hadoop后的使用,包括服务端及客户端(客户端的安装及与k8s服务的对接)

(作者:陈玓玏)



在https://blog.csdn.net/weixin_39750084/article/details/136744772?spm=1001.2014.3001.5502和https://blog.csdn.net/weixin_39750084/article/details/136750613?spm=1001.2014.3001.5502这两篇文章中,说明了如何通过helm和k8s部署hadoop,接下来就看怎么在部署好的集群中使用hadoop了。

一、在服务端使用hadoop

在k8s集群中使用hadoop和hdfs,不能直接使用hadoop和hdfs命令,需要借助kubectl。

比如查看集群状态,可以通过kubectl exec -it hadoop-hadoop-yarn-nm-0 -- hadoop dfsadmin -report
在这里插入图片描述

比如创建文件,可以通过kubectl exec -it hadoop-hadoop-yarn-nm-0 -- hadoop fs -mkdir /t
比如查看文件,可以通过kubectl exec -it hadoop-hadoop-yarn-nm-0 -- hadoop fs -ls /
在这里插入图片描述

命令中的hadoop-hadoop-yarn-nm-0是我部署的hadoop集群的master所对应的pod的名称,这个可以在k8sdashboard上查看。

其实在k8s集群上使用hadoop的shell命令,其实就是前面加一串固定的kubectl的命令就可以了。

二、在客户端使用hadoop

如果需要在客户端中使用hadoop和hdfs,需要先安装hadoop客户端。

先查看服务端的jdk和hadoop版本。

kubectl exec -it hadoop-hadoop-yarn-nm-0 -- hadoop version

在这里插入图片描述
再查看master所在的pod中的环境变量,找到其中java的环境变量,找到java的版本。

kubectl exec -it hadoop-hadoop-yarn-nm-0 -- bash -c 'echo $JAVA_HOME'

在这里插入图片描述
知道版本之后,我们可以开始安装客户端了。

1. 安装jdk:

sudo apt install openjdk-8-jre-headless

如果失败了,先apt-get update试试。

2. 安装hadoop:

下载hadoop,链接是https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz,下二进制版本,下载之后解压,tar -zxvf hadoop-3.3.6.tar.gz

下载速度想要更快可以用这个网址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/

解压后,配置环境变量。

打开~/.bashrc文件,把下面两行加到末尾。

export HADOOP_HOME=/mnt/admin/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin

执行以下命令让环境变量生效:

source ~/.bashrc

执行完之后尝试执行hadoop version命令,报错ERROR: JAVA_HOME is not set and could not be found
在这里插入图片描述
解决这个问题需要先看一下jdk是否安装好,java -version看一下。
在这里插入图片描述
java已经安装好了。
再输export看一下java的环境变量是否设置好了,我这边确实是没设置,那就在环境变量中再设置一下。

whereis java
ls -l /usr/bin/java
ls -l /etc/alternatives/java

通过以上三行命令找到java位置,注意两个ls后面的路径都是基于前一条命令的结果,要根据自己的结果来。在~/.bashrc后面把第三条命令的结果设置为JAVA_HOME,注意路径不要写到java那层,写到jre层就可以了。再尝试重新让环境变量生效。

在这里插入图片描述
再尝试hadoop version命令就可以了。
在这里插入图片描述

3. 配置hadoop

/mnt/admin/hadoop-3.3.6/etc/hadoop
vi hadoop-env.sh

确保hadoop-env文件里的JAVA_HOME那行被注释掉。

然后找到core-site.xml文件,添加以下配置:

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

这里的ip加端口是hadoop集群上namenode的ip及端口。在k8sdashboard上发现nm的service没有ip,所以复制了namenode的service,删除clusterIP为None的设置,生成一个新的service,把新的ip和端口写上。

再找到hdfs-site.xml文件,添加以下配置:

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

配置mapred-site.xml:

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>

配置yarn-site.xml:
这里需要resourcemanager的ip地址,k8s集群上的没有,所以也需要再复制一个rm,把clusterIP删了,再把type改为NodePort,把ip填到xml中。

<configuration><!-- Site specific YARN configuration properties --><property><name>yarn.resourcemanager.hostname</name><value>10.43.4.198</value></property>
</configuration>

4. 测试使用hadoop及hdfs

配置完之后,回到hadoop-3.3.6的上层目录,就可以在客户端直接通过hadoop命令及hdfs命令操作集群啦。

尝试先查询文件,再新建,再查询。
在这里插入图片描述
成功了,这样比在服务端直接使用更方便,不用通过kubectl来执行命令啦。

参考链接:
https://www.cnblogs.com/zhangyinhua/p/7678704.html#_label0
https://blog.51cto.com/u_16175434/7148403

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

配电设备数据采集

在数字化与智能化浪潮的推动下&#xff0c;配电设备数据采集正迎来前所未有的发展机遇。HiWoo Box网关以其独特的视角和出色的性能&#xff0c;为配电设备数据采集带来了全新的变革。 一、HiWoo Box网关的重要性 传统的配电设备数据采集方式往往存在效率低、准确性差、响应慢…

parallelsdesktop19密钥激活 PD19虚拟机完整图文安装教程

Parallels Desktop 19 &#xff08;简称 PD 19)是最新发布的 macOS 平台的 windows 虚拟机&#xff0c;本文是使用 Parallels Desktop 19 虚拟机安装 Windows 的详细图文破解安装教程。 一下载安装 Parallels Desktop 软件下载完成后打开&#xff0c;双击打开 安装.dmg Para…

org.postgresql.util.PSQLException: 错误: 关系 “dual“ 不存在

springboot 项目连接 postgreps&#xff0c;启动时报错 org.postgresql.util.PSQLException: 错误: 关系 "dual" 不存在。 查阅资料后发现这是由配置文件中的配置 datasource-dynamic-druid-validationQuery 导致的 spring:datasource:druid:stat-view-servlet:ena…

50. UE5 RPG FGameplayEffectContext

接下来&#xff0c;我想实现处理完伤害时&#xff0c;将伤害的触发格挡或者触发暴击时的逻辑传递到数据集的PostGameplayEffectExecute里面&#xff0c;这样&#xff0c;在处理IncomingDamage时&#xff0c;我们可以通过释放触发格挡或者触发暴击在UI上面进行对应的效果表现。 …

光伏电站设备数据采集

随着全球对可再生能源的关注度日益提升&#xff0c;光伏电站作为绿色能源的重要组成部分&#xff0c;其运营效率和稳定性显得尤为重要。在光伏电站的日常管理中&#xff0c;设备数据采集是一项至关重要的工作&#xff0c;它直接关系到电站的运行状态、故障预警以及能源产出的优…

连绕下线和掏把下线

这里的连绕下线和掏把下线讲的是线不剪断的接法&#xff01; 这里还是以一路串联为例子&#xff0c;一相4组线圈 &#xff0c;4组线圈就需要3根套管&#xff0c;3相就需要9根套管 如下图 绕这一相4组线圈的时候&#xff0c;就已经放好一定大小的3根套管&#xff01; 这个只试…

一文搞懂车载系统开发学习路线

前言 随着汽车技术的快速发展和智能化趋势的加强&#xff0c;车载信息娱乐系统已经成为现代汽车不可或缺的一部分。因此&#xff0c;车载软件市场正在迅速增长&#xff0c;这为Android应用开发提供了新的机会。恰好近年来大环境不是很理想&#xff0c;车载开发不失为Android应…

山东济南起名大师颜廷利:历经磨难蜕变的动物,与越挫越勇的动物有哪些?

山东济南最出名的起名大师颜廷利教授谈历经磨难蜕变的动物&#xff0c;与越挫越勇的动物有哪些&#xff1f; 在自然界的舞台上&#xff0c;无数动物演绎着生存的传奇。它们不畏艰难&#xff0c;逆流而上&#xff0c;将生命的蜕变和重生绘制成一幅幅震撼心灵的画卷。以下是那些历…

虚拟机安装山石网科防火墙

0、前言 由于工作原因&#xff0c;需要在虚拟机中测试防火墙。以前个人测试、学习过程中用过pfSense、OPNsense、ClearOS&#xff0c;但是开源的不太能满足我当前的一个需求。我想要测试SOAR自动编排与防火墙联动。所以尝试在虚拟环境中虚拟商业版防火墙。华为的eNSP模拟器可以…

玩法非常野,却能在抖音赚到钱,真的让人大跌眼镜!

很多人都说现在赚钱太难了。 每天996只能挣三瓜两枣&#xff0c;养活自己还行&#xff0c;如果是有了家庭&#xff0c;生活真的很拮据。 所以现在很多年轻人都喜欢利用下班时间&#xff0c;在网上做副业&#xff0c;或者找一些适合个人&#xff0c;夫妻做轻资产创业小项目。 …

Python代码:九、十六进制数字的大小

1、题目 计算的世界&#xff0c;除了二进制与十进制&#xff0c;使用最多的就是十六进制了&#xff0c;现在使用input读入一个十六进制的数字&#xff0c;输出它的十进制数字是多少&#xff1f; 2、代码 import sysnum16 input() num10 int(num16,16) print(num10) 3、结…

D60SB60-ASEMI电源设备首选整流桥D60SB60

编辑&#xff1a;ll D60SB60-ASEMI电源设备首选整流桥D60SB60 型号&#xff1a;D60SB60 品牌&#xff1a;ASEMI 封装&#xff1a;DSB-4 最大重复峰值反向电压&#xff1a;600V 最大正向平均整流电流(Vdss)&#xff1a;60A 功率(Pd)&#xff1a;大功率 芯片个数&#xf…