hadoop配置文件slave是什么|如何在Linux上安装与配置Hadoop

① 搭建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能够互相无密登陆。

② 如何在Linux上安装与配置Hadoop

Hadoop最早是为了在Linux平台上使用而开发的,但是Hadoop在UNIX、Windows和Mac OS X系统上也运行良好。不过,在Windows上运行Hadoop稍显复杂,首先必须安装Cygwin以模拟Linux环境,然后才能安装Hadoop。Hadoop的安装非常简单,大家可以在官网上下载到最近的几个版本,在Unix上安装Hadoop的过程与在Linux上安装基本相同,因此下面不会对其进行详细介绍。

在Linux上安装与配置Hadoop

在Linux上安装Hadoop之前,需要先安装两个程序:

1. JDK 1.6或更高版本;

2. SSH(安全外壳协议),推荐安装OpenSSH。

下面简述一下安装这两个程序的原因:

1. Hadoop是用java开发的,Hadoop的编译及MapRece的运行都需要使用JDK。

2. Hadoop需要通过SSH来启动salve列表中各台主机的守护进程,因此SSH也是必须安装的,即使是安装伪分布式版本(因为Hadoop并没有区分集群式和伪分布式)。对于伪分布式,Hadoop会采用与集群相同的处理方式,即依次序启动文件conf/slaves中记载的主机上的进程,只不过伪分布式中salve为localhost(即为自身),所以对于伪分布式Hadoop,SSH一样是必须的。

一、安装JDK 1.6

安装JDK的过程很简单,下面以Ubuntu为例。

(1)下载和安装JDK

确保可以连接到互联网,输入命令:

sudoapt-getinstallsun-java6-jdk

输入密码,确认,然后就可以安装JDK了。

这里先解释一下sudo与apt这两个命令,sudo这个命令允许普通用户执行某些或全部需要root权限命令,它提供了详尽的日志,可以记录下每个用户使用这个命令做了些什么操作;同时sudo也提供了灵活的管理方式,可以限制用户使用命令。sudo的配置文件为/etc/sudoers。

apt的全称为the Advanced Packaging Tool,是Debian计划的一部分,是Ubuntu的软件包管理软件,通过apt安装软件无须考虑软件的依赖关系,可以直接安装所需要的软件,apt会自动下载有依赖关系的包,并按顺序安装,在Ubuntu中安装有apt的一个图形化界面程序synaptic(中文译名为“新立得”),大家如果有兴趣也可以使用这个程序来安装所需要的软件。(如果大家想了解更多,可以查看一下关于Debian计划的资料。)

(2)配置环境变量

输入命令:

sudogedit/etc/profile

输入密码,打开profile文件。

在文件的最下面输入如下内容:

#setJavaEnvironmentexportJAVA_HOME=(你的JDK安装位置,一般为/usr/lib/jvm/java-6-sun)exportCLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"exportPATH="$JAVA_HOME/:$PATH"

这一步的意义是配置环境变量,使你的系统可以找到JDK。

(3)验证JDK是否安装成功

输入命令:

java-version

查看信息:

javaversion"1.6.0_14"Java(TM)SERuntimeEnvironment(build1.6.0_14-b08)JavaHotSpot(TM)ServerVM(build14.0-b16,mixedmode)

二、配置SSH免密码登录

同样以Ubuntu为例,假设用户名为u。

1)确认已经连接上互联网,输入命令

sudoapt-getinstallssh

2)配置为可以无密码登录本机。

首先查看在u用户下是否存在.ssh文件夹(注意ssh前面有“.”,这是一个隐藏文件夹),输入命令:

ls-a/home/u

一般来说,安装SSH时会自动在当前用户下创建这个隐藏文件夹,如果没有,可以手动创建一个。

接下来,输入命令:

ssh-keygen-tdsa-P''-f~/.ssh/id_dsa

解释一下,ssh-keygen代表生成密钥;-t(注意区分大小写)表示指定生成的密钥类型;dsa是dsa密钥认证的意思,即密钥类型;-P用于提供密语;-f指定生成的密钥文件。(关于密钥密语的相关知识这里就不详细介绍了,里面会涉及SSH的一些知识,如果读者有兴趣,可以自行查阅资料。)

在Ubuntu中,~代表当前用户文件夹,这里即/home/u。

这个命令会在.ssh文件夹下创建两个文件id_dsa及id_dsa.pub,这是SSH的一对私钥和公钥,类似于钥匙及锁,把id_dsa.pub(公钥)追加到授权的key里面去。

输入命令:

cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys

这段话的意思是把公钥加到用于认证的公钥文件中,这里的authorized_keys是用于认证的公钥文件。

至此无密码登录本机已设置完毕。

3)验证SSH是否已安装成功,以及是否可以无密码登录本机。

输入命令:

ssh-version

显示结果:

OpenSSH_5.1p1Debian-6ubuntu2,OpenSSL0.9.8g19Oct2007Badescapecharacter'rsion'.

显示SSH已经安装成功了。

输入命令:

sshlocalhost

会有如下显示:

Theauthenticityofhost'localhost(::1)'can'tbeestablished.RSAkeyfingerprintis8b:c3:51:a5:2a:31:b7:74:06:9d:62:04:4f:84:f8:77.(yes/no)?yesWarning:Permanentlyadded'localhost'(RSA)tothelistofknownhosts.Linuxmaster2.6.31-14-generic#48-UbuntuSMPFriOct1614:04:26UTC2009i686,pleasevisit:http://help.ubuntu.com/Lastlogin:MonOct1817:12:402010frommaster[email protected]:~$

这说明已经安装成功,第一次登录时会询问你是否继续链接,输入yes即可进入。

实际上,在Hadoop的安装过程中,是否无密码登录是无关紧要的,但是如果不配置无密码登录,每次启动Hadoop,都需要输入密码以登录到每台机器的DataNode上,考虑到一般的Hadoop集群动辄数百台或上千台机器,因此一般来说都会配置SSH的无密码登录。

三、安装并运行Hadoop

介绍Hadoop的安装之前,先介绍一下Hadoop对各个节点的角色定义。

Hadoop分别从三个角度将主机划分为两种角色。第一,划分为master和slave,即主人与奴隶;第二,从HDFS的角度,将主机划分为NameNode和DataNode(在分布式文件系统中,目录的管理很重要,管理目录的就相当于主人,而NameNode就是目录管理者);第三,从MapRece的角度,将主机划分为JobTracker和TaskTracker(一个job经常被划分为多个task,从这个角度不难理解它们之间的关系)。

Hadoop有官方发行版与cloudera版,其中cloudera版是Hadoop的商用版本,这里先介绍Hadoop官方发行版的安装方法。

Hadoop有三种运行方式:单节点方式、单机伪分布方式与集群方式。乍看之下,前两种方式并不能体现云计算的优势,在实际应用中并没有什么意义,但是在程序的测试与调试过程中,它们还是很有意义的。

你可以通过以下地址获得Hadoop的官方发行版,下载Hadoop-0.20.2.tar.gz并将其解压,这里会解压到用户目录下,一般为:/home/[你的用户名]/。

单节点方式配置:

安装单节点的Hadoop无须配置,在这种方式下,Hadoop被认为是一个单独的Java进程,这种方式经常用来调试。

伪分布式配置:

你可以把伪分布式的Hadoop看做是只有一个节点的集群,在这个集群中,这个节点既是master,也是slave;既是NameNode也是DataNode;既是JobTracker,也是TaskTracker。

伪分布式的配置过程也很简单,只需要修改几个文件,如下所示。

进入conf文件夹,修改配置文件:

Hadoop-env.sh:exportJAVA_HOME=“你的JDK安装地址”

指定JDK的安装位置:

conf/core-site.xml:<configuration><property><name>fs.default.name</name><value>hdfs://localhost:9000</value></property></configuration>

这是Hadoop核心的配置文件,这里配置的是HDFS的地址和端口号。

conf/hdfs-site.xml:<configuration><property><name>dfs.replication</name><value>1</value></property></configuration>

这是Hadoop中HDFS的配置,配置的备份方式默认为3,在单机版的Hadoop中,需要将其改为1。

conf/mapred-site.xml:<configuration><property><name>mapred.job.tracker</name><value>localhost:9001</value></property></configuration>

这是Hadoop中MapRece的配置文件,配置的是JobTracker的地址和端口。

需要注意的是,如果安装的是0.20之前的版本,那么只有一个配置文件,即为Hadoop-site.xml。

接下来,在启动Hadoop前,需格式化Hadoop的文件系统HDFS(这点与Windows是一样的,重新分区后的卷总是需要格式化的)。进入Hadoop文件夹,输入下面的命令:

bin/HadoopNameNode-format

格式化文件系统,接下来启动Hadoop。

输入命令:

bin/start-all.sh(全部启动)

最后,验证Hadoop是否安装成功。

打开浏览器,分别输入网址:

http://localhost:50030(MapRece的Web页面)http://localhost:50070(HDFS的Web页面)

如果都能查看,说明Hadoop已经安装成功。

对于Hadoop来说,安装MapRece及HDFS都是必须的,但是如果有必要,你依然可以只启动HDFS(start-dfs.sh)或MapRece(start-mapred.sh)。

③ hadoop分布式每次都要重新启动吗

hadoop分布式每次都要重新启动1配置hosts文件,将主机名和对应IP地址映射。如图中Master、Slave1和Slave2是我们要搭建分布式环境的机器。Master为主机,Slavex为从机。2配置SSH的无密码登录:可新建专用用户hadoop进行操作,cd命令进入所属目录下,输入以下指令(已安装ssh)ssh-keygen -t rsa -P ""cat .ssh/id_rsa.pub >>.ssh/authorized_keys解释一下,第一条生成ssh密码的命令,-t 参数表示生成算法,有rsa和dsa两种;-P表示使用的密码,这里使用“”空字符串表示无密码。第二条命令将生成的密钥写入authorized_keys文件。这时输入 ssh localhost,弹出写入提示后回车,便可无密码登录本机。同理,将authorized_keys文件 通过 scp命令拷贝到其它主机相同目录下,则可无密码登录其它机器。安装hadoop:安装方式很简单,下载安装包到所属目录下,使用tar -zxvf 安装包名进行解压,解压完毕可通过mv 命令重命名文件夹,安装至此完成。解压后的目录内容如图所示。hadoop配置过程:要实现分布式环境,配置过程是最为重要的,这里要涉及到的配置文件有7个:~/hadoop/etc/hadoop/hadoop-env.sh~/hadoop/etc/hadoop/yarn-env.sh~/hadoop/etc/hadoop/slaves~/hadoop/etc/hadoop/core-site.xml~/hadoop/etc/hadoop/hdfs-site.xml~/hadoop/etc/hadoop/mapred-site.xml~/hadoop/etc/hadoop/yarn-site.xml之后会分别介绍各个配置的的作用和配置关键配置文件1:hadoop-env.sh该文件是hadoop运行基本环境的配置,需要修改的为java虚拟机的位置。故在该文件中修改JAVA_HOME值为本机安装位置(如,export JAVA_HOME=/usr/lib/jvm/java-1.7.0)配置文件2:yarn-env.sh该文件是yarn框架运行环境的配置,同样需要修改java虚拟机的位置。在该文件中修改JAVA_HOME值为本机安装位置(如,export JAVA_HOME=/usr/lib/jvm/java-1.7.0)配置文件3:slaves该文件里面保存所有slave节点的信息,以本篇为例写入以下内容(hosts里从机的主机名):Slave1Slave2

④ 如何在Linux上安装与配置Hadoop-IT168 技术开发专区

在Linux上安装与配置Hadoop一、准备工作:在Linux上安装Hadoop之前,需要先安装两个程序:1. JDK 1.6或更高版本;2. SSH(安全外壳协议),推荐安装OpenSSH。安装这两个程序的原因:1. Hadoop是用Java开发的,Hadoop的编译及MapRece的运行都需要使用JDK。2. Hadoop需要通过SSH来启动salve列表中各台主机的守护进程,因此SSH也是必须安装的,即使是安装伪分布式版本(因为Hadoop并没有区分集群式和伪分布式)。对于伪分布式,Hadoop会采用与集群相同的处理方式,即依次序启动文件conf/slaves中记载的主机上的进程,只不过伪分布式中salve为localhost(即为自身),所以对于伪分布式Hadoop,SSH一样是必须的。二、安装JDK 1.6以Ubuntu为例安装JDK。(1)下载和安装JDK确保可以连接到互联网,输入命令:sudo apt-get install sun-java6-jdk输入密码,确认,然后就可以安装JDK了。(2)配置环境变量输入命令:sudo gedit /etc/profile输入密码,打开profile文件。在文件的最下面输入如下内容:#set Java Environmentexport JAVA_HOME= (DK安装位置,一般为/usr/lib/jvm/java-6-sun)export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"export PATH="$JAVA_HOME/:$PATH"这一步的意义是配置环境变量,使系统可以找到JDK。(3)验证JDK是否安装成功输入命令:java -version查看信息:java version "1.6.0_14"Java(TM) SE Runtime Environment (build 1.6.0_14-b08)Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)三、配置SSH免密码登录同样以Ubuntu为例,假设用户名为u。1)确认已经连接上互联网,输入命令sudo apt-get install ssh2)配置为可以无密码登录本机。首先查看在u用户下是否存在.ssh文件夹(注意ssh前面有“.”,这是一个隐藏文件夹),输入命令:ls -a /home/u一般来说,安装SSH时会自动在当前用户下创建这个隐藏文件夹,如果没有,可以手动创建一个。接下来,输入命令:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa解释一下,ssh-keygen代表生成密钥;-t(注意区分大小写)表示指定生成的密钥类型;dsa是dsa密钥认证的意思,即密钥类型;-P用于提供密语;-f指定生成的密钥文件。在Ubuntu中,~代表当前用户文件夹,这里即/home/u。这个命令会在.ssh文件夹下创建两个文件id_dsa及id_dsa.pub,这是SSH的一对私钥和公钥,类似于钥匙及锁,把id_dsa.pub(公钥)追加到授权的key里面去。输入命令:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys这段话的意思是把公钥加到用于认证的公钥文件中,这里的authorized_keys是用于认证的公钥文件。至此无密码登录本机已设置完毕。3)验证SSH是否已安装成功,以及是否可以无密码登录本机。输入命令:ssh -version显示结果:OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 Oct 2007Bad escape character 'rsion'.显示SSH已经安装成功了。输入命令:ssh localhost会有类似如下显示:The authenticity of host 'localhost (::1)' can't be established.RSA key fingerprint is 8b:c3:51:a5:2a:31:b7:74:06:9d:62:04:4f:84:f8:77.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'localhost' (RSA) to the list of known hosts.Linux master 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009 i686To access official Ubuntu documentation, please visit:http://help.ubuntu.com/Last login: Mon Oct 18 17:12:40 2010 from master[email protected]:~$这说明已经安装成功,第一次登录时会询问你是否继续链接,输入yes即可进入。实际上,在Hadoop的安装过程中,是否无密码登录是无关紧要的,但是如果不配置无密码登录,每次启动Hadoop,都需要输入密码以登录到每台机器的DataNode上,考虑到一般的Hadoop集群动辄数百台或上千台机器,因此一般来说都会配置SSH的无密码登录。四、安装并运行Hadoop介绍Hadoop的安装之前,先介绍一下Hadoop对各个节点的角色定义。Hadoop分别从三个角度将主机划分为两种角色。第一,划分为master和slave,即主人与奴隶;第二,从HDFS的角度,将主机划分为NameNode和DataNode(在分布式文件系统中,目录的管理很重要,管理目录的就相当于主人,而NameNode就是目录管理者);第三,从MapRece的角度,将主机划分为JobTracker和TaskTracker(一个job经常被划分为多个task,从这个角度不难理解它们之间的关系)。Hadoop有官方发行版与cloudera版,其中cloudera版是Hadoop的商用版本,这里先介绍Hadoop官方发行版的安装方法。Hadoop有三种运行方式:单节点方式、单机伪分布方式与集群方式。乍看之下,前两种方式并不能体现云计算的优势,在实际应用中并没有什么意义,但是在程序的测试与调试过程中,它们还是很有意义的。可以通过以下地址获得Hadoop的官方发行版:http://www.apache.org/dyn/closer.cgi/Hadoop/core/下载Hadoop-0.20.2.tar.gz并将其解压,这里会解压到用户目录下,一般为:/home/[你的用户名]/。单节点方式配置:安装单节点的Hadoop无须配置,在这种方式下,Hadoop被认为是一个单独的Java进程,这种方式经常用来调试。伪分布式配置:可以把伪分布式的Hadoop看做是只有一个节点的集群,在这个集群中,这个节点既是master,也是slave;既是NameNode也是DataNode;既是JobTracker,也是TaskTracker。伪分布式的配置过程也很简单,只需要修改几个文件,如下所示。进入conf文件夹,修改配置文件:Hadoop-env.sh:export JAVA_HOME=“JDK安装地址”指定JDK的安装位置:conf/core-site.xml:<configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property></configuration>这是Hadoop核心的配置文件,这里配置的是HDFS的地址和端口号。conf/hdfs-site.xml:<configuration> <property> <name>dfs.replication</name> <value>1</value> </property></configuration>这是Hadoop中HDFS的配置,配置的备份方式默认为3,在单机版的Hadoop中,需要将其改为1。conf/mapred-site.xml:<configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property></configuration>这是Hadoop中MapRece的配置文件,配置的是JobTracker的地址和端口。需要注意的是,如果安装的是0.20之前的版本,那么只有一个配置文件,即为Hadoop-site.xml。接下来,在启动Hadoop前,需格式化Hadoop的文件系统HDFS(这点与Windows是一样的,重新分区后的卷总是需要格式化的)。进入Hadoop文件夹,输入下面的命令:bin/Hadoop NameNode -format格式化文件系统,接下来启动Hadoop。输入命令:bin/start-all.sh(全部启动)最后,验证Hadoop是否安装成功。打开浏览器,分别输入网址:http://localhost:50030 (MapRece的Web页面)http://localhost:50070 (HDFS的Web页面)如果都能查看,说明Hadoop已经安装成功。对于Hadoop来说,安装MapRece及HDFS都是必须的,但是如果有必要,依然可以只启动HDFS(start-dfs.sh)或MapRece(start-mapred.sh)。

⑤ 如何配置Hadoop环境

资源下载

1、JDK下载:下载链接2、hadoop:下载链接3、下载完成后验证一下下载,将计算的MD5值与官网的进行对比已验证安装包的准确性:

md5sum ./hadoop-2.6.*.tar.gz | tr "a-z" "A-Z" # 计算md5值,并转化为大写,方便比较1

一、创建Hadoop用户

创建hadoop用户,并分配以用户名为家目录/home/hadoop,并将其加入到sudo用户组,创建好用户之后,以hadoop用户登录:

sudo useradd -m hadoop -s /bin/bash sudo adser hadoop sudosudo passwd hadoop # 设置hadoop用户密码123

二、安装JDK、Hadoop及配置环境变量

安装,解压JDK到/usr/lib/java/路径下,Hadoop到/usr/local/etc/hadoop/路径下:

tar zxf ./hadoop-2.6.*.tar.gzmv ./hadoop-2.6.* /usr/local/etc/hadoop # 将 /usr/local/etc/hadoop作为Hadoop的安装路径12

解压完成之后,可验证hadoop的可用性:

cd /usr/local/etc/hadoop./bin/hadoop version # 查看hadoop的版本信息12

若在此处,会出现类似以下的错误信息,则很有可能是该安装包有问题。

Error: Could not find or load main class org.apache.hadoop.util.VersionInfo1

配置环境,编辑“/etc/profile”文件,在其后添加如下信息:

export HADOOP_HOME=/usr/local/etc/hadoopexport JAVA_HOME=/usr/lib/java/jdk1.8.0_45export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin12345

使配置的变量生效:

source /etc/profile1

三、测试一下

在此我们可以运行一个简单的官方Demo:

cd `echo $HADOOP_HOME` # 到hadoop安装路径mkdir ./inputcp ./etc/hadoop/*.xml ./inputhadoop jar ./share/hadoop/maprece/hadoop-maprece-examples-*.jar grep ./input ./output 'dfs[a-z.]+'1234

输出的结果应该会是:

1 dfsadmin 1

这里有一点需要注意,该Example程序运行时不能已存在output目录,否则或将无法执行!

四、Hadoop的伪分布式环境搭建

什么是伪分布式?Hadoop 伪分布式模式是在一台机器上模拟Hadoop分布式,单机上的分布式并不是真正的分布式,而是使用线程模拟的分布式。分布式和伪分布式这两种配置也很相似,唯一不同的地方是伪分布式是在一台机器上配置,也就是名字节点(namenode)和数据节点(datanode)均是同一台机器。

需要配置的文件有core-site.xml和hdfs-site.xml这两个文件他们都位于${HADOOP_HOME}/etc/hadoop/文件夹下。其中core-site.xml:

1 <?xml version="1.0" encoding="UTF-8"?>2 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>3 <!–4 Licensed … –>18 19 <configuration>20 <property>21 <name>hadoop.tmp.dir</name>22 <value>file:/home/hadoop/tmp</value>23 <description>Abase for other temporary directories.</description>24 </property>25 <property>26 <name>fs.default.name</name>27 <value>hdfs://master:9000</value>28 </property>29 </configuration> 1234567891011121314151617

文件hdfs-site.xml的配置如下:

1 <?xml version="1.0" encoding="UTF-8"?>2 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>3 <!–4 Licensed … –>18 19 <configuration>20 <property>21 <name>dfs.replication</name>22 <value>1</value>23 </property>24 <property>25 <name>dfs.namenode.name.dir</name>26 <value>file:/home/hadoop/tmp/dfs/name</value>27 </property>28 <property>29 <name>dfs.datanode.data.dir</name>30 <value>file:/home/hadoop/tmp/dfs/data</value>31 </property> 32 </configuration>

配置完成后,执行格式化命令,使HDFS将制定的目录进行格式化:

hdfs namenode -format1

若格式化成功,在临近输出的结尾部分可看到如下信息:如果发现并没有出现如上信息,则使用刷新节点命令进行刷新:

hdfs dfsadmin -refreshNodes1

八、HDFS集群实例测试

依然是之前的那个示例,首先,创建一个数据源文件夹,并添加数据:

hdfs dfs -mkdir /input hdfs dfs -put /usr/local/etc/hadoop/etc/hadoop/*.xml /input12

运行maprece示例:

hadoop jar /usr/local/etc/hadoop/share/hadoop/maprece/hadoop-maprece-examples-*.jar grep /input /output 'dfs[a-z.]+'1

holding…

⑥ hadoop完全分布式安装slave怎么配置

Slave填写Master和Slave的IP地址,Master可以同时做Master和Slave

⑦ hadoop集群中的几个重要概念

(1)journalnode:使两个namenode之间的数据实现共享(hadoop层面的)。系统层面的是NFS。 (2)zookeeper:实现namenode的切换,确保集群只有一个active (3)格式化zkfc,让在zookeeper中生成ha节点  (4)格式化nn:就是格式化hdfs. 与普通文件系统一样,HDFS文件系统必须要先格式化,创建元数据数据结构以后才能使用。 (5)conf下的一些配置文件的作用 hadoop-env.sh:用于定义hadoop运行环境相关的配置信息,比如配置JAVA_HOME环境变量、为hadoop的JVM指定特定的选项、指定日志文件所在的目录路径以及master和slave文件的位置等; core-site.xml: 用于定义系统级别的参数,它作用于全部进程及客户端,如HDFS URL、Hadoop的临时目录以及用于rack-aware集群中的配置文件的配置等,此中的参数定义会覆盖core-default.xml文件中的默认配置; hdfs-site.xml: HDFS的相关设定,如文件副本的个数、块大小及是否使用强制权限等,此中的参数定义会覆盖hdfs-default.xml文件中的默认配置; mapred-site.xml:maprece的相关设定,如rece任务的默认个数、任务所能够使用内存的默认上下限等,此中的参数定义会覆盖mapred-default.xml文件中的默认配置; masters: hadoop的secondary-masters主机列表,当启动Hadoop时,其会在当前主机上启动NameNode和JobTracker,然后通过SSH连接此文件中的主机以作为备用NameNode; slaves:Hadoop集群的slave(datanode)和tasktracker的主机列表,master启动时会通过SSH连接至此列表中的所有主机并为其启动DataNode和taskTracker进程; Hadoop-metrics2.properties:控制metrics在hadoop上如何发布属性 Log4j.properties:系统日志文件、namenode审计日志、tarsktracker子进程的任务日志属性 (6)hadoop.tmp.dir属性用于定义Hadoop的临时目录,其默认为/tmp/hadoop-${username}。HDFS进程的许多目录默认都在此目录中,/hadoop/tmp目录,需要注意的是,要保证运行Hadoop进程的用户对其具有全部访问权限。 fs.default.name属性用于定义HDFS的名称节点和其默认的文件系统,其值是一个URI,即NameNode的RPC服务器监听的地址(可以是主机名)和端口(默认为8020)。其默认值为file:///,即本地文件系统。 dfs.name.dir属性定义的HDFS元数据持久存储路径,默认为${hadoop.tmp.dir}/dfs/name dfs.replication属性定义保存副本的数量,默认是保存3份,由于这里只有两台slave。所以设置2。 (7)可以通过修改下面几个参数对集群读写性能进行优化 dfs.datanode.handler.count(加大)DN的服务线程数。这些线程仅用于接收请求,处理业务命令 dfs.namenode.handler.count(加大)  NN的服务线程数。用于处理RPC请求 dfs.namenode.avoid.read.stale.datanode(true)决定是否避开从脏DN上读数据。脏DN指在一个指定的时间间隔内没有收到心跳信息。脏DN将被移到可以读取(写入)节点列表的尾端。尝试开启 dfs.namenode.avoid.write.stale.datanode(true)  和上面相似,是为了避免向脏DN写数据

⑧ 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)查看文件分发情况。


赞 (0)