萌新篇 —从零开始搭建自己的大数据环境
hadoop简介
Hadoop是一个用Java编写的Apache开源框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集。Hadoop框架工作的应用程序在跨计算机集群提供分布式存储和计算的环境中工作。Hadoop旨在从单个服务器扩展到数千个机器,每个都提供本地计算和存储。
Hadoop框架包括以下四个模块:
Hadoop Common: 这些是其他Hadoop模块所需的Java库和实用程序。这些库提供文件系统和操作系统级抽象,并包含启动Hadoop所需的Java文件和脚本。
Hadoop YARN: 这是一个用于作业调度和集群资源管理的框架。
Hadoop Distributed File System (HDFS™): 分布式文件系统,提供对应用程序数据的高吞吐量访问。
Hadoop MapReduce:这是基于YARN的用于并行处理大数据集的系统。
!
关于hadoop的详细介绍可以参考官网或者参考这篇文章:点击
前言
我事先创建好了opt文件,该文件里包含data,modules,software,tools,一般我把安装包存放在sofeware解压生成在modules。可以按照我这个方式去做,后期以便文件好找。java环境自行先安装建议使用1.8版本的,这里我就不示范了。过程使用的软件Notepad++(在这里修改配置文件比较方便),MobaXterm_Personal_20.2(远程登录linux)FlashFPX(把文件发送到linux上)。
Hadoop2.x分布式集群配置-HDFS
1、下载地址
https://downloads.apache.org/hadoop/common/hadoop-2.10.1/
hadoop有两种版本一种cdh版本,一种官网的如上,一般采用cdh版本的,它在版本兼容方面优于官网。还有尽量不要使用最新版本,最新版本在各方面集成上不如低的版本。
2、发送到虚拟机
采用FlashFPX链接虚拟机,把下载好的hadoop-2.10.1.tar.gz发送到虚拟机上。
3、给权限并解压
chmod u+x hadoop-2.5.0.tar.gz 权限
tar -zxf hadoop-2.5.0.tar.gz -C /opt/modules/
-C /opt/modules/这个可加可不加,后面是解压存放目录。
4、文档瘦身
cd hadoop-2.5.0 进入hadoop文件
cd share 进入share文件删除doc文件 rm -rf doc
cd etc/hadoop/ 进入etc下的hadoop文件删除.cmd文件 rm -rf ./*.cmd
.cmd文件在window环境下才使用的命令,在linux上用不上,可以删除。
5、配置文件
(1)、hadoop-env.sh,yarn-env.sh,配置java环境变量
echo $JAVA_HOME 查看路径
export JAVA_HOME=/opt/modules/jdk1.8.0_11 修改hadoop-env.sh中的export将查找的java路径复制上去
(2)、core-site.xml配置
<property>
<name>fs.defaultFS</name>
<value>hdfs://panda-pro01.xiong.com:9000</value>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>xiong</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.5.0/data/tmp</value>
</property>
注意修改自己的主机名,存放目录可以自己创建存放位置。
(3)、hdfs-site.xml配置
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
(4)、slaves
这里我配置的三台机器,都有datanode,所以需要有三台机器的主机名。
6、格式化
bin/hdfs namenode -format
7、打开web网站
ip地址+50070。如10.34.102.250:50070
或者hostname+50070如panda-pro01.xiong.com:50070
8、测试
bin/hdfs dfs -mkdir -p /user/xiong/data/ 创建文件夹
bin/hdfs dfs -put /opt/datas/demo.c /user/xiong/data/ 上传一个文件
bin/hdfs dfs -text /user/xiong/data/demo.c 获取文件
Hadoop2.x分布式集群配置-YARN
1、mapred-site.xml配置
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>panda-pro01.xiong.com:19888</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>panda-pro01.xiong.com:10020</value>
</property>
2、yarn-site.xml配置
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>panda-pro01.xiong.com</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>10000</value>
</property>
yarn.log-aggregation-enable日志聚集,可以历史服务器 Web 页面查看各个 Map 和 Reduce 的日志。yarn.log-aggregation.retain-seconds在HDFS上聚集的日志最多保存多长时间。
3、测试
先创建一个文本上面记录一些单词,随便写入,尽量重复一些, 以便测试效果。
bin/hdfs dfs -mkdir -p /user/xiong/data/output/ 创建一个输出目录
bin/hdfs dfs -put /opt/datas/wc.input /user/xiong/data/ 上传文本
4、启动服务
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
5、进入web界面
ip地址+50070。如10.34.102.250:8088
或者hostname+50070如panda-pro01.xiong.com:8088
6、计算并显示结果
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/xiong/data/wc.input /user/xiong/data/output/output_1
可以看到yarnweb界面有跑这个的任务,点击history可以看到job日志。这就是上面配置mapred-site.xml文件
生成的文件如下,我们要获得part文件
bin/hdfs dfs -text /user/xiong/data/output/output_1/par* 获取文件并显示结果
结束
关于hadoop的基本配置已介绍完毕,若有些细节没有get到可以自行补充,本人萌新一枚,若有错误之处还请谅解。
转载:https://blog.csdn.net/qq_52137951/article/details/115419388