本文主要参考 给力星的博文——Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

一些准备工作的基本步骤和步骤具体说明本文不再列出,文章中提到的“见参考”均指以上这篇博文,如有其他参考,会另外给出链接

一、创建Hadoop用户

见参考

二、更新apt

见参考

三、安装配置SSH

见参考

四、搭建Java环境

本人采用的是通过ppa源安装的方式,具体操作见:http://www.cnblogs.com/a2211009/p/4265225.html

采用这种方式时可能会出现错误error processing package oracle-java8-installer

解决方法见本人另一篇博文:http://www.cnblogs.com/VeryGoodVeryGood/p/8318105.html

通过ppa安装jdk时,会自动配置5个环境变量,包括JAVA_HOME,关于这5个环境变量的说明,详见博文:Ubuntu安装Oracle Java8以及环境变量的正确设置方法

再在~/.bashrc中添加如下环境变量

export JRE_HOME=$J2REDIR
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

让以上环境变量生效

$ source ~/.bashrc

五、安装 Hadoop

见参考

~/.bashrc中添加如下环境变量

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

让以上环境变量生效

$ source ~/.bashrc

六、配置Hadoop伪分布式

我下载的是2.9.0版本,配置文件在目录/usr/local/hadoop/etc/hadoop/

hadoop-env.sh

#export JAVA_HOME=${JAVA_HOME}
#将上面的行注释掉,用下面的行替代:
export JAVA_HOME=/usr/lib/jvm/java--oracle
#这样做是避免,Hadoop配置文件中读不到$JAVA_HOME而报错

core-site.xml,详细说明见:http://hadoop.apache.org/docs/r2.9.0/hadoop-project-dist/hadoop-common/core-default.xml

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Hadoop重要临时文件存放目录</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
<description>一种方案和权限决定文件系统实现的URI</description>
</property>
</configuration>

hdfs-site.xml,详细说明见:http://hadoop.apache.org/docs/r2.9.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>复制的块的数量</description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
<description>DFS管理节点的本地存储路径</description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
<description>DFS数据节点的本地存储路径</description>
</property>
</configuration>

mapred-site.xml,详细说明见:http://hadoop.apache.org/docs/r2.9.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

先重命名

$ mv mapred-site.xml.template mapred-site.xml

再配置

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<description>执行MapReduce作业时运行的框架</description>
</property>
</configuration>

yarn-site.xml,详细说明见:http://hadoop.apache.org/docs/r2.9.0/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>NodeManager的辅助服务</description>
</property>
</configuration>

七、启动和关闭Hadoop

0. 格式化NameNode(更改配置后才执行这一步)

hdfs namenode -format

下面步骤中运行的脚本均在目录/usr/local/hadoop/sbin/中,因为在环境变量PATH里增加了该路径,所以在运行时不必指定脚本路径

1. 开启NameNodeDataNode守护进程

$ start-dfs.sh

2. 启动YARN

$ start-yarn.sh

3. 判断是否成功启动

$ jps

若成功启动会看见6个进程,分别是:Jps、DataNode、NameNode、SecondaryNameNode、NodeManager、ResourceManager

若未配置YARN,则会看见4个进程,分别是:Jps、DataNode、NameNode、SecondaryNameNode

成功启动后,可以访问Web界面http://localhost:50070/查看NameNode和DataNode的信息以及在线查看HDFS中的文件

4. 关闭Hadoop

$ stop-dfs.sh
$ stop-yarn.sh

12步替代

$ start-all.sh

4步替代

$ stop-all.sh

八、伪分布式实例

1. 在HDFS中创建用户目录

$ hdfs dfs -mkdir -p /user/hadoop

2. 创建input目录

$ hdfs dfs -mkdir input

3. 将本地文件复制到input里

$ hdfs dfs -put ./etc/hadoop/*.xml input

4. 查看文件列表

$ hdfs dfs -ls input

5. 操作

$ hdfs dfs -rm -r output #Hadoop运行程序时,输出目录不能存在,否则会提示错误
$ hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'

6. 查看运行结果

$ hdfs dfs -cat output/*

7. 将运行结果取回本地

$ rm -r ./output #先删除本地output目录
$ hdfs dfs -get output ./output
$ cat ./output/*

8. 删除output目录

$ hdfs dfs -rm -r output
$ rm -r ./output

以上

最新文章

  1. 《Android NFC 开发实战详解 》简介+源码+样章+勘误ING
  2. SQLite 的创建与编辑
  3. SpringRMI解析1-使用示例
  4. 允许CEF跨域访问iframe
  5. 【转】set容器的基本操作
  6. Synergy
  7. 电赛菜鸟营培训(二)&mdash;&mdash;STM32F103CB之中断控制
  8. 三道题(关于虚表指针位置/合成64位ID/利用栈实现四则运算)
  9. 拒绝卡顿——在WPF中使用多线程更新UI
  10. python中快速删除实例对象中的所有属性
  11. 关于iOS上的对象映射公用方法-备
  12. PHP and java
  13. c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)
  14. javascript概要学习
  15. Ubuntu安装软件提示boot空间不足
  16. hdu5125 树状数组+dp
  17. 封装jQuery下载文件组件
  18. jsp中文乱码解决办法
  19. SQL Server 之 修改时不允许保存更改
  20. MongoDB启动报错

热门文章

  1. Java中native关键字使用
  2. Windows Server 2016 下执行定时任务(英文系统)
  3. Python获取指定路径下所有文件的绝对路径
  4. window下安装mysql详细步骤
  5. Touch事件分发机制
  6. 0406-服务注册与发现-客户端feign-使用、配置、日志、timeout
  7. BeanUtils.copyProperties()
  8. C#设置当前程序通过IE代理服务器上网
  9. java反射基础知识(一)
  10. go——字典(二)