1. 大数据 hadoop 三种运行模式的区别、及详细配置讲解
基于Hadoop进行开发时,有时候会被Hadoop的运行模式弄得晕头转向,傻傻分不清各种运行模式的区别,给日常开发带来很多困惑,不同集群配置文件也各不相不同。弄明白Hadoop的运行模式和对配置文件的作用要做到心中明了,在工作中才能得手顺心。
hadoop的配置文件均以XML文件进行配置,它有四个最常见的配置文件,分别为:
core-site.xml文件主要用于配置通用属性。
hdfs-site.xml文件用于配置Hdfs的属性。
mapred-site.xml文件用于配置Maprece的属性。
yarn-site.xml文件用于配置Yarn的属性。
一般来说,这四种配置文件都存储在hadoop默认的安装目录etc/hadoop子目录中。 不过我们也可以在搭建集群时根据实际需求,把etc/hadoop目录和其下的文件复制到另外一个位置。这样可以把配置文件和安装文件分离开来,方便管理。
注意:如果把etc/hadoop目录和其下的文件复制到另外一个位置。
我们需要在环境变量中将hadoop_conf_dir设置成指向新目录。
1、本地运行模式
无需任何守护进程 ,所有的程序都运行在同一个JVM上执行。在本地模式下调试MR程序非常高效方便,一般该模式主要是在学习或者开发阶段调试使用 。
2、伪分布式模式
Hadoop守护进程运行在本地机器上 ,模拟一个小规模的集群,换句话说,可以配置一台机器的Hadoop集群,伪分布式是完全分布式的一个特例。
3、完全分布式模式
Hadoop守护进程运行在一个集群上 。这种运行模式也就是我们常见的各种云,主要用于大规模的生产环境中。
注意:分布式要启动守护进程 ,是指在使用分布式hadoop时,要先启动一些准备程序进程,然后才能使用。 比如start-dfs.sh start-yarn.sh,而本地模式不需要启动这些守护进程。
注意:在本地模式下,将使用本地文件系统和本地MapRece运行器。在分布式模式下,将启动HDFS和YARN守护进程。
2. hadoop的核心配置文件有哪些
在hadoop1中核心组成部分是HDFS、MapRece,到了Hadoop2,核心变为HDFS、Yarn,而且新的HDFS中可以有多个NameNode,每个都有相同的职能。
以下内容是从http://www.superwu.cn/2014/02/12/1094/阅读后自己总结了一下:
配置文件无非就这几个文件:
1、hadoop-env.sh:
只需设置jdk的安装路径,如:export JAVA_HOME=/usr/local/jdk
2、core-site.xml:
(1)fs.defaultFS:hdfs://cluster1(域名),这里的值指的是默认的HDFS路径
(2)hadoop.tmp.dir:/export/data/hadoop_tmp,这里的路径默认是NameNode、DataNode、JournalNode等存放数据的公共目录。用户也可以自己单独指定这三类节点的目录。
(3)ha.zookeeper.quorum:hadoop101:2181,hadoop102:2181,hadoop103:2181,这里是ZooKeeper集群的地址和端口。注意,数量一定是奇数,且不少于三个节点
(4)hadoop.proxyuser.erpmerge.hosts、hadoop.proxyuser.erpmerge.groups主要用来设置oozie的代理用户
3. Hadoop集群配置
切换到Hadoop解压目录的etc/hadoop/目录下,编辑hadoop-env.sh,修改如下内容:
该文件是Hadoop的核心配置文件,目的是配置HDFS地址、端口号以及临时文件目录。
该文件MapRece的核心文件,用于指定MapRece运行时框架。在etc/hadoop/目录没有该文件,需要将mapred-site.xml.template复制并重命名为mapred-site.xml。
该文件YARN的核心文件,需要指定YARN集群的管理者。
该文件记录Hadoop集群所有从节点(HDFSde DataNode和YARN的NodeManager所在主机)的主机名,用来配合一键启动脚本启动集群从节点(保证关联节点配置了SSH免密登录)。打开slaves文件,先删除里面的内容(默认localhost),配置如下内容
完成Hadoop集群主节点hadoop01的配置后,还需要将系统环境配置文件、JDK安装目录和Hadoop安装目录分发到其他子节点hadoop02和hadoop03上,具体指令:
scp /etc/profile hadoop02:/etc/profile
scp /etc/profile hadoop03:/etc/profile
scp -r /export/ hadoop02:/
scp -r /export/ hadoop03:/
完成后,在hadoop02和hadoop03节点刷新配置文件:
source /etc/profile
初次启动HDFS集群时,必须对主节点进行格式化处理。注意:格式化指令只需在Hadoop集群初次启动前执行即可。指令:
hdfs namenode –format
或
hadoop namenode -format
出现“successfully formatted"字样表示格式化成功。
针对Hadoop集群的启动,需要启动内部包含的HDFS集群和YARN集群两个集群框架。
启动:
(1)start-dfs.sh #启动所有HDFS服务进程
(2)start-yarn.sh #启动所有YARN服务进程
或者:
start-all.sh直接启动整个Hadoop集群服务
关闭则直接将上述指令中的start换成stop即可。
在整个Hadoop集群服务启动完成后,可以在各自机器上通过jps指令查看各节点的服务进程启动情况。
集群启动成功。
4. hadoop设置执行对应角色
做法:
(1)核心配置文件core-site.xml,该配置文件属于Hadoop的全局配置文件,我们主要进行配置分布式文件系统的入口地址NameNode的地址和分布式文件系统中数据落地到服务器本地磁盘位置的配置
(2)Hadoop环境配置文件hadoop-env.sh,在这个配置文件中我们主要需要制定jdk的路径JAVA_HOME,避免程序运行中出现JAVA_HOME找不到的异常。
(3)HDFS配置文件hdfs-site.xml,在这个配置文件中主要进行配置HDFS文件系统属性配置。
(4)YARN的环境配置文件yarn-env.sh,同样将JAVA_HOME路径配置指明。
(5)关于YARN的配置文件yarn-site.xml,其中配置YARN的相关参数,主要配置一下两个参数。
(6)maprece的环境配置文件mapred-env.sh,同样将JAVA_HOME路径配置指明。(7)关于MapRece的配置文件mapred-site.xml,主要配置一个参数,指明MapRece的运行框架为YARN.
(8)主节点NameNode和ResourceManager的角色在配置文件中已经做了配置,从节点的角色还需指定,配置文件slaves就是用来配置Hadoop集群中各个从节点角色的。如下,对slaves文件进行修改,即将3台节点全部指定为从节点,可以启动DataNode和NodeManager进程。
(9)在集群上分发配置好的Hadoop配置文件,这样3台节点即享有相同的Hadoop的配置,可准备通过不同的进程启动命令进行启动了。
(10)查看文件分发情况。
5. 搭建hadoop集群,常用配置文件是什么,以及配置哪些属性
一. 简介
参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功。下面就把详细的安装步骤叙述一下。我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择2.7.1版本。(前边主要介绍单机版的配置,集群版是在单机版的基础上,主要是配置文件有所不同,后边会有详细说明)
二. 准备工作
2.1 创建用户
创建用户,并为其添加root权限,经过亲自验证下面这种方法比较好。
1 sudo adser hadoop2 sudo vim /etc/sudoers3 # 修改内容如下:4 root ALL = (ALL)ALL5 hadoop ALL = (ALL)ALL
给hadoop用户创建目录,并添加到sudo用户组中,命令如下:
1 sudo chown hadoop /home/hadoop2 # 添加到sudo用户组3 sudo adser hadoop sudo
最后注销当前用户,使用新创建的hadoop用户登陆。
2.2安装ssh服务
ubuntu中默认是没有装ssh server的(只有ssh client),所以先运行以下命令安装openssh-server。安装过程轻松加愉快~
sudo apt-get install ssh openssh-server
2.3 配置ssh无密码登陆
直接上代码:执行完下边的代码就可以直接登陆了(可以运行ssh localhost进行验证)
1 cd ~/.ssh# 如果找不到这个文件夹,先执行一下 "ssh localhost"2 ssh-keygen -t rsa3 cp id_rsa.pub authorized_keys
注意:
这里实现的是无密登陆自己,只适用与hadoop单机环境。如果配置Hadoop集群设置Master与Slave的SSH无密登陆可
三. 安装过程
3.1 下载hadoop安装包
有两种下载方式:
1. 直接去官网下载:
2. 使用wget命令下载:
3.2 配置hadoop
1. 解压下载的hadoop安装包,并修改配置文件。我的解压目录是(/home/hadoop/hadoop-2.7.1),即进入/home/hadoop/文件夹下执行下面的解压缩命令。
tar -zxvf hadoop-2.7.1.tar.gz
2. 修改配置文件:(hadoop2.7.1/etc/hadoop/)目录下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml。
(1). core-site.xml 配置:其中的hadoop.tmp.dir的路径可以根据自己的习惯进行设置。
至此,wordcount demo 运行结束。
六. 总结
配置过程遇到了很多问题,最后都一一解决,收获很多,特此把这次配置的经验分享出来,方便想要配置hadoop环境的各位朋友~
(Hadoop集群安装配置过程基本和单机版是一样的,主要是在配置文件方面有所区别,以及ssh无密登陆要求master和slave能够互相无密登陆。
6. hadoop 配置文件部分
9000端口:是fileSystem默认的端口号:
50070端口: 50070是hdfs的web管理页面的端口 (50070端口也可以查看hdfs 的总存储 以及用了多少等情况),如下图
8020端口: namenode 节点下active的端口
添加配置文件,即可解决问题