首页 > 系统相关 >Linux搭建Hadoop-2.7.2分布式集群

Linux搭建Hadoop-2.7.2分布式集群

时间:2022-12-30 16:38:22浏览次数:40  
标签:2.7 hadoop Hadoop master usr Linux root

Hadoop 简介

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),其中一个组件是HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。

Hadoop 优点

Hadoop是一个能够对大量数据进行分布式处理的软件框架。Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理。

Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。

Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。

Hadoop 还是可伸缩的,能够处理PB级数据。

此外,Hadoop 依赖于社区服务,因此它的成本比较低,任何人都可以使用。

Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:

  • 高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖 。
  • 高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
  • 高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快 。
  • 高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配 。
  • 低成本。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。

Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop上的应用程序也可以使用其他语言编写,比如C++。

系统准备:

操作系统:CentOS Linux release 7.8.2003

软件版本:

hadoop:hadoop-2.7.2.tar.gz

JDK:jdk-8u181-linux-x64.tar.gz

集群规划:

节点名称

操作系统

IP地址

master

CentOS Linux release 7.8.2003

172.168.1.157

node1

CentOS Linux release 7.8.2003

172.168.1.158

node2

CentOS Linux release 7.8.2003

172.168.1.159

一、JAVA环境部署

1、安装包准备

版本:jdk-8u181

下载地址:https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html

2、安装步骤

1)解压JDK软件包

[root@localhost ~]# tar zxf jdk-8u181-linux-x64.tar.gz -C /usr/local

2)配置系统环境变量

[root@localhost ~]# vim /etc/profile

# 加入以下内容


  1. export JAVA_HOME=/usr/local/jdk1.8.0_181
  2. export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
  3. export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

执行source /etc/profile使其生效

3)使用java、javac等命令验证是否安装成功

[root@master ~]# java -version

java version "1.8.0_181"

Java(TM) SE Runtime Environment (build 1.8.0_181-b13)

Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

二、Hadoop安装

1)配置主机名(所有节点)

[root@localhost ~]# hostnamectl set-hostname master

[root@localhost ~]# hostnamectl set-hostname node1

[root@localhost ~]# hostnamectl set-hostname node2

2)配置hosts文件

[root@master ~]# vim /etc/hosts

# 添加以下内容


  1. 172.168.1.157 master
  2. 172.168.1.158 node1
  3. 172.168.1.159 node2

3)配置免密钥

[root@master ~]# ssh-keygen

# 输入三次确定

Linux搭建Hadoop-2.7.2分布式集群_hadoop

[root@master ~]# ssh-copy-id root@master

[root@master ~]# ssh-copy-id root@node1

[root@master ~]# ssh-copy-id root@node2

Linux搭建Hadoop-2.7.2分布式集群_Hadoop_02

4)拷贝hosts文件到各节点

[root@master ~]# scp /etc/hosts root@node1:/etc/

[root@master ~]# scp /etc/hosts root@node2:/etc/

5)下载Hadoop

[root@master ~]# wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz

6)解压

[root@master ~]# tar xf hadoop-2.7.2.tar.gz -C /usr/local

7)配置环境变量

[root@master ~]# vim /etc/profile

# 加入以下内容


  1. export Hadoop_Home=/usr/local/hadoop-2.7.2
  2. export PATH=$PATH:$Hadoop_Home/bin

[root@master ~]# source /etc/profile

8)拷贝/etc/profile文件到各节点

[root@master ~]# scp /etc/profile root@node1:/etc/

[root@master ~]# scp /etc/profile root@node2:/etc/

三、Hadoop配置

1)配置hadoop-env.sh

[root@master ~]# cd /usr/local/hadoop-2.7.2/etc/hadoop/

[root@master hadoop]# vim hadoop-env.sh

# 加入以下内容


  1. export JAVA_HOME=/usr/local/jdk1.8.0_181
  2. export HADOOP_PREFIX=/usr/local/hadoop-2.7.2

2)配置yarn-env.sh

[root@master hadoop]# sed -i '/HADOOP_YARN_USER/iexport JAVA_HOME=/usr/local/jdk1.8.0_181/' yarn-env.sh

3)配置core-site.xml

[root@master hadoop]# mkdir /usr/local/hadoop-2.7.2/tmp

[root@master hadoop]# vim core-site.xml

# 加入以下内容


  1. <configuration>
  2. <property>
  3. <name>fs.defaultFS</name>
  4. <value>hdfs://master:9000</value>
  5. </property>
  6. <property>
  7. <name>hadoop.tmp.dir</name>
  8. <value>/mnt/hadoop/tmp</value>
  9. </property>
  10. </configuration>

4)配置hdfs-site.xml

[root@master hadoop]# vim hdfs-site.xml

# 加入以下内容


  1. <configuration>
  2. <property>
  3. <name>dfs.replication</name>
  4. <value>3</value>
  5. </property>
  6. <property>
  7. <name>dfs.namenode.name.dir</name>
  8. <value>file:/mnt/hadoop/dfs/name</value>
  9. </property>
  10. <property>
  11. <name>dfs.datanode.data.dir</name>
  12. <value>file:/mnt/hadoop/dfs/data</value>
  13. </property>
  14. </configuration>

5)配置mapred-site.xml

[root@master hadoop]# vim mapred-site.xml

# 加入以下内容


  1. <configuration>
  2. <property>
  3. <name>mapreduce.framework.name</name>
  4. <value>yarn</value>
  5. </property>
  6. <property>
  7. <name>mapreduce.jobhistory.address</name>
  8. <value>master:10020</value>
  9. </property>
  10. <property>
  11. <name>mapreduce.jobhistory.webapp.address</name>
  12. <value>master:19888</value>
  13. </property>
  14. </configuration>

6)配置yarn-site.xml

[root@master hadoop]# vim yarn-site.xml

# 加入以下内容


  1. <configuration>
  2. <!-- Site specific YARN configuration properties -->
  3. <property>
  4. <name>yarn.nodemanager.aux-services</name>
  5. <value>mapreduce_shuffle</value>
  6. </property>
  7. <property>
  8. <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  9. <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  10. </property>
  11. <property>
  12. <name>yarn.resourcemanager.address</name>
  13. <value>master:8032</value>
  14. </property>
  15. <property>
  16. <name>yarn.resourcemanager.scheduler.address</name>
  17. <value>master:8030</value>
  18. </property>
  19. <property>
  20. <name>yarn.resourcemanager.resource-tracker.address</name>
  21. <value>master:8031</value>
  22. </property>
  23. <property>
  24. <name>yarn.resourcemanager.admin.address</name>
  25. <value>master:8033</value>
  26. </property>
  27. <property>
  28. <name>yarn.resourcemanager.webapp.address</name>
  29. <value>master:8088</value>
  30. </property>
  31. </configuration>

7)配置slaves

[root@master hadoop]# vim slaves

# 加入以下内容


  1. master
  2. node1
  3. node2

8)拷贝Hadoop安装目录到两个Slave节点

[root@master hadoop]# scp -r /usr/local/hadoop-2.7.2/ root@node2:/usr/local

[root@master hadoop]# scp -r /usr/local/hadoop-2.7.2/ root@node1:/usr/local

9)在slave节点执行source /etc/profile

[root@node1 ~]# source /etc/profile

[root@node2 ~]# source /etc/profile

四、Hadoop使用

1)格式化NameNode

# Master节点上,执行如下命令

[root@master hadoop]# hdfs namenode -format

2)启动HDFS(NameNode、DataNode)

# Master节点上,执行如下命令

[root@master hadoop]# cd ../../sbin

[root@master sbin]# ./start-dfs.sh

Starting namenodes on [master]

master: starting namenode, logging to /usr/local/hadoop-2.7.2/logs/hadoop-root-namenode-master.out

node1: starting datanode, logging to /usr/local/hadoop-2.7.2/logs/hadoop-root-datanode-node1.out

master: starting datanode, logging to /usr/local/hadoop-2.7.2/logs/hadoop-root-datanode-master.out

node2: starting datanode, logging to /usr/local/hadoop-2.7.2/logs/hadoop-root-datanode-node2.out

Starting secondary namenodes [0.0.0.0]

0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop-2.7.2/logs/hadoop-root-secondarynamenode-master.out

3)使用jps命令查看进程(所有节点)

[root@master sbin]# jps

3267 NameNode

3403 DataNode

3581 SecondaryNameNode

3726 Jps

[root@node1 ~]# jps

1799 DataNode

1882 Jps

[root@node2 ~]# jps

2837 DataNode

2921 Jps

4)启动 Yarn(ResourceManager 、NodeManager)

[root@master sbin]# ./start-yarn.sh

starting yarn daemons

starting resourcemanager, logging to /usr/local/hadoop-2.7.2/logs/yarn-root-resourcemanager-master.out

node1: starting nodemanager, logging to /usr/local/hadoop-2.7.2/logs/yarn-root-nodemanager-node1.out

master: starting nodemanager, logging to /usr/local/hadoop-2.7.2/logs/yarn-root-nodemanager-master.out

node2: starting nodemanager, logging to /usr/local/hadoop-2.7.2/logs/yarn-root-nodemanager-node2.out

5)使用jps命令查看进程(所有节点)

[root@master sbin]# jps

3267 NameNode

4211 Jps

3892 NodeManager

3786 ResourceManager

3403 DataNode

3581 SecondaryNameNode

[root@node1 ~]# jps

2050 Jps

1799 DataNode

1927 NodeManager

[root@node2 ~]# jps

2837 DataNode

3173 Jps

3050 NodeManager

6)查看HDFS信息

# 浏览器输入http://172.168.1.157:50070

Linux搭建Hadoop-2.7.2分布式集群_vim_03

7)查看Yarn信息

# 浏览器输入http://172.168.1.157:8088

Linux搭建Hadoop-2.7.2分布式集群_hadoop_04

8)停止Yarn及HDFS

[root@master sbin]# ./stop-yarn.sh

[root@master sbin]# ./stop-dfs.sh

至此,Hadoop分布式集群搭建完毕。

  • 输入编号:7546,直达文章
  • 输入m|M,直达目录列表

标签:2.7,hadoop,Hadoop,master,usr,Linux,root
From: https://blog.51cto.com/u_12018693/5980609

相关文章

  • Linux一键部署ELK日志平台自动化脚本
    此脚本是Linux一键部署ELK日志平台自动化脚本,有需要朋友可以参考,脚本内容如下:环境准备操作系统:CentOSLinuxrelease7.8.2003软件版本elasticsearch:elasticsearch-7.5.1-li......
  • Linux搭建ELK+Filebeat+Nginx+Redis分布式日志管理平台
    ELK介绍需求背景业务发展越来越庞大,服务器越来越多各种访问日志、应用日志、错误日志量越来越多,导致运维人员无法很好的去管理日志开发人员排查问题,需要到服务器上查日志,不......
  • Linux搭建ELK-7.5.1分布式集群并且配置X-Pack
    ELK介绍需求背景业务发展越来越庞大,服务器越来越多各种访问日志、应用日志、错误日志量越来越多,导致运维人员无法很好的去管理日志开发人员排查问题,需要到服务器上查日志,不......
  • Linux下iostat命令详解
    一、iostat命令简介iostat是I/Ostatistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。io......
  • Linux性能分析工具vmstat
    1、vmstat简介vmstat(VirtualMemoryStatistics虚拟内存统计)命令用来显示Linux系统虚拟内存状态,也可以报告关于进程、内存、I/O等系统整体运行状态。vmstat命令报告关......
  • Linux终端小工具之tldr
    在终端上使用各种命令执行重要任务是Linux桌面体验中不可或缺的一部分。Linux这个开源操作系统拥有丰富的命令,任何用户都无法全部记住所有这些命令。而使事情变得更复杂......
  • Linux命令
    date显示系统当前如期和时间ifconfig查看IP地址who查看几个用户在线ls查看当前目录文件夹systemtctl服务名称startstoprestartiptables-L-v-n查看服务器有......
  • SELinux
    selinux的工作模式参考:http://c.biancheng.net/view/3906.htmlDisable(关闭模式)Selinux被关闭,默认的DAC访问控制方式被使用。Permissve(宽容模式)SELinux被启......
  • linux存储设备识别fc模式
    1.环境存储使用fc模式链接到服务器:服务器【QLE2692光纤卡】--光纤交换机【已划zone】--存储【已映射】多路径软件:multipathyuminstalldevice-mapper-multipath/sb......
  • Linux运维工程师 50个常见面试题
    1、请简述OSI七层网络模型有哪些层及各自的含义?物理层:底层数据传输,比如网线、网卡标准数据链路层:定义数据的基本格式,如何传输,如何标识。比如网卡MAC地址网络层:定义IP编码,定......