1 什么是Hadoop?
Apache Hadoop是稳定可靠、可扩展、分布式计算的开源软件。
Apache Hadoop软件类库是使用简单的编程模型通过计算机集群分布式处理大数据集的框架,它被
设计为从单台服务器到成千上万台机器的纵向伸缩扩展,每台服务器都能提供本地计算和存储。
而不是利用硬件来实现高可用性,类库自身被设计为在应用层检测和处理故障,因此,可以在计
算机集群上提供高可用。
该项目包括以下模块:
- Hadoop Common:公共工具类,支持其它Hadoop模块。
- Hadoop Distributed File System(HDFS):提供高吞吐访问应用数据的分布式文件系统。
- Hadoop YARN:任务调度和集群资源管理框架。
- Hadoop MapReduce:基于YARN的并行大数据集处理系统。
2 下载安装
下载并解压Hadoop:
tar -zxvf 压缩文件名.tar.gz
修改Hadoop根目录下的etc/hadoop/hadoop-env.sh
export JAVA_HOME=JDK根目录
3 本地模式
mkdir input
cp etc/hadoop/*.xml input
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
cat output/*
4 伪分布式模式
4.1 配置
${HADOOP_HOME}/etc/hadoop/core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
${HADOOP_HOME}/etc/hadoop/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
4.2 执行
MapReduce
- 格式化文件系统
bin/hdfs namenode -format
- 后台启动NameNode和DataNode,后台输出日志到$HADOOP_LOG_DIR目录,即$HADOOP_HOME/logs。
sbin/start-dfs.sh
- 浏览NameNode的Web界面:http://localhost:50070/
- 创建HDFS目录
bin/hdfs dfs -mkdir /目录名
- 复制文件到分布式文件系统中
bin/hdfs dfs -put 源目录 分布式文件系统目录(目标目录)
- 运行Hadoop提供的例子
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
- 从分布式文件系统复制文件到本地文件系统并检查它们
bin/hdfs dfs -get output output
cat output/*
或浏览分布式文件系统中的文件
bin/hdfs dfs -cat output/*
- 停止后台进程
sbin/stop-dfs.sh
YARN
- 配置
${HADOOP_HOME}/etc/hadoop/mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
${HADOOP_HOME}/etc/hadoop/yarn-site.xml:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
- 后台启动ResourceManager和NodeManager
sbin/start-yarn.sh
- 浏览ResourceManager Web界面:http://localhost:8088/
- 运行MapReduce任务
- 停止后台进程
sbin/stop-yarn.sh
5 完全的分布式模式
以后再做讨论