集群概念

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

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

集群特点:

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. Linux-ubuntu

    在VMware安装ubuntu时磁盘分配如下: /boot 100MB / 2G swap 512MB /home 5G /var 1G /usr 5G+. 设置root权限:sudo passwd ...

  2. C#中的socket编程方法

    服务器: 第一步,准备socket套接字:Socket sockfd = new Socket(AddressFamily.InterNetwork,SocketType.Stream,Protoco ...

  3. Windows常用CMD命令

    远程桌面:mstsc 记事本:notepad        写字板:write 计算器:calc IIS重启:iisreset 60秒倒计时关机命令:tsshutdn     15秒关机:rononc ...

  4. java 中 sleep(1000) 和 wait(1000) 的区别?

    1.首先 sleep 方法是Thread类中的静态方法,他的作用是使当前线程暂时睡眠指定的时间,可以不用放在synchronized方法或者代码块中,但是 wait 方法是Object类的方法,它是使 ...

  5. webpack打包sass

    首先,需要支持sass,不管是有ruby环境的sass,还是node-sass,用npm装的sass模块,bootstrap-sass,gulp-sass..总归要有一个吧!(这里采用node-sas ...

  6. ConfigParser读取记事本、notepad++修改后的配置文件会出现:ConfigParser.MissingSectionHeaderError

    使用ConfigParser来读取配置文件,经常会发现经过记事本.notepad++修改后的配置文件读取时出现下面的问题: ConfigParser.MissingSectionHeaderError ...

  7. 转--Server “**” has shut down the connection prematurely一例分析

    近几天在性能测试过程中,发现loadrunner Controller经常报 Server “**” has shut down the connection prematurely .概率很高,现象 ...

  8. loadrunner http协议put模式脚本编写

    web_submit_data("rest", "Action=http://www.test.com/111ojhjh.do", "Method=P ...

  9. POJ 2289 Jamie's Contact Groups & POJ3189 Steady Cow Assignment

    这两道题目都是多重二分匹配+枚举的做法,或者可以用网络流,实际上二分匹配也就实质是网络流,通过枚举区间,然后建立相应的图,判断该区间是否符合要求,并进一步缩小范围,直到求出解.不同之处在对是否满足条件 ...

  10. Cocos2d-x内存自动释放机制--透彻篇

    首先在架构里面需要明白,如果使用new创建对象的话,我们需要自己释放内存,如果直接用引擎提供的警静态方法,我们可以不做内存管理,引擎自动处理,因为引擎背后有一个自动释放池.通过查看源码可以知道,每个静 ...