Hadoop学习之hadoop安装、JDK安装、集群启动(完全分布式)

本文详细介绍了如何在Linux环境下安装JDK和Hadoop,包括下载、上传、解压、配置环境变量、修改配置文件等步骤,并展示了集群启动和Web端访问的全过程,适合初学者参考。

作者简介:大家好我是Apathfinder,目前是一名在校大学生,软件工程专业,记录学习路上的点点滴滴。
个人主页:Apathfinder

本文专栏:Hadoop学习
 


前言 :本文主要是对hadoop完全分布式环境安装过程中的hadoop安装以及JDK安装作详细的介绍,以及集群启动。

目录

正文

一.整体部署情况

二.JDK安装

1.下载JDK

2.上传JDK

3.安装JDK

1.解压

2.添加环境变量

3.验证安装 

三.Hadoop安装

1.下载hadoop

2.上传hadoop

3.安装hadoop

1.解压

2.添加环境变量

3.修改配置文件   

4.验证安装 

四.集群启动

1.传送文件

2.格式化namenode节点

3.集群的启动 

4.web端访问

1.访问9870端口(即50070)

2.访问8088端口

写在最后



正文

一.整体部署情况

hadoop完全分布式整体布局
hadoop01hadoop02hadoop03
HDFS

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARNNodeManager

ResourceManager

NodeManager

NodeManager

 以下操作在hadoop01节点上做(主节点),而后同步hadoop02,hadoop03

二.JDK安装

1.下载JDK

大家可以到官网选择相应版本下载 

Java Downloads | Oracle

我的安装版本如下图所示:

 


2.上传JDK

在这里我用了mobaxterm来远程登录hadoop01,然后将Windows上下好的JDK压缩包以及hadoop压缩包上传 

 

 上传成功后则能登录hadoop01查看,如图

3.安装JDK

1.解压

在上传了之后,咱们就进行安装,使用解压命令解压到指定目录

tar -zxvf jdk-8u333-linux-x64.tar.gz -C /usr/local/

 

2.添加环境变量

使用命令

vi  /etc/profile/ 

 打开文件,然后进行编辑,加入以下内容

export JAVA_HOME=/usr/local/jdk1.8.0_333
export PATH=${JAVA_HOME}/bin:$PATH

 然后使用以下命令立即生效

source /etc/profile 

3.验证安装 

输入

java -version

验证是否安装成功,成功则如下图

三.Hadoop安装

1.下载hadoop

大家可以到官网选择相应版本下载

Apache Hadoop

我在这里下载的是hadoop3.3.3版本

2.上传hadoop

这里我在上传JDK的同时与hadoop一起上传了,具体操作可以看JDK部分 

3.安装hadoop

1.解压

 解压命令改个名称就行

tar -zxvf hadoop-3.3.3.tar.gz -C /usr/local/

2.添加环境变量

与JDK操作相同,这里我就不过多叙述了,添加以下内容:

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

如下图底部: 

 

3.修改配置文件   

先切换到hadoop目录

cd /usr/local/hadoop-3.3.3/etc/hadoop

 然后进行下列配置文件的修改,用编辑命令即可

1.hadoop-env.sh 

以下命令编辑

vi hadoop-env.sh

加入

export JAVA_HOME=/usr/local/jdk1.8.0_333

2.yarn-env.sh

同上

3.mapred-env.sh

同上

4.core-site.xml

#在  <configuration></configuration> 之间加入

<!-- 指定HDFS中NameNode的地址 -->
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop01:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop-3.3.3/tmp</value>
</property>

5.hdfs-site.xml

<property>
        <name>dfs.replication</name>
        <value>2</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop03:50090</value>
</property>

6.yarn-site.xml

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

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

7.mapred-site.xml

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

8.workers

vi workers

 加入以下内容

hadoop01 

hadoop02

hadoop03

4.验证安装 

 在终端输入hadoop后,出现如图所示则成功,即命令使用提示

 

四.集群启动

1.传送文件

将hadoop01上的JDK,hadoop所在目录传到hadoop02,hadoop03节点上,命令如下

scp -r  /usr/local/  root@hadoop02:/usr/
scp -r  /usr/local/  root@hadoop03:/usr/ 


#同步环境配置文件
rsync  -rvl  /etc/profile  root@hadoop02:/etc/profile 
rsync  -rvl  /etc/profile  root@hadoop03:/etc/profile 

 

然后与之前步骤一样验证hadoop02,03机上是否成功安装

2.格式化namenode节点

先切换到指定目录下 

cd /usr/local/hadoop-3.3.3

然后格式化

hadoop  namenode  -format     #格式化NameNode

3.集群的启动 

为了偷懒,我使用start-all.sh来启动集群 ,每次在web访问完后,stop-all.sh关闭集群,下次启动集群访问,就不再需要格式化namenode。

启动集群之后,可以使用jps来查看是否每个节点都成功启动相应的服务。如下图:

 

4.web端访问

为了访问方便,你可以在C:\Windows\System32\drivers\etc\hosts文件下做映射,加上IP与主机名,

        hadoop3.x.x版本端口50070改为了9870

1.访问9870端口(即50070)

在浏览器输入hadoop01:9870

 

 

2.访问8088端口

在浏览器输入hadoop02:8088

 


写在最后

        今天的文章就到这里,如果你觉得写的不错,可以动动小手给博主一个免费的关注和点赞👍;如果你觉得存在问题的话,欢迎在下方评论区指出和讨论。
        谢谢观看,你的支持就是我前进的动力!


06-22
### 得物技术栈及开发者文档分析 得物作为一家专注于潮流商品的电商平台,其技术栈和开发者文档主要围绕电商平台的核心需求展开。以下是对得物技术栈及相关开发资源的详细解析: #### 1. 技术栈概述 得物的技术栈通常会涵盖前端、后端、移动应用开发以及大数据处理等多个领域。以下是可能涉及的主要技术栈[^3]: - **前端开发**: 前端技术栈可能包括现代框架如 React 或 Vue.js,用于构建高效、响应式的用户界面。此外,还会使用 Webpack 等工具进行模块化打包和优化。 - **后端开发**: 后端技术栈可能采用 Java Spring Boot 或 Node.js,以支持高并发和分布式架构。数据库方面,MySQL 和 Redis 是常见的选择,分别用于关系型数据存储和缓存管理。 - **移动应用开发**: 得物的移动应用开发可能基于原生技术(如 Swift/Kotlin)或跨平台框架(如 Flutter)。这有助于确保移动端应用的性能和用户体验一致性。 - **大数据云计算**: 在大数据处理方面,得物可能会使用 Hadoop 或 Spark 进行数据挖掘和分析。同时,依托云服务提供商(如阿里云或腾讯云),实现弹性扩展和资源优化。 #### 2. 开发者文档分析 类似于引用中提到的 Adobe 开发者文档模板[^2],得物也可能提供一套完整的开发者文档体系,以支持内部团队协作和外部开发者接入。以下是开发者文档可能包含的内容: - **API 文档**: 提供 RESTful API 或 GraphQL 的详细说明,帮助开发者快速集成得物的功能模块,例如商品搜索、订单管理等。 - **SDK 集成指南**: 针对不同平台(如 iOS、Android 或 Web)提供 SDK 下载和集成教程,简化第三方应用的开发流程。 - **技术博客**: 分享得物在技术实践中的经验成果,例如如何优化图片加载速度、提升应用性能等。 - **开源项目**: 得物可能将部分技术成果开源,供社区开发者学习和贡献。这不仅有助于提升品牌形象,还能吸引更多优秀人才加入。 #### 3. 示例代码 以下是一个简单的示例代码,展示如何通过 RESTful API 调用得物的商品搜索功能(假设接口已存在): ```python import requests def search_items(keyword, page=1): url = "https://api.dewu.com/v1/items/search" headers = { "Authorization": "Bearer YOUR_ACCESS_TOKEN", "Content-Type": "application/json" } params = { "keyword": keyword, "page": page, "size": 10 } response = requests.get(url, headers=headers, params=params) if response.status_code == 200: return response.json() else: return {"error": "Failed to fetch data"} # 调用示例 result = search_items("Air Jordan", page=1) print(result) ``` 此代码片段展示了如何通过 Python 请求得物的 API,并获取指定关键词的商品列表。 --- ###
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Apathfinder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值