【每天五分钟大数据-第一期】 伪分布式+Hadoopstreaming

想来想去,还是应该穿插着一起做起来。

毕竟,如果只写一类的话,如果遇到其他方面,一定会遗漏一些重要的点。

LeetCode 专题复盘,已经进行了一大半了。

大数据计划

正式开始有更新大数据想法的时候,想着把平常要注意的问题以及重要的知识点写出来。

可是之后想着咱们读者大部分是毕业前后的学生,还是从基础的开始分享。

很多人已经在 hive、HBASE、Spark、Flink 这几个方面使用的很熟练了,也有的人虽然使用了,但还是感觉对于大数据比较模糊。

后面一步一步都把基础的、核心的、重要的点给大家分享出来。

另外,这里的计划是每天或者每两天更新一个大数据的小知识点,每天 5 分钟了解和理解一个小的知识点

后面会逐步把 HDFS、hive、Hase、Spark、YARN、Kafka、Zookeeper等逐个突破!

跟着这个专题看下去,一定会对大数据有一个本质的理解。

【每天五分钟大数据-第一期】 伪分布式+Hadoopstreaming

感受大数据

开始想着用什么内容作为开篇。

从感受开始吧!

既然是学习和感受大数据,那么,一个环境是必须要的。

下面咱们分三块内容进行分分享。

1、hadoop伪分布式环境搭建(需要的相关文件已经给大家准备好,文末可取!);

2、使用官方的 WordCount 程序进行感受;

3、自己写一个 hadoop Streaming 计算 WordCount。

ps:虽然伪分布式和wc老生常谈了,但是伪分布式用来测试功能还是不错的。另外,这两点作为大数据开篇也是完美的!

搭建一个伪分布式环境

我这边是在一台服务器上搭建的,配置是2核2G。

也可以在虚拟机上搭建!

第 ① 步 安装 jdk

官网下载地址:

这边选择jdk8进行下载(文末取)

【每天五分钟大数据-第一期】 伪分布式+Hadoopstreaming

在创建 /usr/local/src/ 下,创建 java 文件,将 jdk 解压到这里。

mkdir -p /usr/local/src/java tar -xvf jdk-8u311-linux-x64.tar -C /usr/local/java/src

第 ② 步 配置环境变量

直接在 /etc/profile 的行末进行配置,也可以根据自己实际情况进行配置。

vim /etc/profile # 行末添加 export JAVA_HOME=http://www.likecs.com/usr/local/src/java/jdk1.8.0_311/ export PATH=$JAVA_HOME/bin:$PATH

刷新配置:

source /etc/profile

验证java是否安装成功:

# java -version java version "1.8.0_311" Java(TM) SE Runtime Environment (build 1.8.0_311-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode)

此时,以上显示就是安装成功的!

第 ③ 步 上传 hadoop 压缩包(文末取)

这里选取的是 2.6.1,然后进行解压到指定目录

mkdir -p /usr/local/src/hadoop tar -xvf hadoop-2.6.1.tar.gz -C /usr/local/src/hadoop/

第 ④ 步 修改 hadoop 配置文件

我们需要修改的文件有 5 个,位置都是在 /usr/local/src/hadoop/hadoop-2.6.1/etc/hadoop下

5 个文件分别为:

hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml.template yarn-site.xml

4.1 hadoop-env.sh 文件

该文件主要是java环境的配置,使用 vim 打开之后,进行配置。

注意:这里一定是原始的路径,而非环境变量名

export JAVA_HOME=http://www.likecs.com/usr/local/src/java/jdk1.8.0_311/

4.2 配置 core-site.xml

用于定义系统级别的参数,如HDFS URI 、Hadoop的临时目录等

<configuration> <!-- 指定hadoop所使用文件系统schema(URI形式),这里我们使用的HDFS,以及主节点NameNode的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <!-- 指定hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/src/hadoop/hadoop-2.6.1/data</value> </property> </configuration>

4.3 配置 hdfs-site.xml

这里可以定义HDFS中文件副本数量,一般情况配置为 3,但是咱们今天是伪分布式,就一台机器,设置为 1 就好。

<configuration> <!-- 指定HDFS副本数量,由于此次搭建是伪分布式,所以value指定为1 --> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>

4.4 配置 mapred-site.xml 文件

系统给的是一个模板 mapred-site.xml.template 文件,首先拷贝一份进行配置

cp mapred-site.xml.template mapred-site.xml

然后进行yarn的主节点配置,以及 map 结果传递给 reduce 的 shuffle 机制。

<configuration> <!-- 指定 yarn 的主节点地址(ResourceManager) --> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <!-- reduce 获取数据的方式,map 产生的结果传给 reduce 的机制(shuffle) --> <property> <name>yarn.nodemanager.aux.services</name> <value>mapreduce_shuffle</value> </property> </configuration>

4.5 配置 yarn-size.xml

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwdffw.html