Hadoop伪分布式搭建
前言
hadoop集群模式:
模式 | 描述 |
---|---|
本地模式 | 单机运行,只是用来演示一下官方案例 |
伪分布式模式 | 单机运行,但是具备Hadoop集群的所有功能,一台服务器模拟一个分布式的环境 |
完全分布式模式 | 多台服务器组成分布式环境 |
教程使用环境:
操作环境 | 主机名 | IP地址 | JDK | Hadoop版本 |
---|---|---|---|---|
CentOS7 | hadoop101 | 192.168.128.101 | jdk1.8.0_191 | hadoop-2.7.2 |
安装Hadoop
hadoop上传与解压
配置好自己的虚拟机后,可以自行在网上下载xftp和xshell,对虚拟机进行远程上传文件和远程操作。
下载安装好这两款软件后,就可以将hadoop的解压包上传至虚拟机,将解压包上传至/opt/software中,开始解压hadoop,将hadoop解压至/opt/module/中,同时建议将java也解压至/opt/module/中,方便后面的管理。
配置环境变量
vi /etc/profile
具体配置:
在/etc/profile的最后面添加如下配置,关于vi编辑器的用法可以自行百度
export JAVA_HOME=/opt/module/jdk1.8.0_191
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
使环境变量生效
source /etc/profile
测试环境变量是否生效
hadoop version
成功则显示
Hadoop 2.7.2
Subversion Unknown -r Unknown
Compiled by root on 2017-05-22T10:49Z
Compiled with protoc 2.5.0
From source with checksum d0fda26633fa762bff87ec759ebe689c
This command was run using /opt/module/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar
配置Hadoop
在伪分布式里只需要改三个配置文件core-site.xml和hdfs-site.xml还有hadoop-env.sh
这三个文件在hadoop目录下的etc/hadoop文件夹下
core-site.xml文件包含了NameNode主机地址,监听端口等信息,对于这个伪分布式模型来说,我的主机地址为hadoo101,NameNode默认使用的端口为8020。
修改core-site.xml
<configuration>
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:8020</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
</configuration>
修改hdfs-site.xml
hdfs-site.xml用于配置/HDFS的相关属性,例如数据块的副本参数,数据块的副本对于伪分布式来说应该为1
<configuration>
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
修改hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_191
初始化Hadoop
hdfs namenode -format
初始化成功:
启动Hadoop集群
在hadoop-2.7.2目录下输入
sbin/start-dfs.sh
sbin/start-yarn.sh
或
sbin/start-all.sh
可以在web端查看HDFS文件系统
192.168.128.171是我的ip地址,如果配置的不同,改一下即可