Flink1.8 集群搭建完全指南(1):Hadoop伪分布式

Flink1.8 集群搭建完全指南(1):Hadoop伪分布式,第1张

Flink是目前在国内非常流行的大数据的计算框架,其设计理念可以完美的实现数据的批流计算一体化。Flink的集群,如果要使用到JobManager的HA,以及Yarn的资源调度的话,整体的部署过程还是比较复杂的。本系列文章将完整介绍Hadoop,Kerberos,SASL,Yarn,以及Flink集群的搭建过程,一步步完成整个系统环境的部署。

Hadoop的HDFS在Flink中用作JobManager的HA,Yarn可以用于Flink任务的资源调度,因此是必不可少的。下面我们先搭建好一个Hadoop的集群。

对于一些不熟悉Hadoop集群的搭建的同学,我们先来看下伪分布式集群的搭建,可以快速的熟悉简化的配置过程,以及Hadoop的各配置文件等。

以下是我用于部署该服务的机器:

在伪分布式集群中,所有的服务都在同一节点启动,但它们之间也同样通过ssh的方式访问,所以需要配置ssh免密码登录,配置的方式如下:

测试以下命令,成功跳转即可:

在集群搭建完成后,可以运行Hadoop的示例任务,检查集群是否能够正常工作,命令如下:

该程序会打印PI的值,则执行成功。在Yarn的Web页面,可以看到有一个成功的Application。

下一节我们会介绍Hadoop的分布式集群,Kerberos和SASL等的部署。

租用云服务
按需部署和d性灵活
传统大数据平台有几个通病:建设周期过长,扩容不便,因此一般都会适当放大大数据建设规模,造成早期资源闲置浪费,也埋下了后期资源不足的隐患,影响业务发展。云计算很早就解决了d性建设的问题,我们可以按需进行大数据平台建设,并伴随业务的增长而快速d性伸缩,企业可以做到按需支付成本。 此外,Hadoop/Spark 大数据生态系统中组件众多,每种组件对硬件资源的要求不同,而传统大数据平台建设中,往往很难兼顾资源需求上的差异。和其他独享型规格族提供了不同的配置,可以为每个 Hadoop/Spark 组件节点「量体裁衣」来选择实例,最大限度避免资源浪费。 当遇到临时性突发的大数据分析需求时,借助大数据平台的规模和分析能力,可以快速获得需要的结果,当任务完成后,又能立即释放资源,节省成本。
• 性价比
采用独享计算架构 + 本地存储设计,CPU 的计算性能在实例间是独享的,这种设计能有效保障大数据计算能力的稳定性。配备高性能企业级 6TB SATA 硬盘,存储吞吐能力可以达到最大 5GB/s,有效缩短 HDFS 文件读取和写入时间。基于SDN 和网络加速技术, 在 10GE 组网环境下,最大可提供 20Gbps 网络带宽,可满足大数据分析节点间数据交互需求,例如 MapReduce 计算框架下 Shuffle 过程等,缩短分析任务整体运行时间。 最重要的一点是, 上做了非常大的交付创新,支持包月、包年的预付费支付模式,同时也支持按小时付费的使用模型,真正做到即开即用,按量付费,没有运维,钱不浪费,云本身的d性优势就很明显,加上业务上的优化,确实加分不少。
• 可靠性
独有的部署集(Deployment Set)机制,可以保证用户采用 实例构建大数据平台时,在任何规模下都可以充分将实例按业务可靠性要求,进行机架、交换机、可用区等级别容灾保护。同时,还可以充分享用全球高效、稳定的机房和网络基础设施,大大降低客户建设复杂度和成本。这在传统模式下是很难做到,既能做到全局的安全性又能做到局部的d性伸缩,或许,这就是云的终极形态吧。 总之还是非常推荐这款 实例的,中大型企业对大数据处理平台的稳定性、性价比、部署周期都有比较强的要求的可以考虑一下。

(1)准备工作
1)
安装JDK
6或者JDK
7
2)
安装scala
210x
(注意版本)
2)下载Intellij
IDEA最新版(本文以IntelliJ
IDEA
Community
Edition
1311为例说明,不同版本,界面布局可能不同)
3)将下载的Intellij
IDEA解压后,安装scala插件,流程如下:
依次选择“Configure”–>
“Plugins”–>
“Browse
repositories”,输入scala,然后安装即可
(2)搭建Spark源码阅读环境(需要联网)
一种方法是直接依次选择“import
project”–>
选择spark所在目录
–>
“SBT”,之后intellij会自动识别SBT文件,并下载依赖的外部jar包,整个流程用时非常长,取决于机器的网络环境(不建议在windows
下 *** 作,可能遇到各种问题),一般需花费几十分钟到几个小时。注意,下载过程会用到git,因此应该事先安装了git。
第二种方法是首先在linux *** 作系统上生成intellij项目文件,然后在intellij
IDEA中直接通过“Open
Project”打开项目即可。在linux上生成intellij项目文件的方法(需要安装git,不需要安装scala,sbt会自动下载)是:在
spark源代码根目录下,输入sbt/sbt
gen-idea
注:如果你在windows下阅读源代码,建议先在linux下生成项目文件,然后导入到windows中的intellij
IDEA中。
(3)搭建Spark开发环境
在intellij
IDEA中创建scala
project,并依次选择“File”–>
“project
structure”
–>
“Libraries”,选择“+”,将spark-hadoop
对应的包导入,比如导入spark-assembly_210-090-incubating-hadoop220jar(只需导入该jar
包,其他不需要),如果IDE没有识别scala
库,则需要以同样方式将scala库导入。之后开发scala程序即可:
编写完scala程序后,可以直接在intellij中,以local模式运行,方法如下:
点击“Run”–>
“Run
Configurations”,在d出的框中对应栏中填写“local”,表示将该参数传递给main函数,如下图所示,之后点击“Run”–>
“Run”运行程序即可。
如果想把程序打成jar包,通过命令行的形式运行在spark
集群中,可以按照以下步骤 *** 作:
依次选择“File”–>
“Project
Structure”
–>
“Artifact”,选择“+”–>
“Jar”
–>
“From
Modules
with
dependencies”,选择main函数,并在d出框中选择输出jar位置,并选择“OK”。
最后依次选择“Build”–>
“Build
Artifact”编译生成jar包。

安装流程

我们先来回顾上一篇我们完成的单节点的Hadoop环境配置,已经配置了一个CentOS 68 并且完成了java运行环境的搭建,Hosts文件的配置、计算机名等诸多细节。

其实完成这一步之后我们就已经完成了Hadoop集群的搭建的一半的工作了,因为我们知道通过虚拟机搭建所搭建的好处就是直接拷贝机器。多台同步进行 *** 作,减少分别配置的时间消耗浪费。这也是虚拟化技术所带来的优势。

下面,咱们进去分布式系统的详细 *** 作过程。

1、首先需要在VMWare中将之前创建的单实例的计算机进行拷贝。

这里根据之前第一篇文章的规划,我们至少需要再克隆出三台计算机,作为DataNode数据节点的数据存储。之前的上一台机器作为Master主节点进行管理。

这里先来梳理一下整个Hadoop集群的物理架构图,大家有一个直接的观念和认识,上表中已经和明确了,总共需要5台服务器来使用,四台用来搭建Hadoop集群使用,另外一台(可选)作为MySQL等外围管理Hadoop集群来使用。

前期准备
l 两台linux虚拟机(本文使用redhat5,IP分别为 IP1、IP2)
l JDK环境(本文使用jdk16,网上很多配置方法,本文省略)
l Hadoop安装包(本文使用Hadoop104)
搭建目标
210作为主机和节点机,211作为节点机。
搭建步骤
1修改hosts文件
在/etc/hosts中增加:
IP1 hadoop1
IP2 hadoop2

2 实现ssh无密码登陆
21 主机(master)无密码本机登陆
ssh-keygen -t dsa -P '' -f ~/ssh/id_dsa
直接回车,完成后会在 ~/ssh/ 生成两个文件: id_dsa 和 id_dsapub 。
这两个是成对出现,类似钥匙和锁。
再把 id_dsapub 追加到授权 key 里面 ( 当前并没有 authorized_key s文件 ) :
cat ~/ssh/id_dsapub >> ~/ssh/authorized_keys

ssh localhost hostname
还是要输入密码,一般这种情况都是因为目录或文件的权限问题,看看系统日志,确实是权限问题
ssh下的authorized_keys权限为600,其父目录和祖父目录应为755
22 无密码登陆节点机(slave)
slave上执行:
ssh-keygen -t dsa -P '' -f ~/ssh/id_dsa

生成ssh目录。
将master上的authorized_keys复制到slave上:
scp authorized_keys hadoop2:~/ssh/

实验:在master上执行
ssh hadoop2

实现无密码登陆。
3 配置Hadoop
31拷贝hadoop
将hadoop-104targz ,拷贝到usr/local 文件夹下,然后解压。
解压命令:
tar –zxvf hadoop-104targz

32查看 cat /etc/hosts
IP1 hadoop1
IP2 hadoop2

33 配置 conf/masters 和 conf/slaves
conf/masters:
1

IP1

conf/slaves:
1
2

IP2
IP2

34 配置 conf/hadoop-envsh
加入
1

export JAVA_HOME=/home/elvis/soft/jdk170_17

35 配置 conf/core-sitexml
1
2
3
4

<property>
<name>fsdefaultname</name>
<value>hdfs://IP1:9000</value>
</property>

36 配置 conf/hdfs-sitexml
加入
<property>
<name>dfs>

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13336283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-17
下一篇 2023-07-17

发表评论

登录后才能评论

评论列表(0条)

保存