HDFS安装模式之伪分布式集群

1 伪分布式模式介绍

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

2 平台软件说明

- 操作系统:         win10/win7
- 虚拟软件:         VMware14
- 虚拟机:           CentOS_7.7_64_master   192.168.10.200
- 软件包存储路径:    /opt/software/
- 软件安装路径:      /opt/apps/   
- Jdk:             jdk-8u221-linux-x64.tar.gz
- Hadoop:          hadoop-2.7.6.tar.gz
- 用户:             root

3 伪分布式环境需求及搭建:

3.1 环境需求:

--1. 确保防火墙是关闭的.
--2. NAT模式和静态IP的确定 (192.168.10.200)
--3. 确保/etc/hosts文件里 ip和hostname的映射关系
--4. 确保免密登陆localhost有效
--5. jdk和hadoop的环境变量配置

3.2 防火墙关闭确认

[root@master ~]# systemctl stop firewalld
[root@master ~]# systemctl disable firewalld
​
#最好也把selinux关闭掉,这是linux系统的一个安全机制,进入文件中将SELINUX设置为disabled
[root@master ~]# vi /etc/selinux/config
.........
SELINUX=disabled            
.........

3.3 配置/etc/hosts文件

-- 进入hosts文件,配置一下ip和hostname
[root@master ~]# sudo vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
​
192.168.81.200 master     <=添加本机的静态IP和本机的主机名之间的映射关系      

3.4 确保ssh对localhost的免密登陆认证有效

-1. 使用rsa加密技术,生成公钥和私钥。一路回车即可
[root@master ~]# ssh-keygen -t rsa              
-2. 进入~/.ssh目录下,将id_rsa.pub复制一份文件,文件名为authorized_keys。保证此文件的权限是600
[root@master ~]# cd ~/.ssh          
[root@master .ssh]# cp id_rsa.pub authorized_keys
    或者使用ssh-copy-id命令
[root@master .ssh]# ssh-copy-id -i id_ras.pub root@master
-3. 进行验证:   
[hadoop@master .ssh]# ssh localhost
#输入yes后,不提示输入密码就对了

3.5 安装Jdk和Hadoop,配置相关环境变量

-1. 上传和解压两个软件包
[root@master ~]# cd /opt/software/
[root@master software]# tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt/apps/
[root@master software]# tar -zxvf hadoop-2.7.6.tar.gz -C /opt/apps/
​
-2. 进入apps里,给两个软件更名
[root@master software]# cd /opt/apps/
[root@master apps]# mv jdk1.8.0_221/  jdk
[root@master apps]# mv hadoop-2.7.6/ hadoop
​
-3. 配置环境变量
[hadoop@master apps]# vi /etc/profile
​
.....省略...........
​
#java environment
export JAVA_HOME=/opt/apps/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
​
#hadoop environment
export HADOOP_HOME=/opt/apps/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

4 伪分布式相关文件的配置

4.1 core-site.xml的配置

[root@master ~]# cd $HADOOP_HOME/etc/haoop
[root@master hadoop]# vi core-site.xml
​
<configuration>
    <!-- 配置分布式文件系统的schema和ip以及port,默认8020-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost/</value>
    </property>
</configuration>
    
扩展: hadoop1.x的默认端口是9000,hadoop2.x的默认端口是8020,使用哪一个都可以

4.2 hdfs-site.xml的配置:

[root@master hadoop]# vi hdfs-site.xml
<configuration>
    <!-- 配置副本数,注意,伪分布模式只能是1。-->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

4.3 hadoop-env.sh的配置:指定jdk的环境

[root@master hadoop]# vi hadoop-env.sh
................
# The java implementation to use.
export JAVA_HOME=/opt/apps/jdk
..................

5 格式化NameNode

5.1 格式化命令

[root@master hadoop]# hdfs namenode -format

5.2 格式化的日志解读

6 启动HDFS

6.1 启动伪分布式

[root@master hadoop]# start-dfs.sh

6.2 启动滚动信息说明

6.3 jps命令查看守护进程

从上图我们可以看到,启动脚本会开启分布式文件系统上的相关进程:

namenode
datanode
secondary namenode

7 WebUI_50070

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

8 程序案例演示:wordcount程序

8.1 准备要统计的两个文件,存储到~/data/下

--1. 创建data目录
[root@master hadoop]# mkdir ~/data
--2. 将以下两个文件上传到data目录下
- poetry1.txt
- poetry2.txt 

8.2 在hdfs上创建存储目录

[root@master hadoop]# hdfs dfs -mkdir /input

8.3 将本地文件系统上的上传到hdfs上,并在web上查看一下

[root@master hadoop]$ hdfs dfs -put ~/data/poetry* /input/

4.8.4 运行自带的单词统计程序wordcount

[root@master hadoop]# cd $HADOOP_HOME
[root@master hadoop]# hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar  wordcount /input /out

效果如下:

8.5 查看webui

8.6 查看part-r-00000文件

[root@master hadoop]# hdfs dfs -cat /out/part-r-00000
展开阅读全文
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值