集群概念

计算机集群是一种计算机系统,通过一组松散继承的计算机软件或硬件连接连接起来高度紧密地协作完成计算工作。

集群系统中的单个计算机通常称为节点,通过局域网连接。

集群特点:

1、效率高,通过多态计算机完成同一个工作。

2、高容错,两台或多台机内容、工作过程等完全一样,宕机一台其他机器继续工作。

Hadoop集群部署

搭建步骤

1、跟伪分布模式环境相同

更改主机名

设置Hosts

关闭防火墙

安装jdk

设置环境变量

设置SSH密钥登陆

2、安装配置Hadoop

namenode配置:

配置Hadoop环境变量

export HADOOP_HOME=/usr/local/hadoop

export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

配置hadoop-env.sh文件

export JAVA_HOME = /usr/local/jdk

export HADOOP_PID_DIR = /usr/local/hadoop/pids

配置core-site.xml

<property>

<name>fs.default.name</name>

<value>hdfs://h1:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/local/hadoop/tmp</value>

</property>

配置hdfs-site.xml

<property>

副本数量设置

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.hosts.exclude</name>

<value>/usr/local/hadoop/conf/excludes</value>

</property>

配置mapred-site.xml

<property>

<name>mapred.job.tracker</name>

<value>hdfs://h1:90001</value>

</property>

配置masters和slaves

master中配置的节点为Secondarynamenode节点。

slaves中配置的节点为datanode和tasktracker节点。

拷贝hadoop目录到其他节点中。

namenode上使用 hadoop namenode –format格式化文件系统,以前格式化过的需要把hadoop.tmp.dir目录删除,否则格式化失败。

增加节点

1、在namnode和新主机的hosts文件中添加主机名,保证通过主机名能ping通。

2、修改namenode的配置文件 conf/slaves

添加新节点的ip或者主机名

3、在新节点上启动服务

hadoop-daemon.sh start datanode

hadoo-daemon.sh start tasktracker

4、在Namenode节点上执行刷新节点命令

hadoop dfsadmin –refreshNodes

5、Datanode节点均衡block块,也就是同步数据。

start-balancer.sh

注意事项:

1、保证slave的防火墙关闭

2、确保新的salve的ip或者主机名已经添加到master及其他slaves的hosts文件中,反之将master添加其他slave的主机名。实现主机名可以解析ip。

删除节点

1、在namenode节点中的配置文件添加

<property>

<name>dfs.hosts.exclude</name>

<value>/usr/local/hadoop/conf/exclude</value>

</property>

2、在dfs.hosts.exclude定义的文件中添加要下架的机器,一行一个。

3、使用命令强制加载节点

hadoop dfsadmin –refreshNodes

4、查看下架状态

hadoop dfsadmin –report

下架的机器会显示:Decommission in progres

执行完成后将不显示。

5、删除exclude文件中的主机名

6、到要下架的节点上关闭taskracker。

hadoop-daemon.sh stop tasktracker

安全机制

允许进入的节点设置

dfs.hosts/map.hosts

排除的设置(下线使用)

dfs.hosts.exclude/mapred.hosts.exclude

安全模式

hadoop开启是会有安全模式,安全模式时不允许修改、删除文件,知道安全模式结束。

作用:

主要为了系统启动时检查各个DataNode节点数据块的有效性,同时根据策略必要的复制或删除部分数据块。

一直处于安全模式原因:

如果datanode丢失的block块达到一定比例,系统会一直处于安全模式。

dfs.safemode.threshold.pct设置比例,默认是0.99f。如果设为1将永远为SafeMode。

集群监控-Web

MapReduce监控页面

地址http://主机名:50030/

HDFS监控页面

http://主机名:50070/


第三方监控工具

ganglie 分布式监控系统

Hadoop管理员命令

hadoop dfsadmin –safemode get 查看运行模式

hadoop dfsadmin –safemode enter 开启安全模式

hadoop dfsadmin –safemode leave 关闭安全模式

hadoop job –list 查看任务列表

hadoop job –kill jobid 删除任务

hadoop fsck / 检查HDFS状态,是否损坏

hadoop fsck / -delete 检查HDFS状态,删除损坏块

hadoop dfsadmin –report 检查HDFS状态,包括DdataNode信息

常见分布模式安装错误

1、NameNode与DataNode互相都可以ssh无密钥登陆访问

2、在hosts文件中127.0.0.1不要与主机名在一起

Hadoop学习记录(5)|集群搭建|节点动态添加删除的更多相关文章

  1. Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)

    声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 一.服务器环境 主机名 IP 用户名 密码 安装目录 master188 192.168.29.188 hadoop hadoop /home/ha ...

  2. Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)

    现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机 ...

  3. 高可用Hadoop平台-HBase集群搭建

    1.概述 今天补充一篇HBase集群的搭建,这个是高可用系列遗漏的一篇博客,今天抽时间补上,今天给大家介绍的主要内容目录如下所示: 基础软件的准备 HBase介绍 HBase集群搭建 单点问题验证 截 ...

  4. kafka学习(二)-zookeeper集群搭建

    zookeeper概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 服务等.Zookeeper是h ...

  5. hadoop HA+kerberos HA集群搭建

    IP.主机名规划 hadoop集群规划: hostname IP hadoop 备注 hadoop1 110.185.225.158 NameNode,ResourceManager,DFSZKFai ...

  6. 第3章 Hadoop 2.x分布式集群搭建

    目录 3.1 配置各节点SSH无密钥登录 1.将各节点的秘钥加入到同一个授权文件中 2.拷贝授权文件到各个节点 3.测试无秘钥登录 3.2 搭建Hadoop集群 1.上传Hadoop并解压 2.配置H ...

  7. 3.环境搭建-Hadoop(CDH)集群搭建

    目录 目录 实验环境 安装 Hadoop 配置文件 在另外两台虚拟机上搭建hadoop 启动hdfs集群 启动yarn集群 本文主要是在上节CentOS集群基础上搭建Hadoop集群. 实验环境 Ha ...

  8. kafka学习(三)-kafka集群搭建

    kafka集群搭建 下面简单的介绍一下kafka的集群搭建,单个kafka的安装更简单,下面以集群搭建为例子. 我们设置并部署有三个节点的 kafka 集合体,必须在每个节点上遵循下面的步骤来启动 k ...

  9. Hadoop HA高可用集群搭建(2.7.2)

    1.集群规划: 主机名        IP                安装的软件                            执行的进程 drguo1  192.168.80.149 j ...

随机推荐

  1. WPF 控件

    ****ScrollViewer**** 前台: <ScrollViewer  HorizontalScrollBarVisibility="Auto" VerticalSc ...

  2. 2014年辛星完全解读Javascript第一节

    ***************概述*************** 1.Javascript是一种原型化继承的基于对象的动态类型的脚本语言,它区分大小写,主要运行在客户端,用户即使响应用户的操作并进行数 ...

  3. mysql之——存储过程 + 游标 + 事务

    下面是自己曾经编写过的mysql数据库存储过程,留作存档,以后用到的时候拿来参考. 其中,涉及到了存储过程.游标(双层循环).事务. [说明]:代码中的注释只针对当时业务而言,无须理会. 代码如下: ...

  4. 李洪强漫谈iOS开发[C语言-016]-变量的作用域

  5. scrollView的几个属性contentSize contentOffset contentInset

    01-  ontentSize是scrollview可以滚动的区域 比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960), 代表你的scrollvie ...

  6. 页面上动态编译及执行java代码

    本文地址:http://www.cnblogs.com/liaoyu/p/real-time-compile-and-run-java-code-web-app.html 最近看到同事在页面上编译和执 ...

  7. matlab 画图

    先前讲解了简单绘图方法: http://www.cnblogs.com/youxin/p/3859923.html x = 0:pi/100:2*pi; y = sin(x); plot(x,y)下面 ...

  8. Layout Resource官方教程(2)用ViewStub引用的嵌入的layout可推迟加载

    Loading Views On Demand THIS LESSON TEACHES YOU TO Define a ViewStub Load the ViewStub Layout YOU SH ...

  9. android & Linux uevent机制

    Linux uevent机制 Uevent是内核通知android有状态变化的一种方法,比如USB线插入.拔出,电池电量变化等等.其本质是内核发送(可以通过socket)一个字符串,应用层(andro ...

  10. 《疯狂VirtualBox实战讲学录》

    <疯狂VirtualBox实战讲学录:小耗子之VirtualBox修炼全程重现>是市面上第一部同时也是唯一一部完整介绍VirtualBox的“中文版全程实战手册”!本书完整记录了Virtu ...