Linux-一篇文章,速通Hadoop集群之伪分布式,完全分布式,高可用搭建(附zookeeper,jdk介绍与安装)。

这篇具有很好参考价值的文章主要介绍了Linux-一篇文章,速通Hadoop集群之伪分布式,完全分布式,高可用搭建(附zookeeper,jdk介绍与安装)。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章较长,附目录,此次安装是在VM虚拟环境下进行。文章第一节主要是介绍Hadoop与Hadoop生态圈并了解Hadoop三种集群的区别,第二节和大家一起下载,配置Linux三种集群以及大数据相关所需的jdk,zookeeper,只需安装配置的朋友可以直接跳到文章第二节。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。

目录

一、了解Hadoop

Hadoop

什么是Hadoop

Hadoop的历史

Hadoop的特点

Hadoop的生态系统

1.HDFS

2.MapReduce

3.YARN

4.Hive

5.HBase

6.Oozie

7.Mahout

8.spark

9.Flink

10.zookeeper

二、下载安装包

jdk官网下载地址

Hadoop官网下载地址

zookeeper官网下载地址

三、Hadoop集群搭建

一、伪分布式搭建

二、完全分布式搭建

三、高可用搭建+zookeeper

拓展、Hadoop 与 HPCC的区别


一、了解Hadoop

Hadoop

什么是Hadoop

Linux-一篇文章,速通Hadoop集群之伪分布式,完全分布式,高可用搭建(附zookeeper,jdk介绍与安装)。,大数据技术之Hadoop全生态组件学习与搭建,分布式,linux,hadoop,jdk,vim,zookeeper

Hadoop官网介绍

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,是一个开源的框架,用于编写和运行分布式应用以处理大规模数据。它最初是从Nutch项目中分离出来的,专门负责分布式存储以及分布式运算。Hadoop的核心主要包含HDFS(Hadoop Distributed File System,分布式文件系统)和MapReduce(分布式数据处理模型)。

HDFS用于分布式存储海量数据,而MapReduce则用于数据的分布式处理,其本质是并行处理。Hadoop的数据来源可以是任意类型的,它在处理半结构化和非结构化数据时与关系型数据库相比有更好的性能和灵活性。任何类型的数据最终都会转化成key/value的形式,这是Hadoop的基本数据单元。

Hadoop专为离线和大规模数据分析而设计,并不适合对少量记录进行随机在线处理的模式。在实际应用中,Hadoop常被用于日志分析等任务,还可以与Hive等工具配合使用以进一步提升数据处理能力。

总的来说,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台,用户可以在不了解分布式底层细节的情况下,开发分布式程序。

Hadoop的历史

Linux-一篇文章,速通Hadoop集群之伪分布式,完全分布式,高可用搭建(附zookeeper,jdk介绍与安装)。,大数据技术之Hadoop全生态组件学习与搭建,分布式,linux,hadoop,jdk,vim,zookeeper

Hadoop的历史

Hadoop起源于Apache Nutch项目,始于2002年,是Apache Lucene的子项目之一 [2]。2004年,Google在“操作系统设计与实现”(Operating System Design and Implementation,OSDI)会议上公开发表了题为MapReduce:Simplified Data Processing on Large Clusters(Mapreduce:简化大规模集群上的数据处理)的论文之后,受到启发的Doug Cutting等人开始尝试实现MapReduce计算框架,并将它与NDFS(Nutch Distributed File System)结合,用以支持Nutch引擎的主要算法 [2]。由于NDFS和MapReduce在Nutch引擎中有着良好的应用,所以它们于2006年2月被分离出来,成为一套完整而独立的软件,并被命名为Hadoop。到了2008年年初,hadoop已成为Apache的顶级项目,包含众多子项目,被应用到包括Yahoo在内的很多互联网公司

Hadoop的特点

Linux-一篇文章,速通Hadoop集群之伪分布式,完全分布式,高可用搭建(附zookeeper,jdk介绍与安装)。,大数据技术之Hadoop全生态组件学习与搭建,分布式,linux,hadoop,jdk,vim,zookeeper

 Hadoop的特点

  • 高可靠性:Hadoop采用分布式存储,将数据备份多份并分发至不同的机器进行保存,避免了因机器宕机导致的数据丢失,从而保证了数据的安全性和可靠性。即使Hadoop的某个计算元素或存储出现故障,也不会导致数据丢失。
  • 高扩展性:Hadoop是一个高度可扩展的系统,可以在集群间分配任务数据,方便地扩展到数以千计的节点。当现有集群的资源不足以完成数据处理和分析任务时,可以通过快速扩充集群规模进行扩容,从而加强集群的运算能力。
  • 高效性:Hadoop采用MapReduce编程模型,能够并行工作,以加快任务处理速度。它能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。相比传统的单台机器处理数据,Hadoop的效率得到了极大的提升。
  • 高容错性:Hadoop能够自动保存数据的多个副本,当某个节点宕机时,它可以自动地将副本复制给其他机器,保证数据的完整性。同时,Hadoop能够自动将失败的任务重新分配,确保任务的顺利完成。
  • 低成本:Hadoop可以运行在廉价的机器上,集群可以将程序并发处理,从而降低成本,提高效率,是处理海量数据的最佳选择。

Hadoop的生态系统

Linux-一篇文章,速通Hadoop集群之伪分布式,完全分布式,高可用搭建(附zookeeper,jdk介绍与安装)。,大数据技术之Hadoop全生态组件学习与搭建,分布式,linux,hadoop,jdk,vim,zookeeper

Hadoop的生态系统

Hadoop生态系统是大数据的核心,同时,Hadoop也是大量工具的合集。它们一起协同完成特定的任务,组成Hadoop的生态圈,在这里,我要讲的是Hadoop生态系统的版本为2.X,如上图所示。

1.HDFS

HDFS是Hadoop生态系统的核心组成部分之一,它是一个分布式文件系统,用于存储和管理大规模数据集。HDFS的设计目标是提供高吞吐量的数据访问,适合处理超大规模数据集。它通过将数据分块并分布在集群中的多个节点上来实现数据的分布式存储,同时提供数据复制和容错机制以确保数据的安全性和可靠性。

2.MapReduce

MapReduce是Hadoop的另一个核心组件,它是一种编程模型和执行环境,用于处理和分析大规模数据集。MapReduce将复杂的数据处理任务分解为两个主要阶段:Map阶段和Reduce阶段。在Map阶段,系统将数据划分为多个子集,并在集群中的节点上并行处理这些子集。在Reduce阶段,系统对Map阶段的结果进行汇总和合并,生成最终的处理结果。这种并行处理的方式大大提高了数据处理的速度和效率。

3.YARN

YARN是Hadoop 2.0中引入的一个新的资源管理系统,它负责集群资源的调度和管理。YARN将资源管理和应用程序管理分离,使得Hadoop集群能够同时运行多种类型的应用程序。YARN通过引入一个全局的资源管理器(ResourceManager)和多个节点管理器(NodeManager)来实现对集群资源的统一管理和调度。ResourceManager负责接收来自应用程序的任务请求,并根据集群的资源状况进行任务调度和分配。NodeManager则负责在节点上启动和管理任务执行容器(Container),确保任务能够顺利执行。

4.Hive

Hive是一个构建在Hadoop上的数据仓库工具,它提供了类似SQL的查询语言HQL,使得用户能够方便地进行数据分析和查询。Hive将结构化数据存储在HDFS中,并通过MapReduce进行计算。它使得数据分析和处理变得更加简单和直观,尤其适合那些熟悉SQL但不熟悉Java编程的数据分析师和数据科学家。

5.HBase

HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,它运行在HDFS上,提供了高可靠性、高性能、列存储、可伸缩、实时读写等特性。HBase利用Hadoop的HDFS作为其底层的存储支持,利用Hadoop的MapReduce来处理HBase中的海量数据,从而提供高并发读写服务的能力。

此外,Hadoop生态系统还不断扩展和演进,新的工具和组件不断涌现,以满足不同领域和场景的需求。这些工具和组件的协同工作,使得Hadoop生态系统成为了一个强大而灵活的平台,能够处理和分析各种规模的数据集,为数据驱动的业务决策提供了有力的支持。

总的来说,Hadoop的生态系统是一个庞大而复杂的集合,它提供了丰富的功能和工具,使得用户可以轻松地构建和部署分布式应用程序,以处理和分析大规模数据。随着技术的不断发展,Hadoop生态系统将继续扩展和完善,为更多领域和场景提供强大的数据处理和分析能力。

6.Oozie

Oozie是一个Java Web应用程序,运行在Java Servlet容器中,用于管理Hadoop作业的工作流。它使用数据库来存储工作流定义以及当前运行的工作流实例的状态和变量。Oozie工作流是通过放置在控制依赖DAG中的一组动作来定义的,这些动作包括Hadoop的Map/Reduce作业、Pig作业等,并指定了它们执行的顺序。

7.Mahout

在Hadoop生态圈中,Mahout起到了提供可扩展机器学习算法实现的重要作用。它帮助开发人员更加方便快捷地创建智能应用程序,通过利用Hadoop的分布式计算框架,Mahout将原本运行于单机上的机器学习算法转化为了MapReduce模式,从而提升了算法可处理的数据量和处理性能。这使得Mahout能够有效地扩展到云中,利用云计算的优势进行大规模数据处理和分析。

8.spark

在Hadoop的生态圈中,Apache Spark担当着至关重要的角色。作为一个快速、通用的大规模数据处理引擎,Spark补充并扩展了Hadoop的能力,为用户提供了更为强大和灵活的数据处理工具。

9.Flink

Apache Flink是一个开源的流处理框架,其核心是一个用Java和Scala编写的分布式流数据流引擎,以对无界和有界数据流进行有状态计算。Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。

Flink的出现代表了数据处理技术的进步。作为第三代大数据引擎(第一代为Hadoop,第二代为Spark),Flink在实时计算方面有着显著的优势。虽然其设计初衷是为实时计算而设计,但由于其计算引擎的强大,也可以进行离线计算

10.zookeeper

Zookeeper是一个开源的分布式协调服务,其设计目标是将那些复杂的且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一些简单的接口提供给用户使用。它主要为分布式应用提供协调服务,确保在分布式系统中的各个部分能够协同工作。

在Zookeeper中,并没有沿用传统的Master/Slave概念,而是引入了Leader、Follower、Observer三种角色。其中,Leader是领导者,负责进行投票的发起和决议,更新系统状态;Follower是跟随者,用于接收客户端请求并转发给Leader,在选举过程中参与投票;Observer是观察者,可以接收客户端请求并转发给Leader,但不参与投票过程,通常用于提高读取性能。

二、下载安装包

jdk官网下载地址

Linux-一篇文章,速通Hadoop集群之伪分布式,完全分布式,高可用搭建(附zookeeper,jdk介绍与安装)。,大数据技术之Hadoop全生态组件学习与搭建,分布式,linux,hadoop,jdk,vim,zookeeper

这里我选择下载的是一个Linux中的免安装版本,大家可根据自己的需求选择版本,但一定要选择各组件相互兼容的版本。

Hadoop官网下载地址

Linux-一篇文章,速通Hadoop集群之伪分布式,完全分布式,高可用搭建(附zookeeper,jdk介绍与安装)。,大数据技术之Hadoop全生态组件学习与搭建,分布式,linux,hadoop,jdk,vim,zookeeper

Linux-一篇文章,速通Hadoop集群之伪分布式,完全分布式,高可用搭建(附zookeeper,jdk介绍与安装)。,大数据技术之Hadoop全生态组件学习与搭建,分布式,linux,hadoop,jdk,vim,zookeeper

zookeeper官网下载地址

Linux-一篇文章,速通Hadoop集群之伪分布式,完全分布式,高可用搭建(附zookeeper,jdk介绍与安装)。,大数据技术之Hadoop全生态组件学习与搭建,分布式,linux,hadoop,jdk,vim,zookeeper

Linux-一篇文章,速通Hadoop集群之伪分布式,完全分布式,高可用搭建(附zookeeper,jdk介绍与安装)。,大数据技术之Hadoop全生态组件学习与搭建,分布式,linux,hadoop,jdk,vim,zookeeper

以上安装包,选择自己需要的版本下载即可

三、Hadoop集群搭建

  我使用的主机、从机名称分别为BigData01,BigData02,BigData03,Jdk版本为jdk-8u171,    Hadoop版本为hadoop-2.7.5,zookeeper版本为zookeeper-3.4.5,解压到opt下,如有主机从    机名称,ip,版本,路径与我不一致的,更改成自己的即可。zookeeper我会在高可用中配置,    其他两种直接套即可。

#将下载的压缩包上传到Downloads中并解压到opt下

tar -zxvf /root/Downloads/hadoop-2.7.5.tar.gz -C /opt/
tar -zxvf /root/Downloads/jdk-8u171-linux-x64.tar.gz  -C /opt/


vim /etc/profile
#在配置文件结尾添加以下内容
export JAVA_HOME=/opt/jdk1.8.0_171
export HADOOP_HOME=/opt/hadoop-2.7.5
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

#刷新配置文件
source /etc/profile

#查看java jdk、hadoop是否可用
java -version
hadoop version

  先将主机关机,克隆两个从机(右击主机虚拟机 > 管理 > 克隆)

vim /etc/hosts
#配置hosts文件,删除原有内容,添加主机从机名称和ip地址(ifconfig查看)
192.168.67.128  BigData01
192.168.67.129  BigData02
192.168.67.130  BigData03
scp /etc/hosts/ root@BigData02:/etc
scp /etc/hosts/ root@BigData03:/etc



#配置ssh免密登录
ssh-keygen -t rsa		
cd ~/.ssh/	
cat ./id_rsa.pub >> ./authorized_keys
scp ./authorized_keys root@BigData02:/.ssh
scp ./authorized_keys root@BigData03:/.ssh
ssh-copy-id s1的ip
ssh-copy-id s1的ip

  自此,选择跟着一搭建就是伪分布式,跟着二搭建就是完全分布式

一、伪分布式搭建

 
vim /opt/hadoop-2.7.5/etc/hadoop/hadoop-env.sh
#在文件结尾添加下面代码
export JAVA_HOME=/opt/jdk1.8.0_171


 
vim /opt/hadoop-2.7.5/etc/hadoop/core-site.xml
#在<configuration></configuration>里添加下面代码

	<property>
   		  <name>fs.defaultFS</name>
     		<value>hdfs://BigData01:9000</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>file:/opt/hadoop-2.7.5/tmp</value>
	</property>



vim /opt/hadoop-2.7.5/etc/hadoop/hdfs-site.xml
#在<configuration></configuration>里添加下面代码

	<property>
		<name>ds.replication</name>
		<value>1</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/opt/hadoop-2.7.5/tmp/dfs/name</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/opt/hadoop-2.7.5/tmp/dfs/data</value>
	</property>



cd  /opt/hadoop-2.7.5/sbin
hdfs namenode -format
./start-all.sh
jps

#主机出现NameNode,Datanode即成功

二、完全分布式搭建

vim /opt/hadoopHA/etc/hadoop/hadoop-env.sh
#在文件末尾添加下面代码
export JAVA_HOME=/opt/jdk1.8.0_171



vim /opt/hadoop-2.7.5/etc/hadoop/core-site.xml
#在<configuration></configuration>里添加下面代码

	<property>
   		  <name>fs.defaultFS</name>
     		<value>hdfs://BigData01:9000</value>
	</property>
	<property>
 		<name>io.file.buffer.size</name>
 		<value>131072</value>
 	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>file:/opt/hadoop-2.7.5/tmp</value>
	</property>




vim /opt/hadoop-2.7.5/etc/hadoop/hdfs-site.xml
#在<configuration></configuration>里添加下面代码

	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/opt/hadoop-2.7.5/tmp/dfs/name</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/opt/hadoop-2.7.5/tmp/dfs/data</value>
	</property>




vim /opt/hadoop-2.7.5/etc/hadoop/yarn-site.xml
#在<configuration></configuration>里添加下面代码	     
         <property>
       	 	<name>yarn.nodemanager.aux-services</name>
       	 	<value>mapreduce_shuffle</value>
    	 </property>
    	  <property>
       		<name>yarn.resourcemanager.hostname</name>
        		<value>BigData01</value>
     	 </property>




cd /opt/hadoop-2.7.5/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
vim /opt/hadoop-2.7.5/etc/hadoop/mapred-site.xml
#在<configuration></configuration>里添加下面代码

	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>



scp -r /opt/hadoop-2.7.5/ root@BigData02:/opt/
输入 yes

scp -r /opt/hadoop-2.7.5/ root@BigData03:/opt/
输入 yes

cd  /opt/hadoop-2.7.5/sbin
hdfs namenode -format
start-all.sh
#三个节点分别jps
jps


#主机上出现NodeManager、NameNode、ResourceManager、DataNode
 从机1出现NodeManager、SecondaryNameNode、DataNode
 从机2出现DataNode、NodeManager
 即配置成功


三、高可用搭建+zookeeper

tar zxvf /root/Downloads/jdk-8u171-linux-x64.tar.gz -C/opt/
tar zxvf /root/Downloads/zookeeper-3.4.5.tar.gz -C/opt/
tar zxvf /root/Downloads/hadoop-2.7.5.tar.gz -C/opt/

vim /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_171
export HADOOP_HOME=/opt/hadoopHA
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export ZOOKEEPER_HOME=/opt/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

mv /opt/zookeeper-3.4.5/ /opt/zookeeper
mv /opt/hadoop-2.7.5/ /opt/hadoopHA

cd /opt/zookeeper
mkdir data && mkdir logs

#克隆BigData02,BigData03

vim /etc/hosts
192.168.67.128  BigData01
192.168.67.129  BigData02
192.168.67.130  BigData03
#(根据实际ip改变)
scp -r /etc/hosts @BigData02:/etc/
scp -r /etc/hosts @BigData03:/etc/
#(接yes和密码)

#免密登录
ssh-keygen -t rsa
cd ~/.ssh/	
cat ./id_rsa.pub >> ./authorized_keys

scp ./authorized_keys root@BigData02:/.ssh
scp ./authorized_keys root@BigData03:/.ssh

ssh-copy-id BigData02
ssh-copy-id BigData03


echo 1 > /opt/zookeeper/data/myid
cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg

vim /opt/zookeeper/conf/zoo.cfg
修改dataDir=/opt/zookeeper/data
末尾添加:
server.1=BigData01:2888:3888
server.2=BigData02:2888:3888
server.3=BigData03:2888:3888

scp -r /opt/zookeeper root@BigData02:/opt/
scp -r /opt/zookeeper root@BigData03:/opt/

02虚拟机下:echo 2 > /opt/zookeeper/data/myid 
03虚拟机下:echo 3 > /opt/zookeeper/data/myid 


三个节点下:
systemctl stop firewalld.service
zkServer.sh start
zkServer.sh status

cd /opt/hadoopHA/
mkdir tmp
scp -r /opt/hadoopHA/tmp @BigData02:/opt/hadoopHA/
scp -r /opt/hadoopHA/tmp @BigData03:/opt/hadoopHA/

vim /opt/hadoopHA/etc/hadoop/hadoop-env.sh
#在文件末尾添加下面代码
export JAVA_HOME=/opt/jdk1.8.0_171



vim /opt/hadoopHA/etc/hadoop/core-site.xml
#在<configuration></configuration>里添加下面代码        
        <property>
                <!--指定HDFS的通信地址-->
                <name>fs.defaultFS</name>
                <value>hdfs://ns1</value>
        </property>
        <property>
                <!--指定hadoop运行时产生文件的存储路径(即临时目录)-->
                <name>hadoop.tmp.dir</name>
                <value>/opt/hadoopHA/tmp</value>
        </property>
        <property>
                <!--指定ZooKeeper地址(2181端口参考zoo.cfg配置文件) -->
                <name>ha.zookeeper.quorum</name>
                <value>BigData01:2181,BigData02:2181,BigData03:2181</value>
        </property>




vim /opt/hadoopHA/etc/hadoop/hdfs-site.xml
#在<configuration></configuration>里添加下面代码       
        <property>
                <!--指定HDFS的nameservices为ns1,需要与core-site.xml保持一致-->
                <name>dfs.nameservices</name>
                <value>ns1</value>
        </property>
        <property>
                <!--ns1下面设置2个NameNode,分别是nn1,nn2-->
                <name>dfs.ha.namenodes.ns1</name>
                <value>nn1,nn2</value>
        </property>

        <property>
                <!--设置nn1的RPC通信地址-->
                <name>dfs.namenode.rpc-address.ns1.nn1</name>
                <value>BigData01:9000</value>
        </property>
        <property>
                <!--设置nn1的http通信地址-->
                <name>dfs.namenode.http-address.ns1.nn1</name>
                <value>BigData01:50070</value>
        </property>

        <property>
                <!--设置nn2的RPC通信地址-->
                <name>dfs.namenode.rpc-address.ns1.nn2</name>
                <value>BigData02:9000</value>
        </property>
        <property>
                <!--设置nn2的http通信地址-->
                <name>dfs.namenode.http-address.ns1.nn2</name>
                <value>BigData02:50070</value>
        </property>

        <property>
                <!--设置NameNode的元数据在JournalNode上的存放位置-->
                <name>dfs.namenode.shared.edits.dir</name>
                <value>qjournal://BigData01:8485;BigData02:8485;BigData03:8485/ns1</value>
        </property>
        <property>
                <!--指定JournalNode存放edits日志的目录位置-->
                <name>dfs.journalnode.edits.dir</name>
                <value>/opt/hadoopHA/tmp/dfs/journal</value>
        </property>

        <property>
                <!--开启NameNode失败自动切换-->
                <name>dfs.ha.automatic-failover.enabled</name>
                <value>true</value>
        </property>
        <property>
                <!--配置失败自动切换实现方式-->
                <name>dfs.client.failover.proxy.provider.ns1</name>
                <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
        </property>
        <property>
                <!--配置隔离机制-->
                <name>dfs.ha.fencing.methods</name>
                <value>sshfence</value>
        </property>
        <!--设置使用隔离机制时需要的SSH免登录-->
        <property>
                <name>dfs.ha.fencing.ssh.private-key-files</name>
                <value>/home/hadoop/.ssh/id_rsa</value>
        </property>





vim /opt/hadoopHA/etc/hadoop/yarn-site.xml
#在<configuration></configuration>里添加下面代码      
        <property>
                <!--设置resourcemanager在哪个节点上-->
                <name>yarn.resourcemanager.hostname</name>
                <value>BigData01</value>
        </property>
        <property>
                <!--Reducer取数据的方法是mapreduce_shuffle-->
                <!--指定nodemanager启动时加载server的方式-->
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>




cd /opt/hadoopHA/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
cd
vim /opt/hadoopHA/etc/hadoop/mapred-site.xml
        
        <property>
                <!--指定MR(mapreduce)框架使用YARN方式-->
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>



vim /opt/hadoopHA/etc/hadoop/slaves
BigData01
BigData02
BigData03


scp -r /opt/hadoopHA root@BigData02:/opt/
scp -r /opt/hadoopHA root@BigData03:/opt/


三个节点启动zookeeper,查看状态
zkServer.sh start
zkServer.sh status
jps查看进程
hadoop-daemon.sh start journalnode


主节点下:
hdfs namenode -format
scp -r /opt/hadoopHA/tmp/dfs @BigData02:/opt/hadoopHA/tmp/
hadoop-daemon.sh start namenode
另外一个namenode节点下(从节点1):
hdfs namenode -bootstrapStandby
hadoop-daemon.sh start namenode


主节点下:
hdfs zkfc -formatZK 格式化
启动服务:
start-dfs.sh
start-yarn.sh
查看进程:
jps


jps下
BigData01 -- NameNode、DataNode、NodeManager、ResourceManager、
		JournalNode、QuorumPeerMain、DFSZKFailoverController

BigData02 -- NameNode、DataNode、NodeManager、
		JournalNode、QuorumPeerMain、DFSZKFailoverController

BigData03 -- 	      DataNode、NodeManager、
		JournalNode、QuorumPeerMain
即可安装成功


关机前关闭集群服务:
stop-yarn.sh
stop-dfs.sh


浏览器打开查看
http://192.168.67.130:50070/
http://192.168.67.128:50070
根据实际ip地址查看

拓展、Hadoop 与 HPCC的区别

  • 架构与中间件
    • Hadoop是一个开源的分布式计算平台,其核心组件包括HDFS(分布式文件系统)和MapReduce(编程模型)。它通常通过命令行或API与应用程序进行交互。
    • HPCC则提供了更为丰富的中间件,包括ECL代码仓库、ECL服务器、ESP服务器(提供认证、日志记录等功能)以及Dali服务器(用作存储任务工作单元信息和为分布式文件系统提供名字服务)等。这些中间件为HPCC提供了更多的灵活性和功能。
  • 扩展性
    • Hadoop在理论上可以扩展到数千个节点,但在实际部署中,随着集群规模的增大,管理和维护的复杂性也会增加。
    • HPCC被设计为可以灵活地运行在一个到几千个节点上,并且在实际应用中,较小的节点数量就可以提供与Hadoop集群相当的处理性能。然而,集群的大小可能取决于分布式文件系统的整体存储需求。
  • 性能
    • 在基准测试中,HPCC在某些场景下表现出比Hadoop更高的性能。例如,在排序基准测试中,HPCC平台在高性能的400个节点系统上102秒内对1TB的数据完成排序,而相同硬件配置下的Hadoop则需要25分钟28秒。
    • 然而,性能的比较也取决于具体的任务、数据分布以及硬件配置等因素,因此在实际应用中可能会有所不同。
  • 生态系统与集成
    • Hadoop拥有庞大的生态系统和丰富的工具集,包括Hive(数据仓库工具)、Pig(数据流语言)、HBase(分布式数据库)等,使得用户可以方便地进行各种数据处理和分析任务。
    • HPCC也提供了一套工具和接口,用于管理和监视其配置和环境。然而,与Hadoop相比,其生态系统可能相对较小,工具和集成选项可能有限。
  • 社区与支持
    • Hadoop作为开源项目的代表,拥有庞大的社区和广泛的行业支持。这使得Hadoop在问题解决、功能更新和文档完善等方面通常能够得到及时的响应。
    • HPCC的社区规模和支持情况可能因具体产品而异。在选择平台时,了解社区的活跃度和支持力度是非常重要的。

Hadoop的优势:

  • 广泛的行业认可和应用:Hadoop已经在多个行业得到了广泛的应用,包括金融、电商、医疗、科研等。众多企业已经成功地将Hadoop集成到他们的数据分析和处理流程中,并取得了显著的成果。这种广泛的行业认可和应用进一步推动了Hadoop的普及和发展。
  • 可扩展性和灵活性:Hadoop的分布式架构使其能够处理大规模的数据集,并且具有良好的可扩展性。无论是处理结构化、半结构化还是非结构化数据,Hadoop都能提供高效的解决方案。同时,Hadoop的灵活性也使得它能够适应不同的业务场景和需求。
  • 成本效益:Hadoop是一个开源项目,可以免费使用和修改。这使得企业能够以较低的成本构建和维护大数据处理平台。此外,Hadoop的硬件要求相对较低,可以使用普通的商用硬件进行部署,进一步降低了企业的成本负担。

总结:虽然Hadoop比HPCC来说,有强大的生态系统、广泛的行业认可、可扩展性和灵活性以及成本效益等方面的优势,但选择适合的大数据处理和分析工具时,应根据具体的需求、数据规模、处理速度要求以及资源限制等因素进行综合考虑。文章来源地址https://www.toymoban.com/news/detail-841601.html

到了这里,关于Linux-一篇文章,速通Hadoop集群之伪分布式,完全分布式,高可用搭建(附zookeeper,jdk介绍与安装)。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【分布式和微服务1】一篇文章详细了解分布式和微服务的基本概念

    🍀 通俗一点说,高可用的意思是:在 高 并发的情况下,系统仍然是 可用 的 🍀 高可用的目的:保障业务的连续性( 实现在用户眼里,业务永远是正常对外提供服务的 ) 🍀 🍬 【上图】一个 SpringBoot 项目( apple.jar )被部署到服务器上运行,可向其发送 网络请求 对 数据

    2024年02月02日
    浏览(55)
  • 一篇文章教会你什么是Linux进程控制

    在Linux上一篇文章进程概念详解我们提到了在linux中fork函数是非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。 返回值 自进程中返回0,父进程返回子进程id,出错返回-1 1.1那么fork创建子进程时,操作系统都做了什么呢? 当在操作系

    2024年02月13日
    浏览(24)
  • 如何真正认识 Linux 系统结构?这篇文章告诉你

         Linux 内核 内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。 Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。如图:   系统调用接

    2024年02月01日
    浏览(34)
  • 通过一篇文章让你了解Linux的重要性

    Linux是一种自由和开放源代码的操作系统,由林纳斯·托瓦兹于1991年首次发布。它基于Unix,具有模块化设计,支持多任务和多用户,能在多种硬件平台上运行。Linux系统在全球范围内得到广泛应用,包括服务器、移动设备、嵌入式系统等领域。其强大的功能、稳定性和安全性

    2024年04月15日
    浏览(29)
  • Linux MeterSphere测试平台远程访问你不会?来试试这篇文章

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 :《粉丝福利》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活! MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能,全面兼容 JMeter、Selenium 等主流开源标准,有效助力开发和测试团队充分

    2024年02月06日
    浏览(30)
  • 【操作系统】一篇文章带你理清Linux中的权限!

    🎬 乀艨ic: 个人主页 ⛺️说是高产但是还是过了快半个月才更新() ⭐️来看看这次的博客吧~ 上次注意到发Linux相关的点击量比其他的多很多,那就最近多更几篇Linux相关的吧() 注:Linux的不同发行版本的指令可能有所不同,本次是按照CentOS7的标准来进行追述的。 在谈

    2024年04月11日
    浏览(32)
  • 初识Linux(上),看了这篇文章,妈妈再也不用担心我Linux找不到门了。

    “我会定期分享我的学习经验,也欢迎大家留言和交流,让我们共同学习和进步!感谢大家的支持,让我们一起开启这段充满技术乐趣的旅程吧!” 系列文章 初识Linux(上).妈妈再也不用担心我Linux找不到门了。 初识Linux(中).妈妈再也不用担心我Linux找不到门了。 初识Linux(下

    2024年02月05日
    浏览(30)
  • 【Linux】进程的状态(运行、阻塞、挂起)详解,揭开孤儿进程和僵尸进程的面纱,一篇文章万字讲透!!!!进程的学习②

    目录 1.进程排队 时间片 时间片的分配 结构体内存对齐 偏移量补充 对齐规则  为什么会有对齐 2.操作系统学科层面对进程状态的理解 2.1进程的状态理解 ①我们说所谓的状态就是一个整型变量,是task_struct中的一个整型变量 ②.状态决定了接下来的动作 2.2运行状态 2.3 阻塞状

    2024年04月14日
    浏览(27)
  • 七大 排序算法(一篇文章梳理)

    排序算法是计算机科学中不可或缺的一部分,它们在数据处理、数据库管理、搜索引擎、数据分析等多个领域都有广泛的应用。排序算法的主要任务是将一组数据元素按照某种特定的顺序(如升序或降序)进行排列。本文将对一些常见的排序算法进行详细的介绍和分析,包括

    2024年03月08日
    浏览(41)
  • 一篇文章理解虚拟滚动原理

    首先提到一个现象,前端的性能瓶颈那就是页面的卡顿,当然这种页面的卡顿包含了多种原因。例如HTTP请求过多导致数据加载国漫,下载的静态文件非常大导致页面加载时间很长,js中一些算法响应的时间过长等。很多前端工程师都花费很多的精力在dom渲染上来优化页面加载

    2024年02月05日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包