安装方式:伪分布式,让进程跑在一台机器上,只是他们的端口不一样 官方快速配置文档:
http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html
使用rz命令上传并解压
tar -zxvf hadoop-2.7.3.tar.gz -C ../modules/
hadoop目录结构及删除.cmd后缀文件
sbin为启动服务进程相关命令
bin是提交应用或HDFS对文件进行操作的命令
分别配置以下文件环境变量
hadoop-env.sh、yarn-env.sh、mapred-env.sh
配置common模块xml文件
core-site.xml (相关内容可在官方文档中查看)
配置HDFS模块xml文件
hdfs-site.xml
slaves:指定DataNode运行在那些机器上
说明:如果有多个机器,一行一个(localhost改掉)
启动HDFS
(1)对文件系统进行格式化
bin/hdfs namenode -format
注意:只需要格式化一次即可
(2)格式化成功的标准:
显示状态为 0。
如果进行了第二次格式化,格式化之前:将临时目录删除
(3)启动服务
主节点:sbin/hadoop-daemon.sh start namenode
从节点:sbin/hadoop-daemon.sh start datanode
(4)验证是否启动
方式一:jps
方式二:通过web ui查看
hdfs web ui端口是50070
测试HDFS
帮助命令;
bin/hdfs dfs
创建目录
bin/hdfs dfs -mkdir -p /datas/tmp
上传文件:Linux -》HDFS
bin/hdfs dfs -put /opt/datas/wordcount /datas/tmp/
列举目录文件:
bin/hdfs dfs -ls /datas/
查看文件内容
bin/hdfs dfs -cat /datas/tmp/wordcount
删除文件
bin/hdfs dfs -rm -r -f /datas/tmp/wordcount
下载文件(HDFS->linux):
bin/hdfs dfs -get /datas/tmp/wordcount /opt/modules/
配置yarn模块
对于分布式资源管理和任务调度框架来说
在Yarn上面能够运行很多种应用程序
MapReduce
并行数据处理框架
Spark
基于内存分布式计算框架
Storm/Flink
实时流式计算框架
Tez
分析数据,比MapReduce速度快
主节点:ResouceManager
从节点:Nodemanager
yarn-site.xml
slaves 前面配置hsfs时已经配置过了。
启动yarn
主节点
sbin/yarn-daemon.sh start resourcemanager
从节点
sbin/yarn-daemon.sh start nodemanager
验证是否启动
方式一:jps
方式二:通过web UI 端口8088
配置mapreduce模块
首先重命名hadoop etc下xml配置文件
mv mapred-site.xml.template mapred-site.xml
修改mapred-site.xml
测试MapReduce程序
程序运行在Yarn,读取HDFS上的数据进行处理
准备好前面测试HDFS时候的数据:/datas/tmp/wordcount
运行MapReduce程序
Hadoop框架给我们提供了测试程序
/opt/modules/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
程序提交到Yarn上运行只有一种方式:bin/yarn jar
实例:
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /datas/tmp/wordcount /datas/mapreduce/output1
结果查看在8088端口