本文主要讲述怎么搭建和配置一个单节点的hadoop集群,以便使用mapreduce和hdfs快速的执行一些简单的操作。
1:linux操作系统。
2: jdk
3: ssh (yum install ssh)
4: rsync (yum install rsync)
5: 配置SSH
sshkeygen
ssh-coye-id -i ~/.ssh/id_rsa [email protected]
1:解压hadoop的安装包,然后编辑etc/hadoop/hadoop-env.sh. 配置JAVA_HOME和 HADOOP_PREFIX(hadoop_home)参数。
安装模式:
默认情况下,hadoop运行在本地模式:一个jvm进程,主要用来debugs
下面的例子复制配置文件作为输入,然后找到符合正则表达式的字段。输出道output目录
$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.0.jar grep input output 'dfs[a-z.]+'
$ cat output/*
2:伪分布式模式
hadoop可以以伪分布式的模式运行在一个节点上,hadoop服务运行在几个独立的进程上。
配置 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/tmp</value>
</property>
</configuration>
配置 hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/name</value>
<
final
>
true
</
final
>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/data</value>
<
final
>
true
</
final
>
</property>
<property>
<name>dfs.replication</name>
<value>
1
</value>
</property>
<property>
<name>dfs.permissions</name>
<value>
false
</value>
</property>
</configuration>
执行如下命令
1:hdfs namenode -format
2: sbin/start-dfs.sh
3:通过web接口查看namenode状态 http://namenode:50070/
这里hdfs已经配置运行成了。
下面是配置伪分布式模式下面的YARN
1:配置mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
配置yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
2: 启动ResourceManager和NodeManger进程。
sbin/start-yarn.sh
3: 浏览ResourceManger的web服务, http://localhost:8088/
4: 停止这个守护进程 sbin/stop-yarn.sh
mapreduce.framework.name
这个参数有三个属性:local,classis,yarn;
1 classis:任务提交给jobtracker ,它的地址是通过mapreduce.jobtracker.address设置。
2 yarn:任务提交给resource manger中的application master。 它的地址是通过yarn.resourcemanager.address设置。
3 local:如果想在本地使用mapreduce,那么使用mapreduce.framework.name和mapreduce.jobtracker.address都设置为local就行了。如果不想启动hdfs.那么设置fs.defaultFs为file:///
来自为知笔记(Wiz)