Flink是目前在国内非常流行的大数据的计算框架,其设计理念可以完美的实现数据的批流计算一体化。Flink的集群,如果要使用到JobManager的HA,以及Yarn的资源调度的话,整体的部署过程还是比较复杂的。本系列文章将完整介绍Hadoop,Kerberos,SASL,Yarn,以及Flink集群的搭建过程,一步步完成整个系统环境的部署。
Hadoop集群的搭建
Hadoop的HDFS在Flink中用作JobManager的HA,Yarn可以用于Flink任务的资源调度,因此是必不可少的。下面我们先搭建好一个Hadoop的集群。
伪分布式集群
对于一些不熟悉Hadoop集群的搭建的同学,我们先来看下伪分布式集群的搭建,可以快速的熟悉简化的配置过程,以及Hadoop的各配置文件等。
以下是我用于部署该服务的机器:
hostname | ip |
---|---|
master | 10.16.. |
1. ssh免密码登录
在伪分布式集群中,所有的服务都在同一节点启动,但它们之间也同样通过ssh的方式访问,所以需要配置ssh免密码登录,配置的方式如下:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
测试以下命令,成功跳转即可:
$ ssh localhost
2. 下载并解压Hadoop的jar包
-
Hadoop下载镜像站的地址,选择Hadoop2.8.5版本:http://www.apache.org/dyn/closer.cgi/hadoop/common/
-
将jar包下载在/data目录,然后解压缩:
$ tar -xvf hadoop-2.8.5.tar.gz
3. 配置文件修改
- 配置HDFS相关配置文件:
- 配置etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
- 配置etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
- 配置Yarn相关配置文件:
- 配置etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
- 配置etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
4. 启动服务
- 启动HDFS:先进行HDFS Namenode格式化,然后启动NameNode和DataNode。访问NameNode的Web页面:http://localhost:50070/,可以看到NameNode和1个DataNode,HDFS启动成功。
$ bin/hdfs namenode -format
$ sbin/start-dfs.sh
HDFS
- 启动Yarn:直接启动ResourceManager和NodeManager。访问Yarn的Web页面:http://localhost:8088/,可以看到一个Active Nodes,Yarn启动成功。
$ sbin/start-yarn.sh
5. 运行Hadoop任务
在集群搭建完成后,可以运行Hadoop的示例任务,检查集群是否能够正常工作,命令如下:
$ ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar pi 3 3
该程序会打印PI的值,则执行成功。在Yarn的Web页面,可以看到有一个成功的Application。
yarn下一节我们会介绍Hadoop的分布式集群,Kerberos和SASL等的部署。
网友评论