Hadoop伪分布式集群搭建

本文详细介绍了如何在Linux环境下搭建Hadoop的伪分布式集群,包括环境准备、配置文件设置、NameNode格式化、HDFS启动以及通过WebUI进行监控。同时,还提供了wordcount程序的运行步骤,帮助读者实践Hadoop的基本操作。
摘要由CSDN通过智能技术生成

伪分布式模式介绍

1.特点
    - 在⼀台机器上安装,使⽤的是分布式思想,即分布式⽂件系统,⾮本地⽂件系统。
    - Hdfs涉及到的相关守护进程(namenode,datanode,secondarynamenode)都运⾏在⼀台机器上,都是独⽴的java进程。
2. ⽤途
	⽐Standalone mode 多了代码调试功能,允许检查内存使⽤情况,HDFS输⼊输出,以及其他的守护进程交互

伪分布式搭建环境准备

  1. 总纲
1. 确保防⽕墙是关闭状态。
2. 确保NAT模式和静态IP的确定 (192.168.10.101)
3. 确保/etc/hosts⽂件⾥, ip和hostname的映射关系
4. 确保免密登陆localhost有效
5. jdk和hadoop的环境变量配置
  1. 防⽕墙关闭确认
[root@qianfeng01 ~]# systemctl stop firewalld
[root@qianfeng01 ~]# systemctl disable firewalld.service
[root@qianfeng01 ~]# systemctl stop NetworkManager
[root@qianfeng01 ~]# systemctl disable NetworkManager
#最好也把selinux关闭掉,这是linux系统的⼀个安全机制,进⼊⽂件中将SELINUX设置为disabled
[root@qianfeng01 ~]# vi /etc/selinux/config
.........
SELINUX=disabled
.........
  1. 配置/etc/hosts⽂件
-- 进⼊hosts⽂件,配置⼀下ip和hostname
[root@qianfeng01 ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4
localhost4.localdomain4
::1 localhost localhost.localdomain localhost6
localhost6.localdomain6
192.168.10.101 qianfeng01 <====添加本机的静态IP和本机的主机名之间的映射关系
  1. 确保ssh对localhost的免密登陆认证有效
# 1. 使⽤rsa加密技术,⽣成公钥和私钥。⼀路回⻋即可
[root@qianfeng01 ~]# ssh-keygen -t rsa
# 2. 进⼊~/.ssh⽬录下,使⽤ssh-copy-id命令
[root@qianfeng01 .ssh]# ssh-copy-id root@localhost
# 3. 进⾏验证,去掉第⼀次的询问(yes/no)
[hadoop@qianfeng01 .ssh]# ssh localhost
  1. 安装Jdk和Hadoop,配置相关环境变量
-1. 上传和解压两个软件包
[root@qianfeng01 ~]# tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/local/
[root@qianfeng01 ~]# tar -zxvf hadoop-2.7.6.tar.gz -C /usr/local/

-2. 进⼊local⾥,给两个软件更名
[root@qianfeng01 ~]# cd /usr/local/
[root@qianfeng01 local]# mv 1.8.0_221/ jdk
[root@qianfeng01 local]# mv hadoop-2.7.6/ hadoop

-3. 配置环境变量
[hadoop@qianfeng01 local]# vi /etc/profile

.....省略...........

#java environment
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

#hadoop environment
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

伪分布式相关⽂件配置

  1. core-site.xml的配置
[root@qianfeng01 ~]# cd $HADOOP_HOME/etc/hadoop
[root@qianfeng01 hadoop]# vi core-site.xml
<configuration>
	<!-- 配置分布式⽂件系统的schema和ip以及port,默认8020-->
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://localhost:8020/</value>
	</property>
</configuration>
扩展: hadoop1.x的默认端⼝是9000,hadoop2.x的默认端⼝是8020,使⽤哪⼀个都可以
  1. hdfs-site.xml的配置
root@qianfeng01 hadoop]# vi hdfs-site.xml
<configuration>
    <!-- 配置副本数,注意,伪分布模式只能是1。-->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>
  1. hadoop-env.sh的配置:指定jdk的环境
[root@qianfeng01 hadoop]# vi hadoop-env.sh
................
# The java implementation to use.
export JAVA_HOME=/usr/local/jdk
..................

格式化NameNode

  1. 格式化命令
[root@qianfeng01 hadoop]# hdfs namenode -format 
  1. 格式化的⽇志解读

在这里插入图片描述

启动HDFS

  1. 启动伪分布式
[root@qianfeng01 hadoop]# start-dfs.sh 
  1. 启动滚动信息说明

在这里插入图片描述

  1. jps命令查看守护进程
从上图我们可以看到,启动脚本会开启分布式⽂件系统上的相关进程:
namenode
datanode
secondarynamenode

WebUI查看

可以在浏览器上输⼊:192.168.10.101:50070 来查看⼀下伪分布式集群的信息
--1. 浏览⼀下⻚⾯上提示的ClusterID,BlockPoolID
--2. 查看⼀下活跃节点(Live Nodes)的个数,应该是1个

Compiled:编译 hadoop是由kshvachk⼯具集成的
Cluster ID:集群id
Block Pool ID:datanode节点的block池的id,每个datanode节点的都要⼀样

在这里插入图片描述

程序案例演示:wordcount程序

  1. 准备要统计的两个⽂件,存储到/root/data/下
--1. 创建data⽬录
[root@qianfeng01 hadoop]# mkdir ~/data
--2. 将以下两个⽂件上传到data⽬录下
- poetry1.txt
- poetry2.txt
  1. 在hdfs上创建存储⽬录
[root@qianfeng01 hadoop]# hdfs dfs -mkdir /input 
  1. 将本地⽂件系统上的上传到hdfs上,并在web上查看⼀下
[root@qianfeng01 hadoop]$ hdfs dfs -put ~/data/poetry* /input/

在这里插入图片描述

  1. 运⾏⾃带的单词统计程序wordcount
[root@qianfeng01 hadoop]# cd $HADOOP_HOME
[root@qianfeng01 hadoop]# hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount /input /out

5.查看webui

在这里插入图片描述

6.查看part-r-00000⽂件

[root@qianfeng01 hadoop]# hdfs dfs -cat /out/part-r-00000 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值