Linux 环境安装
在VMware创建虚拟机,使用一主三从的架构,Linux版本为最新的7.6.1810,使用最小安装.
首先是下载镜像文件:下载链接
修改主机名,需要重新登陆才能生效.
虚拟机挂在一边即可,可以使用xshell连接
准备好jdk: jdk-8u221-linux-x64.tar.gz 在Oracle官网上下载
创建一个java目录,然后上传下载的jdk
解压到/opt目录下
然后添加环境变量
更新一下环境变量,然后查看一下java版本
到此一台具备java环境的Linux虚拟机搭建完成,拍摄一下快照.
Hadoop本地模式安装
Hadoop部署模式有:本地模式、伪分布模式、完全分布式模式、HA完全分布式模式.
区分的依据是NameNode、DataNode、ResourceManager、NodeManager等模块运行在几个JVM进程、几个机器。
Hadoop 当前的版本:
这里下载3.2.0版本,下载链接
在root目录下创建hadoop目录,然后把下载的压缩包上传
解压到/opt目录下
本地模式是最简单的模式,所有模块都运行与一个JVM进程中,使用的本地文件系统,而不是HDFS,本地模式主要是用于本地开发过程中的运行调试用。下载hadoop安装包后不用任何设置,默认的就是本地模式。
解压hadoop后就是直接可以使用
运行MapReduce程序,验证
我们这里用hadoop自带的wordcount例子来在本地模式下测试跑mapreduce。
前提保证:
首先准备一个文本文件
然后调用mapreduce例子,使用的是wordcount功能
bash bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.0.jar wordcount ./test.txt ./output.txt
傻了,后面指定的是输出的目录,该目录下面有两个文件,一个是成功的标志,一个是wordcount输出的结果
Hadoop伪分布式模式安装
伪分布式其实是一台机器上的模拟,所以还是先使用一台虚拟机做.
首先要拍下快照保存一下,
接下来要配置两个文件:core-site.xml ,hdfs-site.xml
先配置core-site.xml:
输入以下配置
<configuration>
<!--指定namenode的地址-->
<property> <name>fs.defaultFS</name> <value>hdfs://namenode:8020</value> </property> <!--用来指定使用hadoop时产生文件的存放目录--> <property> <name>hadoop.tmp.dir</name> <value>/opt/data/tmp/</value> </property> <!--用来设置检查点备份日志的最长时间--> <name>fs.checkpoint.period</name> <value>3600</value> </configuration>
接着配置hdfs-site.xml
<configuration>
<!--指定hdfs保存数据的副本数量-->
<property> <name>dfs.replication</name> <value>1</value> </property> <!--指定hdfs中namenode的存储位置--> <property> <name>dfs.namenode.name.dir</name> <value>/opt/data/tmp/dfs/name</value> </property> <!--指定hdfs中datanode的存储位置--> <property> <name>dfs.datanode.data.dir</name> <value>file:/data/hadoop/hadoop-2.6.0/tmp/dfs/data</value> </property> </configuration>
dfs.replication配置的是HDFS存储时的备份数量,因为这里是伪分布式环境只有一个节点,所以这里设置为1。
接下来格式化hdfs
已经在指定目录创建好namenode结点
接下来启动namenode结点
使用jps查看当前运行
接着启动DataNote和SecondaryNameNode
接着就可以上传文件了
其实存放这些小文件是很不对的,因为分布式文件系统一般都是用来存储大文件.这里为了学习将就一下,同时也发现速度很慢,所以不合适存放小文件.
转载于: