2 Hadoop的安装与配置


需要JDKSSH

对于伪分布式,Hadoop会采取与集群相同的处理方式:按次序启动文件conf/slaves中记载的主机上的进程,只不过在伪分布式中Slavelocalhost(自身)。

 

Hadoop从三个角度将主机划分为两种角色:

最基本MasterSlave

HDFS角度:NameNodeDataNode

MapReduce角度:JobTrackerTaskTracker

 

三种运行方式:

单机模式:无需配置,Hadoop被认为是一个单独的Java进程,用于调试

伪分布式:fs.default.name=hdfs://localhost:9000

              dfs.replication=1

分布式:

 

格式化HDFS系统:hadoop namenode -format

HDFS web端口:50070

 

网络拓扑

通常来说,一个Hadoop集群体系结构由两层网络拓扑组成

Switch

Switch1

Node1

Node2

Node3

Switch2

Node4

Node5

Node5

 

实际应用中,每个机架会有30-40台机器,这些机器共享一个1GB带宽的网络交换机;

在所有机架之上还有一个核心交换机或路由器,通常来说其网络交换能力为1GB或更高。

同一机架中机器节点之间的带宽资源肯定比不同机架中机器节点丰富,这也是Hadoop随后设计数据读写分发策略要考虑的一个重要因素。


在实际应用中,为了使Hadoop集群获得更高的性能,需要配置集群,使Hadoop能够感知其所在的网络拓扑结构——使Hadoop清晰的知道每台机器所在的机架。

在处理MapReduce任务时,优先选择在机架内部做数据传输,以充分利用网络带宽资源。

HDFS可以更加智能地部署数据副本,并在性能和可靠性间找到最优的平衡。


网络的拓扑结构、机器节点及机架的网络位置定位都是通过树结构来描述的。

通过树结构来确定节点间的距离,这个距离是Hadoop做决策判断时的参考因素。

在配置Hadoop时,Hadoop会确定节点地址和其网络位置的映射,此映射在代码中通过Java接口DNSToSwitchMapping实现,代码如下

public interface DNSToSwitchMapping{

public List<string> resolve(List<String> names);

}

topology.node.switch.mapping.impl中的配置参数定义了一个DNSToSwitchMapping接口的实现,NameNode通过它确定完成任务的机器节点所在的网络位置。

系统有一个默认的接口实现ScriptBasedMapping,可以运行用户自定义的一个脚本去完成映射。如果没有定义映射,则将所有的机器节点映射到一个单独的网络位置中默认的机架上;如果定义了映射,则脚本位置由topology.script.file.name指定。

脚本获得一批IP,生成一个标准的网络位置。

 

 

Hadoop集群配置

Hadoop通过org.apache.hadoop.conf.configuration来读取配置文件

Hadoop运行定义最终参数(final parameter)——不能在进程中改变

允许参数传递,即定义了一个参数后,进行引用 ${basedir}

hadop-env.sh  Hadoop守护进程设置环境变量

java路径

core-site.xml

fs.default.name

hdfs-site.xml

dfs.name.dir

dfs.data.dir

mapred-site.xml

yarn-site.xml

mapred-queues.xml  

设置MapReduce系统的队列顺序,例如把用户分组,赋予不同级别,优先级高的job先执行

queue的有效性依赖于mapreduce.jobtracker.taskscheduler设置的调度规则(scheduler

一些调度算法可能只需一个queue,复杂调度算法需要设置多个queue

queue的大部分修改无需重启系统。

 

通过logs目录下的日志文件对过往进行分析。

例如:NameNodeDataNodenamespaceID不一致

这个问题是由于两次或两次以上格式化NameNode造成的

两种解决办法:

1、删除DataNode所有资料

2、修改每个DataNodenamespaceID  位于dfs/data/current/VERSION文件中

NameNodenamespaceID  位于dfs/name/current/VERSION文件中

 

实际应用场景:

重启坏掉的DataNodeJobTracker

动态加入DataNodeTaskTracker

hadoop-daemon.sh --config ./conf start datanode

hadoop-daemon.sh --config ./conf start tasktracker

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

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

相关文章

局域网访问控制

访问局域网内其他机器可用如下方式&#xff1a; \\PC-name\d$\dir 或者 \\192.168.xxx.xxx\d$\dir d代表d盘 但前提是对方机器已经把本机用户设置为管理员账户转载于:https://www.cnblogs.com/jimmy-c/p/4116804.html

Unity3d 插值同步

文中大体的思路&#xff1a; A玩家 移动时&#xff0c;本机自行移动&#xff0c;并发送移动指令给服务端&#xff0c;假设移动是成功的&#xff0c;服务端同步其他客户端 B玩家&#xff0c;B玩家 中用一个队列 Queue 来装服务端来的移动指令&#xff0c;然后客户端在updata中做…

laravel数据库相关操作说明

输出原生sql: DB::table(users)->where([[name,,张三]])->toSql(); //输出sql为&#xff1a;select * from users where name?; DB::table(users)->where([[name,,张三]])->getQuery(); //输出sql为&#xff1a;select * from users where name张三; 运行原生sql查…

1 数据挖掘基础

1.1 什么是数据挖掘 从大量数据中挖掘出隐含的、未知的、对决策有潜在价值的关系、模式和趋势&#xff0c;并用这些知识和规则建立用于决策支持的模型&#xff0c;提供预测性决策支持的方法、工具和过程&#xff0c;这就是数据挖掘。 是统计学、数据库技术、人工智能技术的结…

R文件报错的原因

一般R文件报错&#xff0c;无非是资源文件错误&#xff0c;图片命名错误&#xff0c;但是编译都会报错&#xff0c;可以很快解决。但是前几天&#xff0c;引入一个第三方aar包后&#xff0c;项目编译正确&#xff0c;但是就是R文件报错&#xff0c;找不到R文件&#xff0c;整个…

1.0 算法本机调试方法

算法的本机调试方法&#xff1a; 从本地文件中读取测试数据&#xff0c;进行算法调试。 例&#xff1a;读取两个数&#xff0c;输出和。 1 2 11 22 111 222 输出&#xff1a; 3 33 333 #include <fstream> //读取本地文件需要此头文件。调试完成后&#xff0c;提…

[转]Excel数据转化为sql脚本

在实际项目开发中&#xff0c;有时会遇到客户让我们把大量Excel数据导入数据库的情况。这时我们就可以通过将Excel数据转化为sql脚本来批量导入数据库。 1 在数据前插入一列单元格&#xff0c;用来拼写sql语句。 具体写法&#xff1a;"insert into t_student (id,name,age…

void Update ( ) 更新 void FixedUpdate ( )

void Update ( ) 更新 void FixedUpdate ( ) 固定更新 相同点&#xff1a;当MonoBehaviour启用时&#xff0c;其在每一帧被调用&#xff0c;都是用来更新的。 异同点&#xff1a;第一点不同&#xff1a; Update()每一帧的时间不固定&#xff0c;即第一帧与第二帧的时间间隔t…

海量数据库的查询优化及分页算法方案(一)

随着“金盾工程”建设的逐步深入和公安信息化的高速发展&#xff0c;公安计算机应用系统被广泛应用在各警种、各部门。与此同时&#xff0c;应用系统体系的核心、系统数据的存放地――数据库也随着实际应用而急剧膨胀&#xff0c;一些大规模的系统&#xff0c;如人口系统的数据…

【点分治】luoguP2664 树上游戏

应该是一道中等难度的点分&#xff1f;麻烦在一些细节。 题目描述 lrb有一棵树&#xff0c;树的每个节点有个颜色。给一个长度为n的颜色序列&#xff0c;定义s(i,j) 为i 到j 的颜色数量。以及 现在他想让你求出所有的sum[i] 输入输出格式 输入格式&#xff1a; 第一行为一个整数…

EasyJoyStick使用以及两种操作杆 EasyJoyStick的使用方法,简单的不能再简单 Hedgehog Team-》Easy Touch -》Add Easy Touch For C#

EasyJoyStick使用以及两种操作杆EasyJoyStick的使用方法&#xff0c;简单的不能再简单Hedgehog Team-》Easy Touch -》Add Easy Touch For C#Hedgehog Team-》Easy Touch -》Extensions-》Adding A New Joystick配置如图&#xff1a;然后看一下配置&#xff0c;我喜欢掌控性强一…

2.1 vector

表结构的数组实现随机访问快速尾插动态调整所占内存空间#include<vector>从0开始计数创建vector对象的三种方法&#xff1a; 1. vector<int> v;2. vector<int> v(10); //默认值为03. vecotr<double> v(10,8.6); //为每个元素指定初始值尾插&#xff1a…

文件系统管理 之 文件和目录访问权限设置

一、文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限&#xff0c;这些访问权限决定了谁能访问和如何访问这些文件和目录。 通过设定权限可以从以下三种访问方式限制访问权限&#xff1a;只允许用户自己访问&#xff1b;允许一个预先指定的用户组中的用户访问&…

Web渗透实验:基于Weblogic的一系列漏洞

1. 攻击机windows10 192.168.2.104 2. 靶机ip: 192.168.2.109(linux Ubantu) 192.168.2.111(windows2008R264位) 第一步&#xff1a;启动靶机服务 分别为linux和windows windows环境搭建&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/16KyYb1v1rP9uJ6-5MBotVw   提取…

9 月 19 日,腾讯云安全中心监测到  Apache Tomcat 修复了2个严重级别的漏洞, 分别为: 信息泄露漏洞(CVE-2017-12616)、远程代码执行漏洞(CVE-2017-12615

9 月 19 日&#xff0c;腾讯云安全中心监测到 Apache Tomcat 修复了2个严重级别的漏洞&#xff0c; 分别为&#xff1a; 信息泄露漏洞&#xff08;CVE-2017-12616&#xff09;、远程代码执行漏洞&#xff08;CVE-2017-12615&#xff09;&#xff0c;在某些场景下&#xff0c;攻…

2.0 STL泛型编程

Standard Template Library 在命名空间std中定义了常用的数据结构和算法 三种类型的组件&#xff1a; 容器&#xff1a; ——vector、string ——set、multiset、map、multimap ——list ——bitset ——stack ——deque、queue、priority_queue 迭代器 算法&…

SQL联合更新

update CCTDB..Area_Infoset ParentStrb.ParentStrfrom CCTDB..Area_Info a inner join TempArea bon a.AreaId b.AreaId转载于:https://www.cnblogs.com/davidgu/archive/2012/08/10/2631289.html

集合之ArrayList(含JDK1.8源码分析)

一、ArrayList的数据结构 ArrayList底层的数据结构就是数组&#xff0c;数组元素类型为Object类型&#xff0c;即可以存放所有类型数据。我们对ArrayList类的实例的所有的操作(增删改查等)&#xff0c;其底层都是基于数组的。 定义底层数据结构&#xff1a;Object[] elementDat…

2.2 string

字符数组的封装 基本操作与vector很像&#xff0c;它们内部采用的都是数组结构 #include<string> 创建string对象&#xff1a; string s; 给string对象赋值&#xff1a; 方式一&#xff1a;s"i love coding"; 方式二&#xff1a; char a[256]; scanf(&qu…

Unity3D 自动打包整个项目(以AssetBundle实现)

需求&#xff1a; 在移动开发中&#xff0c;手动控制资源的加载、释放和热更新&#xff0c;是很有必要的。 而Unity通过AssetBundle可以实现该需求&#xff0c;但是如果项目资源多起来的话一个个手动打包成AssetBundle则很麻烦。 而本文正为此提供一套一键打包的方案。 资源分…