Hadoop伪分布式平台搭建

news2024/11/24 15:50:21

搭建Hadoop伪分布式环境是在单台机器上模拟完整的Hadoop分布式系统,使得所有的Hadoop守护进程(如NameNode、DataNode、ResourceManager、NodeManager等)都在同一台机器上运行。这样可以在一台机器上体验Hadoop的分布式特性,适合学习、测试和开发。以下是搭建Hadoop伪分布式环境的详细步骤:

1.系统准备

硬件要求:

  • 一台机器:可以是物理机或虚拟机,具有足够的内存(至少4GB,推荐8GB或更高)和磁盘空间。

软件要求:

  • 操作系统:安装Linux发行版,如Ubuntu、CentOS或RHEL。
  • Java环境:安装Java Development Kit (JDK) 8或以上版本,并设置JAVA_HOME环境变量。

2.安装Hadoop 

下载Hadoop

  • 从Apache官方网站或其他可信源下载对应版本的Hadoop二进制包。
  • 将下载的Hadoop压缩包上传至目标机器,并解压缩至指定目录(如 /opt 或 /usr/local/src)。

配置环境变量

  • 在用户主目录(如~/.bashrc~/.bash_profile 或 /etc/profile)中添加如下环境变量:
vim /etc/profile
#在结尾添加下面内容

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

3.设置JDK环境变量

vim /etc/profile
#在结尾添加下面内容
export JAVA_HOME=/usr/local/src/jdk
export PATH=$PATH:$JAVA_HOME/bin

4.配置Hadoop

编辑核心配置文件

  • core-site.xml:设置Hadoop全局属性,如HDFS的默认FS URI(fs.defaultFS)应指向本地的伪分布式模式,例如 hdfs://localhost:9000;临时文件目录(hadoop.tmp.dir)设置为一个可用的本地路径,如 /usr/local/src/hadoop/tmp

  • hdfs-site.xml:配置HDFS特定属性,如副本数(dfs.replication)在伪分布式模式下通常设为1,表示数据只有一个本地副本;开启短路读写(dfs.client.use.datanode.hostnamedfs.datanode.hostname)以优化本地访问性能。

  • yarn-site.xml:设置YARN相关参数,如ResourceManager地址(yarn.resourcemanager.hostname)设为 localhost;调度器策略等。

  • mapred-site.xml(或mapred-site.xml.template改名后):配置MapReduce框架属性,如作业提交方式(mapreduce.framework.name设为yarn)。

配置主机名与IP映射

vim /etc/hosts
#在结尾添加下面内容
192.168.10.10 master

 编辑core-site.xml

 

cd /usr/local/src/hadoop/etc/hadoop/
vim core-site.xml

#添加下面内容
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value> #填写自己的主机名
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/src/hadoop/bin/tmp</value>
  </property>
</configuration>

 编辑hdfs-site.xml

cd /usr/local/src/hadoop/etc/hadoop/
vim hdfs-site.xml
#添加如下内容
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/usr/local/src/hadoop/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/usr/local/src/hadoop/dfs/data</value>
  </property>
</configuration>

 编辑yarn-site.xml

cd /usr/local/src/hadoop/etc/hadoop/
vim yarn-site.xml
#添加下面内容
<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
</configuration>

 编辑mapred-site.xml

cd /usr/local/src/hadoop/etc/hadoop/
vim mapred-site.xml
#添加下面内容
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

 编辑masters

cd /usr/local/src/hadoop/etc/hadoop/
vim masters
192.168.10.10  #主机ip

 创建目录

mkdir /usr/local/src/hadoop/tmp
mkdir /usr/local/src/hadoop/dfs/name -p
mkdir /usr/local/src/hadoop/dfs/data -p

5.配置SSH无密码登录

虽然在伪分布式环境中SSH无密码登录不是必须的,但如果希望使用某些依赖SSH的功能(如DistCp、Hadoop fs -get/-put等),可以配置SSH公钥认证以实现本地无密码登录: 

[root@master ~]# vim /etc/ssh/sshd_config
PubkeyAuthentication yes #找到此行,并把#号注释删除。

 生成密钥

[root@master ~]# ssh-keygen -t rsa 

查看密钥是否生成

[root@master ~]# ls ~/.ssh
id_rsa id_rsa.pub

将 id_rsa.pub 追加到授权 key 文件中

 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 查看是否成功

[root@master ~]#  ls ~/.ssh/
authorized_keys id_rsa id_rsa.pub

设置权限

chmod 600 ~/.ssh/authorized_keys

 配置 Hadoop 格式化

cd /usr/local/src/hadoop/
bin/hdfs namenode -format

 启动Hadoop集群

start-dfs.sh
start-yarn.sh
start-all.sh

查看是否启动成功 

jps
6128 SecondaryNameNode
9316 NodeManager
6038 NameNode
9036 ResourceManager
9868 Jps
8733 DataNode

 访问

打开浏览器输入http://localhost:50070

打开浏览器输入http://localhost:50090

打开浏览器输入http://localhost:8088

到此你的Hadoop伪分布式就搭建完成了

6.装spark组件

去Spark官网自行下载安装包,进行解压,这里不做演示

搭建单击伪分布式集群

配置spark

cd /sur/local/src/spark/conf
cp spark-env.sh.template spark-env.sh

#编辑配置文件
export JAVA_HOME=/usr/local/src/jdk
export SPARK_MASTER_IP=master
export HADOOP_CONF_DIR=/usr/local/src/hadoop/etc/hadoop
export SPARK_LOCAL_IP=master

启动spark集群

cd /usr/local/src/spark/sbin/
./start-all.sh

 启动spark-shell

cd /usr/local/src/spark/
./bin/spark-shell

 

 访问

打开浏览器输入http://localhost:8080

7.安装scala

自行下载安装包,并加压到相关路径,这里不做演示

配置scala环境变量

vim /etc/profile/
#在结尾添加下面内容
export SCALA_HOME=/usr/local/src/scala
export PATH=$PATH:$SCALA_HOME/bin

运行scala

scala
Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_152).
Type in expressions for evaluation. Or try :help.

scala> 

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

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

相关文章

openWebUI+ollamawindows+不用docker+webLite本地安装

openWebUI & ollama & windows & 不用docker & webLite 本地安装 总结一下安装教程 10核CPU16G内存 两个web框架都可以&#xff0c;先说简单的 ollama-webui-lite(https://github.com/ollama-webui/ollama-webui-lite) 轻量级&#xff0c;只使用nodejs 先装…

RTK负载(4K可见光+高分热成像+超广角+激光测距)四光AI智能识别跟踪吊舱技术详解

无人机光电吊舱的RTK负载&#xff08;4K可见光高分热成像超广角激光测距&#xff09;AI智能识别跟踪吊舱技术是一种高度集成和先进的无人机观测系统。系统结合了无人机的飞行能力和光电吊舱的多功能传感器&#xff0c;通过集成RTK&#xff08;实时动态差分定位&#xff09;技术…

php 编译安装oracel扩展

第一步安装Oracle客户端 1&#xff0c;需要下载基础包和sdk oracle客户端下载链接&#xff1a;Oracle Instant Client Downloads for Linux x86-64 (64-bit) https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html 选择最新版本 versi…

【智能算法】向日葵优化算法(SFO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2019年&#xff0c;GF Gomes等人受到自然界向日葵运动行为启发&#xff0c;提出了向日葵优化算法&#xff08;Sunflower Optimization, SFO&#xff09;。 2.算法原理 2.1算法思想 SFO模拟向日葵行…

数据库原理与应用实验二 SQL SERVER查询分析器的使用

实验目的和要求 熟悉SQL SERVER环境&#xff0c;熟悉查询分析器的使用&#xff0c;能够熟练运用sql命令完成数据库&#xff0c;基本表、主码、外码和其它必要的约束条件的定义。 实验环境 Windows10 SQLServer 实验内容与过程 1 利用sql建立图书管理数据库&#xff0c;并定…

勒索软件安全防护手册

文章目录 相关背景勒索软件概述勒索软件主要类型文件加密类勒索软件数据窃取类勒索软件系统加密类勒索软件。屏幕锁定类勒索软件 勒索软件典型传播方式利用安全漏洞传播利用钓鱼邮件传播利用网站挂马传播利用移动介质传播利用软件供应链传播利用远程桌面入侵传播 典型勒索软件攻…

string的OJ题

1.字符串相加 给定两个字符串形式的非负整数 num1 和num2 &#xff0c;计算它们的和并同样以字符串形式返回。 你不能使用任何內建的用于处理大整数的库&#xff08;比如 BigInteger&#xff09;&#xff0c; 也不能直接将输入的字符串转换为整数形式。 思路&#xff1a;从字…

区块链技术与应用学习笔记(10-11节)——北大肖臻课程

目录 10.分岔 ①什么是分叉&#xff1f; ②导致分叉的原因&#xff1f; ③在比特币新共识规则发布会会导致什么分叉&#xff1f; 什么是硬分叉&#xff1f; 硬分叉例子&#xff1f; 什么是软分叉&#xff1f; 软分叉和硬分叉区别&#xff1f; 软分叉实例 11.问答 转…

【java数据结构-优先级队列向下调整Topk问题,堆的常用的接口详解】

&#x1f308;个人主页&#xff1a;努力学编程’ ⛅个人推荐&#xff1a;基于java提供的ArrayList实现的扑克牌游戏 |C贪吃蛇详解 ⚡学好数据结构&#xff0c;刷题刻不容缓&#xff1a;点击一起刷题 &#x1f319;心灵鸡汤&#xff1a;总有人要赢&#xff0c;为什么不能是我呢 …

SpringBoot+MyBatis-Plus+jsqlparser实现多租户功能

前言 多租户技术&#xff08;multi-tenancy technology&#xff09;是一种软件架构技术&#xff0c;它允许在单个系统实例上为多个用户或组织提供服务&#xff0c;同时确保这些用户之间数据的隔离性。在多租户架构中&#xff0c;每个租户&#xff08;可以是个人用户、企业、组…

第三节:多路选择器

1.二选一数据选择器&#xff0c;要求如下&#xff1a; 【注】 always语句块里赋值的变量需要是reg型 module fn_sw(a,b,sel,y); input a,b,sel; output y; assign y (sel0)?(a&b):(a^b); endmodule timescale 1ns/10ps module fn_sw_tb; reg a,b,sel; wire y;fn_sw fn_…

python 编程小技巧:# type: 类型注释语法

# type: 是 Python 3.5 引入的一种类型注释语法&#xff0c;用于在代码中指定变量、函数、方法等对象的类型信息&#xff0c;以便 IDE 和类型检查工具等工具能够更好地理解和分析代码。具体来说&#xff0c;# type: 后面可以跟一个类型注释&#xff0c;用于指定对象的类型&…

github+PicGo+obsidian来作为你的免费高效可靠图床吧

前提 一直以来 博客的图床问题都是个大问题 ,如何找到一个 可靠并且 方便的搭建方式 非常重要 今天介绍一种 githubpicGoobsidian的搭建方式 准备github库 生成个人github token 找到个人 设置 生成一个新token 或者已经有的直接用 新生成的token 需要记录下来 这可能是你最后…

Linux---自定义协议

应用层协议 一、协议定制---以网络计算器为例 网络计算机功能---进行-*/^&|的运算并返回结果 请求和响应的结构体如下 // Protocol.hpp #pragma once #include <iostream> #include <memory> class Request { public:Request(){}Request(int data_x, int da…

详解23种设计模式——单例模式

单例模式 | CoderMast编程桅杆单例模式 单例模式是最常用的设计模式之一&#xff0c;他可以保证在整个应用中&#xff0c;某个类只存在一个实例化对象&#xff0c;即全局使用到该类的只有一个对象&#xff0c;这种模式在需要限制某些类的实例数量时非常有用&#xff0c;通常全局…

不使用加减运算符实现整数加和减

文章目录 进位 进位 加粗 最近想出了不适用运算符实现加与减 首先按位与找出的是需不需要进位 按位与是两边同时为1,则为1,那么如果两边同时为1的话,是不是就该进位?所以我们用按位与来判断是否需要进位 然后再按位异或找出不同的位数 按位异或是两边不相等,也就是1 和 0的时…

LAPGAN浅析

LAPGAN 引言 在原始 GAN和CGAN中&#xff0c;还只能生成 16*16, 28*28, 32*32 这种低像素小尺寸的图片。而LAPGAN首次实现 64*64 的图像生成。与其一下子生成这么大的图像 &#xff08;包含信息量这么多&#xff09;&#xff0c;不如一步步由小到大&#xff0c;这样每一步生成…

【产品经理修炼之道】- B端产品经理之业务系统设计

很多时候&#xff0c;业务系统建设好坏决定了企业的核心竞争力。作为产品经理&#xff0c;如何建设好业务系统这种OLTP类产品&#xff1f;本文从梳理业务流程、参与业务调研和设计业务系统三个步骤&#xff0c;教大家如何做好业务系统建设。 很多人都说设计B端产品最重要的是搞…

线性代数:抽象向量空间

一、说明 有些函数系列极具线性代数的向量特征。这里谈及多项式构成函数的线性代数意义。问题是这个主题能展开多少内涵&#xff1f;请看本文的论述。 二、线性空间和向量 让我先问你一个简单的问题。什么是向量&#xff1f;为了方便起见&#xff0c;二维箭头从根本上说是平…

【UE 材质】水波纹效果

效果 模拟雨水打落在水面上的效果 步骤 1. 下载所需纹理和纹理 纹理2. 新建一个材质&#xff0c;这里命名为“M_WaterRipples” 打开“M_WaterRipples”&#xff0c;添加一个纹理采样节点&#xff0c;纹理使用第一步下载的纹理 将纹理采样节点的R通道连接到基础颜色&#x…