想来想去,还是应该穿插着一起做起来。
毕竟,如果只写一类的话,如果遇到其他方面,一定会遗漏一些重要的点。
LeetCode 专题复盘,已经进行了一大半了。
大数据计划正式开始有更新大数据想法的时候,想着把平常要注意的问题以及重要的知识点写出来。
可是之后想着咱们读者大部分是毕业前后的学生,还是从基础的开始分享。
很多人已经在 hive、HBASE、Spark、Flink 这几个方面使用的很熟练了,也有的人虽然使用了,但还是感觉对于大数据比较模糊。
后面一步一步都把基础的、核心的、重要的点给大家分享出来。
另外,这里的计划是每天或者每两天更新一个大数据的小知识点,每天 5 分钟了解和理解一个小的知识点。
后面会逐步把 HDFS、hive、Hase、Spark、YARN、Kafka、Zookeeper等逐个突破!
跟着这个专题看下去,一定会对大数据有一个本质的理解。
感受大数据开始想着用什么内容作为开篇。
从感受开始吧!
既然是学习和感受大数据,那么,一个环境是必须要的。
下面咱们分三块内容进行分分享。
1、hadoop伪分布式环境搭建(需要的相关文件已经给大家准备好,文末可取!);
2、使用官方的 WordCount 程序进行感受;
3、自己写一个 hadoop Streaming 计算 WordCount。
ps:虽然伪分布式和wc老生常谈了,但是伪分布式用来测试功能还是不错的。另外,这两点作为大数据开篇也是完美的!
搭建一个伪分布式环境我这边是在一台服务器上搭建的,配置是2核2G。
也可以在虚拟机上搭建!
第 ① 步 安装 jdk
官网下载地址:
这边选择jdk8进行下载(文末取)
在创建 /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.xml4.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