Hadoop Single Node Cluster是只以一台机器来建立Hadoop环境,我们依然可以使用Hadoop命令,只是无法发挥使用多台机器的威力。
准备工作
Java环境
SSH无密码登陆
hadoop-2.7.6.tar
安装步骤
![](https://img.haomeiwen.com/i7792450/dc979369e7ed11e3.jpeg)
Java环境搭建
过程略,windows、linux、Mac上环境配置教程很多,这里就不赘述了,最终的结果如下即可:
![](https://img.haomeiwen.com/i7792450/02735adf70e600fc.jpeg)
设置SSH无密码登陆
注:本机测试时,设置SSH无密码这一步这一步可以先略过,在系统提示用户输入密码时输入密码即可。
Hadoop是由很多台服务器所组成的,当我们启动Hadoop时,NameNode必须与DataNode连接并管理这些节点(DataNode)。此时系统会要求用户输入密码。为了让系统顺利运行而不需要手动输入密码,需要将SSH设置为无密码登陆。 这里的无密码登陆并非不需要密码,而是以事先交换的SSH Key来进行身份验证。
Hadoop环境变量配置
解压hadoop-2.7.6.tar,目录结构如下图所示:
![](https://img.haomeiwen.com/i7792450/f13626a17d3527d8.jpeg)
常用目录说明:
目录说明
Bin:各项运行文件、包括hadoop,yarn,hdfs等
Sbin:各项shell运行文件
Etc: 各项配置文件
Lib: 函数库
Logs: 日志
环境变量
Mac OS(Linux类似,配置文件具体根据操作系统而定):
执行:vim ~/.bash_profile
添加如下内容:
export HADOOP_HOME=/Users/ash/spark/hadoop-2.7.6
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_ROOT_LOGGER=INFO,console
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
保存退出,执行source ~/.bash_profile
测试如下效果则说明,配置成功:
![](https://img.haomeiwen.com/i7792450/e2039f086ae6c85c.jpeg)
Windows
Windows环境下配置环境变量类似java配置环境变量方法,在编辑系统环境变量中添加变量:
HADOOP_HOME:HADOOP地址;
并且再Path路径中,加入HADOOP_HOME引用。
注:我这里没有windows环境,具体测试情况请告知。
Hadoop配置文件
接下来,我们对Hadoop进行配置设置,我们主要关注这几个配置文件:
Hadoop-env.sh
Core-site.xml
Yarn-site.xml
Mapred.site.xml
Hdfs-site.xml
Hadoop-env.sh
Hadoop-env.sh是Hadoop的核心运行配置文件(macOS、linux为Hadoop-env.sh,windows为Hadoop-env.cmd),这里我们需要指定一下java的安装路径。
![](https://img.haomeiwen.com/i7792450/a2d8243a45b9f936.jpeg)
修改为export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
注:如果环境变量配置JAVA_HOME一致的话这里就不用修改了。不过建议指定一下为好。
Core-site.xml
在Core-site.xml,我们需要设置HDFS的默认名称,当我们使用命令或者程序需要存取HDFS时,可使用次名称。
![](https://img.haomeiwen.com/i7792450/fafa375917f9b29b.jpeg)
Yarn-site.xml
Yarn-site.xml文件中可以配置Mapreduce2(YARN)相关的配置信息。
![](https://img.haomeiwen.com/i7792450/c210ee64f1f87608.jpeg)
Mapred.site.xml
Mapred.site.xml用于设置监控Map与Reduce程序的JobTracker任务分配情况以及TaskTracker任务运行情况。Hadoop提供了设置的模版文件。
![](https://img.haomeiwen.com/i7792450/a4b256463bf2af3d.jpeg)
Hdfs-site.xml
Hdfs-site.xml用于设置HDFS分布式文件系统,默认的blocks副本备份数量是每一个文件在其他node的备份数量,默认为3.
![](https://img.haomeiwen.com/i7792450/d3c7f8bbfbe7d8c5.jpeg)
创建并格式化HDFS目录
根据hdfs-site.xml配置的路径,创建相应目录,linux系统注意分配权限。
格式化目录:
执行hadoop namenode –format 指令。
![](https://img.haomeiwen.com/i7792450/3276ad498fec90a4.jpeg)
格式化结果如下:
![](https://img.haomeiwen.com/i7792450/6323b0129a524f92.jpeg)
注:如果HDFS已有数据,再Hadoop namenode –format 这个操作会删除所有的数据。
启动Hadoop
将HDFS存储目录格式化之后,所有的准备工作就都做好了,接下来,则需要启动Hadoop,执行方式两种:
分别启动HDFS和YARN:
执行start-dfs.sh和start-yarn.sh(windows下为cmd文件)。
同时启动HDFS和YARN:
执行start-all.sh(windows下为cmd文件)。
验证:
执行后,通过jps验证:
![](https://img.haomeiwen.com/i7792450/9b41420f1e922f9b.jpeg)
注:JPS为java虚拟机进程状态查询工具的缩写,可用于查询依托java虚拟机运行的相关进程查询。(Java Virtual Machine Process Status Tools)。
HDFS进程:
NameNode,SecondaryNameNode,DataNode。
Yarn进程:
ResourceManager,NodeManager。
Hadoop Resource-Manager Web界面
访问localhost:8088,可以看到如下主页面:
![](https://img.haomeiwen.com/i7792450/105d165886464316.jpeg)
查看已经运行的节点Nodes。
![](https://img.haomeiwen.com/i7792450/f29b735502add78c.jpeg)
因为我们安装的是Single Node Cluster,所以节点只有一个。
NameNode HDFS Web 界面
访问http://localhost:50070/,会有如下:
![](https://img.haomeiwen.com/i7792450/201a000910a515d3.jpeg)
![](https://img.haomeiwen.com/i7792450/bc64b8e39ed8dba6.jpeg)
![](https://img.haomeiwen.com/i7792450/caef8216ab545eff.jpeg)
可以通过NameNode HDFS Web界面查看启动的DataNode信息,自此,Hadoop Single Node Cluster 安装验证完成。
网友评论