彷徨

2023-10-31

目录

1 . slaves

2 . core-site.xml

3 . hdfs-site.xml

4 . mapred-site.xml:(注意要将mapred-site.xml.template重命名为 .xml的文件)

5.Yarn-Site.xml

6 . hadoop-env.sh


1 . slaves

把所有从节点的主机名写到这儿就可以,这是告诉hadoop进程哪些机器是从节点。每行写一个,例如:

hadoop02
hadoop03
hadoop04

注:前提是你已经为每个节点进行了hostname的命名。而且每个节点的hosts文件你修改了本地dns的指向,让这些主机指向约定好的IP。然后每个节点的hosts文件保持同步。


2 . core-site.xml

<configuration>
        <!-- 这个属性用来指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口,也可以指定为一个namenode服务(这个服务内部可以有多台namenode实现ha的namenode服务) -->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop01:9000</value>
        </property>

        <!-- 指定hadoop临时目录,前面用file:表示是本地目录。有的教程上直接使用/usr/local,我估计不加file:应该也可以。hadoop在运行过程中肯定会有临时文件或缓冲之类的,必然需要一个临时目录来存放,这里就是指定这个的。当然这个目录前面我们已经创建好了。 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/hadoop-2.8.3/tmp</value>
        </property>
</configuration>

额外的,有的人在core-site.xml中加了如下属性:

<configuration>
	<!-- 这个属性用来执行文件IO缓冲区的大小-->
	<property>
		<name>io.file.buffer.size</name>
		<value>131072</value>
	</property>
	<property>
		<name>hadoop.proxyuser.myusrname.hosts</name>
		<value>*</value>
	</property>
	<property>
		<name>hadoop.proxyuser.myusrname.groups</name>
		<value>*</value>
	</property>
	<!-- 也有人使用zookeeper,因此,需要在hadoop核心配置文件core-site.xml中加入zookeeper的配置:指定zookeeper地址 。zookeeper可以感知datanode工作状态,并且提供一些高可用性的特性。-->
	<property>
		<name>ha.zookeeper.quorum</name>
		<value>hadoop01:2181,hadoop02:2181,hadoop03:2181,hadoop04:2181</value>
	</property>
</configuration>

暂时不了解zookeeper,后续再说。先不加入这个配置了暂时。


3 . hdfs-site.xml

<configuration>
        <!-- namenode数据的存放地点。也就是namenode元数据存放的地方,记录了hdfs系统中文件的元数据-->
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/usr/local/hadoop-2.8.3/data/name</value>
        </property>

        <!-- datanode数据的存放地点。也就是block块存放的目录了-->
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/usr/local/hadoop-2.8.3/data/data</value>
        </property>
    
        <!-- hdfs的副本数设置。也就是上传一个文件,其分割为block块后,每个block的冗余副本个数-->
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
        
        <!-- secondary namenode的http通讯地址-->
        <property>
                <name>dfs.secondary.http.address</name>
                <value>hadoop01:50090</value>
        </property>
</configuration>
<configuration>
	<property>
		<!-- 开启hdfs的web访问接口。默认端口是50070 , 一般不配 , 使用默认值-->
		<name>dfs.webhdfs.enabled</name>
		<value>true</value>
	</property>
</configuration>

4 . mapred-site.xml:(注意要将mapred-site.xml.template重命名为 .xml的文件)

<configuration>
    <!---- 指定mr框架为yarn方式,Hadoop二代MP也基于资源管理系统Yarn来运行 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
<configuration>
	<property>	
	<!---- 指定mr框架jobhistory的内部通讯地址。目前还不知道是做什么的 -->	
		<name>mapreduce.jobhistory.address</name>
		<value>singlehost:10020</value>	
	</property>	
	<property>	
	<!---- 指定mr框架web查看的地址 -->	
		<name>mapreduce.jobhistory.webapp.address</name>
		<value>singleshost:19888</value>	
	</property>
</configuration>

通过,mapred-site.xml,我们又出现了2个访问地址:

MapReduce内部的一个通讯地址:hadoop01:10020

MapReduce外部web访问的地址:hadoop02:19888


5.Yarn-Site.xml

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop01</value>
    </property>

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

这个文件就是配置资源管理系统yarn了,其中主要指定了一些节点资源管理器nodemanager,以及总资源管理器resourcemanager的配置。 可以看到这个配置中,跟mapreduce框架是相关的。

可见yarn首先是为了支持mapreduce这个模型,之后很多其他的框架都是基于mapreduce以及yarn的功能基础上开发出来的。

<property>                                                                
	<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
	<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
	<!--yarn总管理器的IPC通讯地址-->
	<name>yarn.resourcemanager.address</name>
	<value>hadoop01:8032</value>
</property>
<property>
	<!--yarn总管理器调度程序的IPC通讯地址-->
	<name>yarn.resourcemanager.scheduler.address</name>
	<value>hadoop01:8030</value>
</property>
<property>
	<!--yarn总管理器的IPC通讯地址-->
	<name>yarn.resourcemanager.resource-tracker.address</name>
	<value>hadoop01:8031</value>
</property>
<property>
	<!--yarn总管理器的IPC管理地址-->
	<name>yarn.resourcemanager.admin.address</name>
	<value>hadoop01:8033</value>
</property>
<property>
	<!--yarn总管理器的web http通讯地址-->
	<name>yarn.resourcemanager.webapp.address</name>
	<value>singlehost:8088</value>
</property>

可以看到,yarn-site.xml 配置了很多通讯地址,除了8088都是IPC协议的通讯地址,是为了yarn的多个进程之间进行通讯的。
小知识拓展:如果2个进程在同一台机子且在同一个操作平台,可以选择IPC或TCPIP两种通讯协议,但IPC效率高于TCPIP。因为IPC通讯,2个进程直接发送通讯包,而采用TCPIP,进程要把通讯包先发给LO本地环路接口,再通过LO发给进程2.
如果2个进程在不同物理机器或不同操作平台上,则不能用IPC,只能用TCPIP了。

6 . hadoop-env.sh

# The java implementation to use.
export JAVA_HOME=/usr/local/jdk1.8.0_102

注:每个配置文件的第一个代码块为本人自己电脑所配置 , 第二个代码块为参考其他博客

 

关于Hadoop的三大核心技术 :

分布式文件管理系统HDFS,分布式计算框架MapReduce,以及分布式资源管理调度平台YARN的文章请参考:
HDFS个人浅谈 : https://blog.csdn.net/weixin_35353187/article/details/82047892
MapReduce个人浅谈 : https://blog.csdn.net/weixin_35353187/article/details/82108388
YARN个人浅谈 : https://blog.csdn.net/weixin_35353187/article/details/82112174
Hadoop的各配置文件的配置以及参数的意义请参考文章 : 
Hadoop的各个配置文件的配置 : https://blog.csdn.net/weixin_35353187/article/details/81780439

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

彷徨 的相关文章

  • Hadoop 构建在 Windows 中失败:native.sln 中缺少 zconf.h?

    我正在尝试在使用 Windows 10 家庭版的开发计算机上构建以下 hadoop 版本 hadoop 2 7 3 src 以下是我本地开发环境的详细信息 Windows 10家庭版 英特尔酷睿 i5 6200U CPU 2 30GHz 内
  • 在 Hive 中获取空值 使用 REGEX 创建和加载查询

    我有一个日志文件 我需要在其中使用 REGEX 存储数据 我尝试了下面的查询 但加载了所有 NULL 值 我已经检查了 REGEXhttp www regexr com http www regexr com 它对我的 数据工作正常 CRE
  • 使用 Hadoop MapReduce 的计算语言学项目构想

    我需要做一个关于计算语言学课程的项目 是否有任何有趣的 语言 问题 其数据密集程度足以使用 Hadoop MapReduce 来解决 解决方案或算法应尝试分析并提供 语言 领域的一些见解 但是它应该适用于大型数据集 以便我可以使用 hado
  • 线程“main”中出现异常java.lang.UnsupportedClassVersionError,不支持的major.minor版本52.0

    我尝试在 hadoop 1 0 4 上运行 WordCount 示例 但收到以下错误 Exception in thread main java lang UnsupportedClassVersionError WordCount Uns
  • Hive 上的自定义 MapReduce 程序,规则是什么?输入和输出怎么样?

    我被困了几天 因为我想根据我在 hive 上的查询创建一个自定义的地图缩减程序 在谷歌搜索后我发现没有太多例子 而且我仍然对规则感到困惑 创建自定义 MapReduce 程序的规则是什么 映射器和减速器类怎么样 任何人都可以提供任何解决方案
  • 如何使用新的 Hadoop API 来使用 MultipleTextOutputFormat?

    我想编写多个输出文件 如何使用 Job 而不是 JobConf 来执行此操作 创建基于密钥的输出文件名的简单方法 input data type key value cupertino apple sunnyvale banana cupe
  • 无法从 JAR 文件加载主类

    我有一个 Spark scala 应用程序 我尝试显示一条简单的消息 Hello my App 当我编译它时sbt compile并运行它sbt run没关系 我成功显示了我的消息 但他显示了错误 像这样 Hello my applicat
  • 在 Hive 中分解一行 XML 数据

    我们将 XML 数据作为名为 XML 的单个字符串列加载到 Hadoop 中 我们正在尝试检索数据级别 并将其标准化或分解为单行进行处理 你知道 就像表格一样 已经尝试过分解功能 但没有得到我们想要的 示例 XML
  • 使用 Hadoop 映射两个数据集

    假设我有两个键值数据集 数据集A和B 我们称它们为数据集A和B 我想用 B 组的数据更新 A 组中的所有数据 其中两者在键上匹配 因为我要处理如此大量的数据 所以我使用 Hadoop 进行 MapReduce 我担心的是 为了在 A 和 B
  • http://localhost:50070/ 的 hadoop Web UI 不起作用

    命令 jps 显示以下详细信息 第5144章 5464 节点管理器 5307 资源管理器 5800 Jps 显然namenode和datanode丢失了 网络用户界面位于http 本地主机 50070 http localhost 5007
  • 遍历 ArrayWritable - NoSuchMethodException

    我刚刚开始使用 MapReduce 并且遇到了一个奇怪的错误 我无法通过 Google 回答该错误 我正在使用 ArrayWritable 制作一个基本程序 但是当我运行它时 在Reduce过程中出现以下错误 java lang Runti
  • 在 Amazon EMR 上使用 java 中的 hbase 时遇到问题

    因此 我尝试使用作为 MapReduce 步骤启动的自定义 jar 来查询 Amazon ec2 上的 hbase 集群 我的 jar 在地图函数内 我这样调用 Hbase public void map Text key BytesWri
  • Hive - 线程安全的自动递增序列号生成

    我遇到一种情况 需要将记录插入到特定的 Hive 表中 其中一列需要是自动递增的序列号 即在任何时间点都必须严格遵循 max value 1 规则 记录从许多并行的 Hive 作业插入到这个特定的表中 这些作业每天 每周 每月批量运行 现在
  • Hive“添加分区”并发

    我们有一个外部 Hive 表 用于处理原始日志文件数据 这些文件每小时一次 并按日期和源主机名分区 目前 我们正在使用简单的 python 脚本导入文件 这些脚本每小时触发几次 该脚本根据需要在 HDFS 上创建子文件夹 从临时本地存储复制
  • 伪分布式模式下的 Hadoop。连接被拒绝

    P S 请不要将此标记为重复 Hi 我一直在尝试以伪分布式模式设置和运行 Hadoop 当我运行 start all sh 脚本时 我得到以下输出 starting namenode logging to home raveesh Hado
  • MiniDFSCluster UnsatisfiedLinkError org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

    做时 new MiniDFSCluster Builder config build 我得到这个异常 java lang UnsatisfiedLinkError org apache hadoop io nativeio NativeIO
  • 纱线上的火花,连接到资源管理器 /0.0.0.0:8032

    我正在我的开发机器 Mac 上编写 Spark 程序 hadoop的版本是2 6 spark的版本是1 6 2 hadoop集群有3个节点 当然都在linux机器上 我在idea IDE中以spark独立模式运行spark程序 它运行成功
  • 将 CSV 转换为序列文件

    我有一个 CSV 文件 我想将其转换为 SequenceFile 我最终将使用它来创建 NamedVectors 以在聚类作业中使用 我一直在使用 seqdirectory 命令尝试创建 SequenceFile 然后使用 nv 选项将该输
  • 非 hdfs 文件系统上的 hadoop/yarn 和任务并行化

    我已经实例化了 Hadoop 2 4 1 集群 并且发现运行 MapReduce 应用程序的并行化方式会有所不同 具体取决于输入数据所在的文件系统类型 使用 HDFS MapReduce 作业将生成足够的容器 以最大限度地利用所有可用内存
  • 如何将SQL数据加载到Hortonworks中?

    我已在我的电脑中安装了 Hortonworks SandBox 还尝试使用 CSV 文件 并以表结构的方式获取它 这是可以的 Hive Hadoop nw 我想将当前的 SQL 数据库迁移到沙箱 MS SQL 2008 r2 中 我将如何做

随机推荐

  • AR-虚实融合文献阅读整理(二)

    一 增强现实中虚实融合和人机交互技术的研究与应用 黄震宇 基于标志物的识别 利用opencv和三维图形引擎OGRE实现虚实融合展示系统 人机交互方案采用PrimeSense的深度摄像头 通过计算机视觉处理 重建了人体三维谷歌系统定义体感语义
  • C++:CMake常用变量【CMAKE_CXX_FLAGS、CMAKE_BUILD_TYPE、×_BINARY_DIR】

    CMake共用七种变量 如下所示 提供信息的变量 控制变量 描述系统的变量 控制构建过程的变量 语言变量 CTest变量 CPack变量 一 CMake变量引用的方式 使 进 变量的引 在 IF 等语句中 是直接使 变量名 不通过 取值 二
  • Linux系统中/etc/rc.local和/etc/rc.d/rc.local的区别

    etc rc d rc local 用于添加开机启动命令 etc rc local是 etc rc d rc local的软连接 转载于 https www cnblogs com Samuel Leung p 10477162 html
  • 【Spring

    上文讲了 Spring 资源处理 本文讲一下resource的扩展接口相关 资源处理扩展 ResourceLoader 接口 定义 图解 示例 策略 ResourcePatternResolver接口 ResourceLoaderAware
  • 实例修改类属性python_Python类属性和实例属性的优先级

    可以看到 属性可以分为类属性和实例属性 那么问题就来了 如果类属性和实例属性名字相同时 会怎么样 这就涉及Python中类属性和实例属性的优先级的问题了 我们可以做一个实验 在前面类定义的基础上 在实例属性中 也初始化一个localtion
  • DS18B20温度传感器原理及使用教程

    1 芯片简介 DS18B20数字温度传感器提供9 Bit到12 Bit的摄氏温度测量精度和一个用户可编程的非易失性且具有过温和低温触发报警的报警功能 DS18B20采用的1 Wire通信即仅采用一个数据线 以及地 与微控制器进行通信 该传感
  • Linux下安装/使用mariadb

    文章目录 第一章 mariadb在rhel7上的使用 第二章 mariadb在rhel6上的安装 1 编译源码包 比较慢 2 二进制包安装 比较推荐 第一章 mariadb在rhel7上的使用 rhel7及以上系统默认安装了mariadb
  • C#基础入门之数据类型

    一 值类型和引用类型 在C 中数据类型总共可以分为两类 分别是值类型和引用类型 值类型 表示复制一个当前变量传给方法 当你在这个方法中改变这个变量的值时 最初生命的变量的值不会变 引用类型 表示你操作的数据是同一个 也就是说当你传一个参数给
  • 物联网面试必过要点

    要是能熟记以下知识点 再加上自身的项目经验 过个面试 问题不大 指针定义 一个指向指针的的指针 它指向的指针是指向一个整型数 int a 一个有10个指针的数组 该指针是指向一个整型数的 int a 10 一个指向有10个整型数数组的指针
  • bind的原理和bind的实现

    一 bind的特性 传递的第一个参数做为调用它的函数的this指向 bind可传递若干参数 若第一个参数传递基础数据类型 则调用他的函数的this指向该基础数据类型的包装类实例化对象 若第一个参数为null或undefined 则调用他的函
  • 数据库操作 - 关系模型

    关系数据库是建立在关系模型上的 而关系模型本质上就是若干个存储数据的二维表 可以把它们看作很多Excel表 gt 表的每一行称为记录 Record 记录是一个逻辑意义上的数据 gt 表的每一列称为字段 Column 同一个表的每一行记录都拥
  • 并查集、树状数组

    并查集 树状数组 线段树 并查集 树状数组 树状数组1 单点修改 区间查询 树状数组2 单点查询 区间修改 并查集 模板 并查集 题目描述 如题 现在有一个并查集 你需要完成合并和查询操作 输入格式 第一行包含两个整数 N M N M N
  • 清华镜像用法

    用pip安装模块时 总是会报错 大片红字 请求超时 影响心情 如果使用镜像安装 就会很顺 敲一下回车键 一两秒就搞定 节约时间 平常简单用法是 pip install beautifulsoup4 加入镜像参数后 pip install b
  • 任意进制转换(c++)

    include
  • OpenHarmony源码解析(12): hisysevent

    1 概述 HiSysEvent是面向OpenHarmony系统开发者提供的系统打点功能 通过在关键路径埋点来记录系统在运行过程中的重要信息 辅助开发者定位问题 此外还支持开发者将打点数据上传到云进行大数据质量度量 HiSysEvent包括H
  • 并查集的妙用——Leetcode 1202

    并查集的妙用 Leetcode 1202 给你一个字符串 s 以及该字符串中的一些 索引对 数组 pairs 其中 pairs i a b 表示字符串中的两个索引 编号从 0 开始 你可以 任意多次交换 在 pairs 中任意一对索引处的字
  • Springboot-data-redis结合SpringCache的使用

    spring boot data redis 与 Caache的结合使用 一 springboot data redis操作redis 二 结合Spring Cache 的使用 一 springboot data redis操作redis
  • kali与Windows安装双系统,grub引导器安装失败,或安装grub后无法引导kali系统问题解决

    1 先看问题 安装失败图片 这个时候不要慌 既然它的自动安装无法搞定 那我们就手动安装grub引导器 注意 本人电脑环境是 windows10 分区表类型是GPT类型 尝试安装kali双系统出现grub引导器错误 不同环境下解决方法可能会有
  • React-防抖

    React实际操作 两个事件 onMouseOver 和 onMouseOut HTML div gt this onMouseOver record onMouseOut this onMouseOut gt constructor co
  • 彷徨

    目录 1 slaves 2 core site xml 3 hdfs site xml 4 mapred site xml 注意要将mapred site xml template重命名为 xml的文件 5 Yarn Site xml 6