Hadoop集群安装和搭建
  cnXwnAb35Qp3 2023年11月02日 55 0

 

简介

HDFS(Hadoop Distributed File System)是Apache Hadoop生态系统的一部分,是一种分布式文件系统,旨在处理大规模数据集的存储和处理。

以下是HDFS的一些关键特点和功能:

  1. 分布式存储:HDFS将数据分布式存储在多个物理节点上,以实现高容量和高可靠性。数据被划分为多个数据块(block),并在集群中的多个节点上进行复制存储,以提供容错能力和数据冗余。
  2. 扩展性:HDFS可以扩展到大规模的数据集和节点数。它可以运行在大型集群上,通过添加更多的节点来增加存储容量和数据处理能力。
  3. 容错性:HDFS通过数据的冗余复制来提供容错能力。每个数据块会在集群中的多个节点上进行复制存储,以防止节点故障导致数据丢失。
  4. 高吞吐量:HDFS优化了数据访问的方式,通过顺序读写和数据本地性原则,实现高吞吐量的数据访问。这使得HDFS适用于大数据处理任务,如批处理、数据分析和大规模并行计算。
  5. 数据局部性:HDFS将计算任务移动到存储数据的节点附近,以减少数据传输的网络开销,提高性能。这种数据局部性原则有助于优化数据处理的效率。
  6. 写一次、多次读取:HDFS适用于一次写入多次读取的应用场景。一旦数据被写入HDFS,可以多次读取和处理,以满足不同的分析和计算需求。

HDFS是Hadoop生态系统中的核心组件之一,被广泛应用于大数据处理和分析任务。它提供了可靠的分布式存储解决方案,适合用于处理大规模数据集和构建数据湖(Data Lake)等数据管理和处理系统。

1.Linux系统安装

1.环境准备
  • VMware 15.5por
  • Centos7镜像文件
  • Centos7下载链接
2.虚拟机Centos系统安装
3.静态网络配置
  1. 查看网络是否联通
ping www.baidu.com

Hadoop集群安装和搭建_hdfs

  1. 安装net-tools
yum upgrade
yum install net-tools
  1. 查看Mac地址

Hadoop集群安装和搭建_HDFS_02

  1. 查看ip地址的起始和结束地址、

Hadoop集群安装和搭建_HDFS_03

  1. 修改网络配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33

Hadoop集群安装和搭建_HDFS_04

  1. 重启网络服务,查看是否配置成功
service network restart

Hadoop集群安装和搭建_hadoop_05

  1. 网络测试,输入以下命令
  • 测试网络适配器:ping 192.168.77.2
  • 测试网关:ping 192.168.77.2
  • 测试互联网:ping www.baidu.com

如图所示,说明网络是通的,否则说明网络参数有问题

Hadoop集群安装和搭建_HDFS_06

2.虚拟机克隆配置

  1. 克隆虚拟机(右键相应虚拟机->管理->克隆)

Hadoop集群安装和搭建_hadoop_07

  1. 开启Hadoop2,修改主机名
hostnamectl set-hostname hadoop02
reboot

Hadoop集群安装和搭建_HDFS_08

  1. 查看Mac地址

Hadoop集群安装和搭建_hadoop_09

  1. 网络配置文件修改
vi /etc/sysconfig/network-scripts/ifcfg-ens33

Hadoop集群安装和搭建_hdfs_10

  1. 按照以上步骤在克隆另外一台虚拟机Hadoop03

3.配置hosts文件和ssh免密登录

  1. 修改hosts配置文件(所有虚拟机都需要配置)
vi /etc/hosts

Hadoop集群安装和搭建_HDFS_11

  1. 生成密钥文件(四次回车)
ssh-keygen -t rsa

Hadoop集群安装和搭建_hdfs_12

  1. 将本机公钥文件复制到其他虚拟机上(接收方需要开机)

在hadoop01上执行,先输入yes,后输入对应主机的密码,堕胎虚拟机配置操作相同

ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03

Hadoop集群安装和搭建_hdfs_13

  1. 在虚拟机hadoop02,hadoop03都需要执行,保证三台主机都能免密登录
  2. 查看是否免密登录

Hadoop集群安装和搭建_hdfs_14

4.Hadoop集群配置

  1. 在所有虚拟机根目录下新建文件夹app,appt文件夹中新建data、servers和software文件

Hadoop集群安装和搭建_hdfs_15

cd /
mkdir /app
mkdir /app/data
mkdir /app/servers
mkdir /app/software
  1. 准备安装包

hadoop-2.7.4.tar.gz
jdk-8u161-linux-x64.tar.gz

  1. 用Xshell依次连接hadoop1,2,3

Hadoop集群安装和搭建_hadoop_16

  1. 先进入software文件内,然后把hadoop-2.7.4.tar.gz 、jdk-8u161-linux-x64.tar.gz上传进去
cd /app/software

Hadoop集群安装和搭建_hadoop_17

  1. 按照JDK(所有虚拟机都要操作)
  1. 解压jdk
cd /app/software
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /app/servers/
  1. 重命名jdk目录
cd /app/servers
mv jdk1.8.0_161 jdk
  1. 配置环境变量
vi /etc/profile
#tip:在配置文件末尾追加
export JAVA_HOME=/app/servers/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

Hadoop集群安装和搭建_HDFS_18

  1. 使配置文件生效
source /etc/profile
  1. 查看是否配置成功
java -version

Hadoop集群安装和搭建_hadoop_19

  1. Hadoop安装(所有)
  1. 解压hadoop
cd /app/software
tar -zxvf hadoop-2.7.4.tar.gz -C /app/servers/
  1. 打开配置文件
vi /etc/profile
  1. 配置hadoop环境变量
#tip:在文件末尾追加
export HADOOP_HOME=/app/servers/hadoop-2.7.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

Hadoop集群安装和搭建_hdfs_20

  1. 使配置文件生效
source /etc/profile
  1. 查看是否配置成功
hadoop version

Hadoop集群安装和搭建_hdfs_21

  1. Hadoop集群配置
  1. 进入主节点配置目录
cd /app/servers/hadoop-2.7.4/etc/hadoop/
  1. 修改hadoop-env.sh文件
vi hadoop-env.sh
#tip:找到相应位置,添加这段话
export JAVA_HOME=/app/servers/jdk
  1. 修改core-site.xml文件
vi core-site.xml
<configuration>
    <!--用于设置Hadoop的文件系统,由URI指定-->
    <property>
        <name>fs.defaultFS</name>
        <!--用于指定namenode地址在hadoop01机器上-->
        <value>hdfs://hadoop01:9000</value>
    </property>
    <!--配置Hadoop的临时目录,默认/tem/hadoop-${user.name}-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/app/servers/hadoop-2.7.4/tmp</value>
    </property>
</configuration>
  1. 修改hdfs-site.xml文件
vi hdfs-site.xml
<configuration>
    <!--指定HDFS的数量-->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <!--secondary namenode 所在主机的IP和端口-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop01:50090</value>
    </property>
</configuration>
  1. 修改mapred-site.xml文件
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>master</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services</name>              
  <value>mapreduce_shuffle</value>     
</property>
</configuration>
  1. 修改yarn-site.xml文件
vi yarn-site.xml
<configuration>
    <!--指定YARN集群的管理者(ResourceManager)的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop01</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
  1. 修改slaves文件
#tip:将文件中的localhost删除,添加主节点和子节点的主机名称
#tip:如主节点hadoop01,子节点hadoop02和hadoop03
vi slaves
  1. 将主节点中配置号文件和hadoop目录coopy给予子节点
#tip:这里主节点为hadoop01,子节点为hadoop02和hadoop03
scp /etc/profile hadoop02:/etc/profile
scp /etc/profile hadoop03:/etc/profile
scp -r /app/ hadoop02:/
scp -r /app/ hadoop03:/
  1. 使子节点中的配置文件生效
#tip:返回hadoop02和hadoop03节点执行下面命令
source /etc/profile
  1. 使子节点格式化文件系统(successfully formatted格式化成功)
hdfs namenode -format

5.Hadoop集群测试

  1. 启动集群
  1. 在主节点启动所有HDFS服务进程
start-dfs.sh
  1. 在主节点启动所有HDFS服务进程
start-yarn.sh
  1. 使用jps命令查看进程

Hadoop集群安装和搭建_HDFS_22

Hadoop集群安装和搭建_HDFS_23

Hadoop集群安装和搭建_HDFS_24

  1. 关闭防火墙
systemctl stop firewalld    #关闭防火墙
  1. 打开window下的C:\Windows\System32\drivers\etc打开hosts文件,在文件末添加三行代码:

192.168.77.138 hadoop01
192.168.77.139 hadoop02
192.168.77.140 hadoop03

  1. 通过UI界面查看Hadoop运行状态,在windows系统下,访问http://hadoop01:50070,查看HDFS集群状态

Hadoop集群安装和搭建_HDFS_25

  1. 在windows下,访问http://hadoop01:8088,查看Yarn集群状态

Hadoop集群安装和搭建_HDFS_26

hadoop核心hdfs命令使用

(1)在hdfs分布式文件系统上新建文件存储目录

hdfs dfs -mkdir -p /user/hadoop

Hadoop集群安装和搭建_hadoop_27

(2)上传本地文件到hdfs分布式文件系统的指定目录中

hdfs dfs -put test.txt /user/hadoop/

Hadoop集群安装和搭建_hdfs_28

(3)查看hdfs分布式文件系统内容

hdfs dfs -ls /user/hadoop

Hadoop集群安装和搭建_HDFS_29

(4)查看上传文件信息

hdfs dfs -cat /user/hadoop/test.txt

Hadoop集群安装和搭建_hadoop_30

(5) 下载hdfs分布式文件系统上文件到本地目录

hdfs dfs -get /user/hadoop/test.txt

Hadoop集群安装和搭建_hadoop_31

jps

(6)删除hdfs分布式文件系统内容

hdfs dfs -rm /user/hadoop/test.txt

Hadoop集群安装和搭建_HDFS_32

Hadoop集群安装和搭建_hdfs_33

(7)运行一个简易的MapReduce程序

第一步先从本地上传进行统计计算的文件到hdfs文件系统中。例如将/app/servers/hadoop-2.7.4/etc/hadoop中的*.xml配置文件上传到hdfs的/zhu目录下,如图所示。

[root@hadoop01 ~]# hdfs dfs -mkdir -p /zhu
[root@hadoop01 ~]# hdfs dfs -put /export/servers/hadoop-2.7.4/etc/hadoop/*.xml /zhu

Hadoop集群安装和搭建_hadoop_34

第二步使用hadoop提供的一个jar包,按照正则表达式进行统计。命令如下:

jar /export/servers/hadoop-2.7.4/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar grep /zhu /optput 'dfs[a-z]+'

结果:

Hadoop集群安装和搭建_HDFS_35

启动/关闭

启动之前必须进行一次格式化操作

bin/hadoop namenode -format

启动hadoop:sbin/start-dfs.sh

关闭hadoop:sbin/stop-dfs.sh

启动yarn:sbin/start-yarn.sh

关闭yarn:sbin/stop-yarn.sh

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

cnXwnAb35Qp3
作者其他文章 更多
最新推荐 更多

2024-05-31