首页 > 其他分享 >Hadoop集群安装和搭建

Hadoop集群安装和搭建

时间:2023-09-05 18:36:22浏览次数:33  
标签:hdfs HDFS app hadoop Hadoop etc 集群 节点 搭建

 

简介

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集群安装和搭建_hadoop_02

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

Hadoop集群安装和搭建_hdfs_03

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

Hadoop集群安装和搭建_hadoop_04

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

Hadoop集群安装和搭建_hadoop_05

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

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

Hadoop集群安装和搭建_hadoop_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集群安装和搭建_hadoop_14

4.Hadoop集群配置

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

Hadoop集群安装和搭建_hadoop_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集群安装和搭建_HDFS_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集群安装和搭建_HDFS_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集群安装和搭建_hadoop_29

(4)查看上传文件信息

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

Hadoop集群安装和搭建_HDFS_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集群安装和搭建_hadoop_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集群安装和搭建_HDFS_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集群安装和搭建_hadoop_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

标签:hdfs,HDFS,app,hadoop,Hadoop,etc,集群,节点,搭建
From: https://blog.51cto.com/u_16248628/7378012

相关文章

  • 持币生息理财模式系统开发(源码搭建)
    持币生息钱包即代币持有者通过质押、投票、委托和锁定代币等行为获取区块奖励以及分红等收益。通俗一点讲,就是一种持币者“以币生币”的投资方式,有点类似于银行的储蓄生息(持币生息),所以我们通常叫它POS权益质押经济。区块链是什么意思?区块链的定义:区块链是一个共享的、不可改变的......
  • 自行搭建kms服务
    一、使用Docker搭建KMS服务器安装dockerDocker教程|菜鸟教程(runoob.com)拉取kms镜像文件dockerpullluodaoyi/kms-server运行镜像dockerrun-itd-p1688:1688--namekmsluodaoyi/kms-server搭建完毕把服务器IP内网DNS解析为kms.yourdomain.......
  • redis cluster集群安装(CentOS7 + redis 5.0.14)
    Linux系统-部署-运维系列导航 rediscluster介绍redis最开始使用主从模式做集群,若master宕机需要手动配置slave转为master;后来为了高可用提出来哨兵模式,该模式下有一个哨兵监视master和slave,若master宕机可自动将slave转为master,但它也有一个问题,就是不能动态扩充;所以在3.x提......
  • kafka集群安装(CentOS7 + kafka 2.7.1)
    Linux系统-部署-运维系列导航 kafka介绍Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源......
  • zookeeper集群安装(CentOS7 + zookeeper 3.7.0)
    Linux系统-部署-运维系列导航 zookeeper介绍ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 zo......
  • 前端项目环境搭建笔记
    @目录简介一、vue3组件通信方式1.1props1.2自定义事件1.2.1原生DOM事件1.2.2自定义事件1.3全局事件总线1.4v-model1.5useAttrs1.6ref与$parent1.7provide与inject1.8pinia1.9slot二、搭建后台管理系统模板2.1项目初始化2.1.1环境准备2.1.2初始化项目2.2项目配置一、eslint......
  • 搭建Ubuntu 22.04可视化界面
    执行以下命令,清空缓存,更新您的软件包列表。sudoaptcleanall&&sudoaptupdate执行以下命令,安装桌面环境所需软件包。包括系统面板、窗口管理器、文件浏览器、终端等桌面应用程序。sudoaptinstallgnome-panelgnome-settings-daemonmetacitynautilusgnome-terminal......
  • Linux搭建GitLab私有仓库
    前言GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。Gitlab是被广泛使用的基于git的开源代码管理平台,基于RubyonRails构建,主要针对软件开发过程中产生的代码和文档进行管理,Gitlab主要针对group和project两个维度进行代......
  • rocetmq搭建控制台
    1.概述使用单机版进行搭建社区提供了控制台:https://github.com/apache/rocketmq-dashboardmvncleanpackage-Dmaven.test.skip=true 2.环境变量但是这个时候要注意,在这个项目的application.yml中需要指定nameserver的地址。默认这个属性是指向本地。如果......
  • ES集群搜索稳定性保障
    如果将Elasticsearch(ES)作为线上C端服务的查询引擎,那么searchquery的响应时间则至关重要。因为毕竟面向C端用户,如果一个搜索请求1秒内还未返回,那么用户将不可接受。因此,C端服务对ES的性能稳定性做了许多工程上的优化,比如:强制将索引的段文件设置为1,也即索引中只有一个段文......