Centos7下Flink1.10集群环境(Standalone模式)搭建

Centos7下安装Flink1.10(Standalone模式)

1、Linux下安装jdk及环境配置

虚拟机设置如下,ios镜像使用的Centos7。

参考博客Linux系统下安装jdk及环境配置(两种方法) - 韦邦杠 - 博客园 (cnblogs.com)

从官网上Java Downloads | Oracle下载jdk-8u301-linux-x64.tar.gz。进入目录/usr,更改目录权限chmod -R 777 local

使用xftp将jdk压缩包传输到/usr/loacl目录下。进入/usr/local目录输入解压命令:tar zxvf jdk-8u301-linux-x64.tar.gz

配置环境变量:vi /etc/profile

export JAVA_HOME=/usr/local/jdk1.8.0_301
export CALSSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

输入source /etc/profile刷新设置。

使用 javajavacjava -version 验证是否安装成功

Centos7下Flink1.10集群环境(Standalone模式)搭建

配置完成。传给另外两台虚拟机:

scp -r /usr/local/jdk1.8.0_301 root@hadoop01:/usr/local/

scp -r /usr/local/jdk1.8.0_301 root@hadoop03:/usr/local/

scp /etc/profile root@hadoop01:/etc/profile

scp /etc/profile root@hadoop03:/etc/profile

另外两台虚拟机刷新配置:source /etc/profile,输入java -version验证

Centos7下Flink1.10集群环境(Standalone模式)搭建

2、配置ssh、root免密及关闭防火墙

关闭虚拟机,更改虚拟机名字为Hadoop01,创建完整克隆,分别命名为Hadoop02 Hadoop03

网络配置

问题记录:

重启网络服务:service network restart失败

Restarting network (via systemctl):  Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.
                                                           [失败]

Centos7下Flink1.10集群环境(Standalone模式)搭建

1、首先,在VMware workstation的菜单 编辑 -> 虚拟网络编辑器,查看子网IP及DHCP
Centos7下Flink1.10集群环境(Standalone模式)搭建

配置的IP地址应该在起始地址和结束地址范围内。

Centos7下Flink1.10集群环境(Standalone模式)搭建

2、进入虚拟机,打开终端,输入ip addr

Centos7下Flink1.10集群环境(Standalone模式)搭建

查看文件列表 ls /etc/sysconfig/network-scripts

Centos7下Flink1.10集群环境(Standalone模式)搭建

3、输入vi /etc/sysconfig/network-scripts/ifcfg-ens33

Centos7下Flink1.10集群环境(Standalone模式)搭建

此处,三个虚拟机的网关都应与主机保持一致,在VMware workstation的菜单 编辑 -> 虚拟网络编辑器->NAT设置中查看,IP地址分别为:

Hadoop01 192.168.115.130

Hadoop02 192.168.115.140

Hadoop03 192.168.115.150

每个虚拟机的mak地址都是不同的,所以每次配置时都需要先查看ip addr。配置完成后,保存退出。

4、输入service network restart 重启网络服务。

Centos7下Flink1.10集群环境(Standalone模式)搭建

输入ip addr查看是否配置成功。

Centos7下Flink1.10集群环境(Standalone模式)搭建

使用电脑的命令提示行查看是否能ping通

Centos7下Flink1.10集群环境(Standalone模式)搭建

按照上面的步骤,配置另外两个虚拟机的网络。配置完成后,检查是否能互相ping通。

192.168.115.130 ping 192.168.115.140、192.168.115.150

Centos7下Flink1.10集群环境(Standalone模式)搭建

192.168.115.140 ping 192.168.115.130、192.168.115.150

Centos7下Flink1.10集群环境(Standalone模式)搭建

至此,网络配置基本完成。

配置ssh

弯路走得有点多。。。

输入vi /etc/ssh/sshd_config,打开ssh配置文件

Centos7下Flink1.10集群环境(Standalone模式)搭建

将 PermitRootLogin 和 PubkeyAuthentication 的设置打开。

输入systemctl estart sshd.service 启动ssh服务;

设置开机自动启动ssh服务systemctl enable sshd.service

配好其中一台,另外两台如果出问题也可以克隆配好的那台,然后改个IP就好啦

Centos7下Flink1.10集群环境(Standalone模式)搭建

配置hosts

输入hostname查看当前主机名。

输入hostnamectl set-hostname xxx 修改主机名为hadoop01、hadoop02、hadoop03。

输入vi /etc/hosts打开文件,在最后一行加入:IP地址 主机名,如下:

Centos7下Flink1.10集群环境(Standalone模式)搭建

三台虚拟机都这样配,配置完成后,互相ping主机名进行验证。

Centos7下Flink1.10集群环境(Standalone模式)搭建

Centos7下Flink1.10集群环境(Standalone模式)搭建

关闭防火墙

输入systemctl status firewalld 查看防火墙状态

Centos7下Flink1.10集群环境(Standalone模式)搭建

使用systemctl stop firewalld关闭防火墙

Centos7下Flink1.10集群环境(Standalone模式)搭建

可以看到,此时防火墙已关闭。输入systemctl disable firewalld命令,即可永久关闭防火墙。

Centos7下Flink1.10集群环境(Standalone模式)搭建

关闭SELINUX

使用vi /etc/selinux/config编辑文件,将SELINUX=enfocing修改为disabled.

Centos7下Flink1.10集群环境(Standalone模式)搭建

配置ssh免密登陆

参考文档centos7 root用户下配置虚拟机的免密登录_赴前尘-CSDN博客

通过命令 ssh-keygen -t rsa 生成公钥和私钥,输入命令后直接按三次确认键就能看到下面输出界面。

Centos7下Flink1.10集群环境(Standalone模式)搭建

之后进入到.ssh文件夹下,就能看到生成的公钥id_rsa.pub和私钥文件id_rsa。hadoop02、hadoop03同样操作。

Centos7下Flink1.10集群环境(Standalone模式)搭建

在Hadoop02上输入cat /root/.ssh/id_rsa.pub查看公钥内容,复制备用。

Centos7下Flink1.10集群环境(Standalone模式)搭建

同样,在Hadoop03上,复制公钥内容备用。

Centos7下Flink1.10集群环境(Standalone模式)搭建

  • 以下都是在hadoop01上执行的操作:

.ssh目录下执行 touch authorized_keys创建存放秘钥的文件。

Centos7下Flink1.10集群环境(Standalone模式)搭建

执行 cp id_rsa.pub authorized_keys 将公钥放进authorized_keys文件,可无密登录本机;

执行 chmod 644 authorized_keys 修改 authorized_keys 权限;

执行 sudo service sshd restart 重启ssh服务;

ssh hadoop01 命令测试本机免密登录,第一次需要输入 yes 下次就不用再输入了

Centos7下Flink1.10集群环境(Standalone模式)搭建

输入echo '公钥' >> authorized_keys 将前面复制的Hadoop02、Hadoop03公钥内容写入authorized_keys中

Centos7下Flink1.10集群环境(Standalone模式)搭建

Centos7下Flink1.10集群环境(Standalone模式)搭建

分别执行

scp /root/.ssh/authorized_keys hadoop02:/root/.ssh

scp /root/.ssh/authorized_keys hadoop03:/root/.ssh

将hadoop01上的authorized_keys 分发给hadoop02,hadoop03(如果有需要输入yes的步骤,输入yes即可)

Centos7下Flink1.10集群环境(Standalone模式)搭建

  • 以下都是在hadoop02上执行的操作

执行 cd /root/.ssh进入到.ssh目录下,chmod 644 authorized_keys修改 authorized_keys 权限

Centos7下Flink1.10集群环境(Standalone模式)搭建

  • 以下都是在hadoop03上执行的操作

执行 cd /root/.ssh进入到.ssh目录下,chmod 644 authorized_keys修改 authorized_keys 权限

Centos7下Flink1.10集群环境(Standalone模式)搭建

权限配置完成后,回到hadoop01,输入ssh hadoop02连接 hadoop02,exit退出连接;ssh hadoop03连接 hadoop03,exit退出连接。
Centos7下Flink1.10集群环境(Standalone模式)搭建

同样,在Hadoop02、Hadoop03进行测试。

Centos7下Flink1.10集群环境(Standalone模式)搭建

Centos7下Flink1.10集群环境(Standalone模式)搭建

至此, root用户下三台虚拟机互相免密登录配置完成。

3、Hadoop正式安装

zookeeper分布式集群环境搭建

此处搭建zookeeper分布式集群是为搭建HA(高可用)-Hadoop集群环境做准备。因为后面搭建的并不是HA-Hadoop集群,所以此处可直接跳过。

从官网上下载apache-zookeeper-3.5.9-bin.tar.gz。

使用xftp将zookeeper压缩包传输到/usr/loacl目录下。进入/usr/local目录输入解压命令:tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz

输入mv /usr/local/apache-zookeeper-3.5.9-bin /usr/local/zookeeper,将文件夹重命名

Centos7下Flink1.10集群环境(Standalone模式)搭建

进入目录/usr/local/zookeeper/conf,将文件zoo_sample.cfg重命名为zoo.cfg:mv /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg

Centos7下Flink1.10集群环境(Standalone模式)搭建

  • 配置zookeeper环境变量

vi /etc/profile

export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

Centos7下Flink1.10集群环境(Standalone模式)搭建

刷新配置文件source /etc/profileecho $ZOOKEEPER_HOME打印一下看能不能输出

Centos7下Flink1.10集群环境(Standalone模式)搭建

  • 配置zoo.cfg

输入vi /usr/local/zookeeper/conf/zoo.cfg,添加以下内容:

dataDir=/usr/local/zookeeper/data
server.1=hadoop01:2888:3888
server.2=hadoop02:2888:3888
server.3=hadoop03:2888:3888

ZooKeeper 集群中, 每台服务器上的 zoo.cfg 配置文件内容一致

Centos7下Flink1.10集群环境(Standalone模式)搭建

创建文件/usr/local/zookeeper/data/myid,并写入相应的id

mkdir /usr/local/zookeeper/data

echo 1 > /usr/local/zookeeper/data/myid

server.1 的 myid 文件内容就是 "1"。

每个服务器的 myid 内容都不同,且需要保证和自己的 zoo.cfg 配置文件中 "server.id=host:port:port" 的 id 值一致。

Centos7下Flink1.10集群环境(Standalone模式)搭建

按照相同步骤,为 Hadoop02 和 Hadoop03 配置 zoo.cfg 和 myid 文件。zoo.cfg文件内容相同,Hadoop02 的 myid 文件内容为 2,Hadoop03 的 myid 文件内容为 3。

最后,在各机器上执行/usr/local/zookeeper/bin/zkServer.sh start来启动zookeeper集群,使用jps命令查看ZooKeeper的启动进程。

/usr/local/zookeeper/bin/zkServer.sh stop关闭zookeeper。

Centos7下Flink1.10集群环境(Standalone模式)搭建

Hadoop分布式集群搭建

参考博客:

3台centos7上安装hadoop3.1.4_sndayYU的博客-CSDN博客

从官网下载hadoop-3.1.4.tar.gz,解压到/usr/local/hadoop目录下:进入/usr/local目录cd /usr/local,输入解压命令tar -zxvf hadoop-3.1.4.tar.gz,重命名文件夹mv /usr/local/hadoop-3.1.4 /usr/local/hadoop

Centos7下Flink1.10集群环境(Standalone模式)搭建

修改5个配置文件

不一定以此为准,具体情况具体分析,建议多在网上找找相对应的配置文件

1、vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh,第54行

export JAVA_HOME=/usr/local/jdk1.8.0_301

Centos7下Flink1.10集群环境(Standalone模式)搭建

2、修改/usr/local/hadoop/etc/hadoop/core-site.xml

vi /usr/local/hadoop/etc/hadoop/core-site.xml

<!--指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址-->
		<property>
   				<name>fs.defaultFS</name>
                <value>hdfs://hadoop01:9000</value>
         </property>
        <!--指定HADOOP运行时产生文件的存储目录-->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/hadoop/data</value>
        </property>

3、修改/usr/local/hadoop/etc/hadoop/hdfs-site.xml

vi /usr/local/hadoop/etc/hadoop/hdfs-site.xml

		
		<property>
                <name>dfs.namenode.http-address</name>
                <value>hadoop01:9870</value>
        </property>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>hadoop03:9868</value>
        </property>

4、修改/usr/local/hadoop/etc/hadoop/mapred-site.xml

vi /usr/local/hadoop/etc/hadoop/mapred-site.xml

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

5、修改/usr/local/hadoop/etc/hadoop/yarn-site.xml

vi /usr/local/hadoop/etc/hadoop/yarn-site.xml

		<property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop02</value>
        </property>
        <property>
                <name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>		
        </property>
        <!-- 设置虚拟内存更大些,默认2.1,即物理内存1G,虚拟内存2.1G -->
        <property>
                <name>yarn.nodemanager.vmem-pmem-ratio</name>
                <value>2.1</value>
        </property>

配置环境变量和workers

  • 配置workers

    输入vim /usr/local/hadoop/etc/hadoop/workers

hadoop01
hadoop02
hadoop03
  • 配置环境变量

    vi /etc/profile

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

传到其它两台服务器

scp -r /usr/local/hadoop root@hadoop02:/usr/local/

scp -r /usr/local/hadoop root@hadoop03:/usr/local/

scp /etc/profile root@hadoop02:/etc/profile

scp /etc/profile root@hadoop03:/etc/profile

使配置环境变量生效:. /etc/profile

三台虚拟机启用参数,并进行验证:

hadoop version

Centos7下Flink1.10集群环境(Standalone模式)搭建

win10配置hosts

Windows下修改hosts文件_bjchen的博客-CSDN博客_windows修改hosts文件

Centos7下Flink1.10集群环境(Standalone模式)搭建

配置非root用户的ssh免密登录

在启动集群时出现错误:

Centos7下Flink1.10集群环境(Standalone模式)搭建

原因是在非root用户下,未配置ssh免密登录。以下为配置方法:

进入.ssh目录cd ~/.ssh,通过命令 ssh-keygen -t rsa 生成公钥和私钥。hadoop02、hadoop03同样操作。

Centos7下Flink1.10集群环境(Standalone模式)搭建

进入.ssh目录,将hadoop01、hadoop02和hadoop03的公钥合并到authorized_key文件中。

cat id_rsa.pub>> authorized_keys
ssh Pluto@hadoop02 cat ~/.ssh/id_rsa.pub>> authorized_keys
ssh Pluto@hadoop03 cat ~/.ssh/id_rsa.pub>> authorized_keys

Centos7下Flink1.10集群环境(Standalone模式)搭建

将hadoop01上的authorized_keys、known_hosts文件传给hadoop02和hadoop03。

scp ~/.ssh/authorized_keys Pluto@hadoop02:~/.ssh/
scp ~/.ssh/authorized_keys Pluto@hadoop03:~/.ssh/
scp ~/.ssh/known_hosts Pluto@hadoop02:~/.ssh/
scp ~/.ssh/known_hosts Pluto@hadoop03:~/.ssh/

Centos7下Flink1.10集群环境(Standalone模式)搭建

最后,在三台虚拟机的~/.ssh目录下输入chmod 600 ~/.ssh/authorized_keys修改authorized_keysd文件的权限。

Centos7下Flink1.10集群环境(Standalone模式)搭建

此时,非root用户下的ssh免密登录配置完成。

Centos7下Flink1.10集群环境(Standalone模式)搭建

启动集群

首次需要格式化磁盘。在hadoop01上,以非root用户进到/usr/local/hadoop目录下,输入hdfs namenode -format

[Pluto@hadoop01 hadoop]$ pwd
/usr/local/hadoop
[Pluto@hadoop01 hadoop]$ hdfs name -format

Centos7下Flink1.10集群环境(Standalone模式)搭建

输入指令:/usr/local/hadoop/sbin/start-dfs.sh

Centos7下Flink1.10集群环境(Standalone模式)搭建

如果有这样的报错信息:

Centos7下Flink1.10集群环境(Standalone模式)搭建

可以输入:sudo chown -R 你自己电脑的用户名 /usr/local/hadoop

在hadoop02上,以非root用户进入/usr/local/hadoop目录下,输入指令:/usr/local/hadoop/sbin/start-yarn.sh

Centos7下Flink1.10集群环境(Standalone模式)搭建

在hadoop03上进行验证,使用jps查看进程。

Centos7下Flink1.10集群环境(Standalone模式)搭建

[root@hadoop hadoop]# jps #显示以下几个进程说明启动成功
96662 Jps
95273 DataNode #可有可无
95465 SecondaryNameNode #重要
95144 NameNode #重要
95900 NodeManager #可有可无
95775 ResourceManager #非常重要

验证

  • 前端查看

在Hadoop01打开网页:hdaoop01:9870

Centos7下Flink1.10集群环境(Standalone模式)搭建

在Hadoop02打开网页:hdaoop02:8088

Centos7下Flink1.10集群环境(Standalone模式)搭建

  • 文件上传验证:

创建测试文件demo.txt

Centos7下Flink1.10集群环境(Standalone模式)搭建

随便写点什么

Centos7下Flink1.10集群环境(Standalone模式)搭建

上传文件

Centos7下Flink1.10集群环境(Standalone模式)搭建

检查上传的文件:

Centos7下Flink1.10集群环境(Standalone模式)搭建

可以看到正是我们上传的文件及内容

Centos7下Flink1.10集群环境(Standalone模式)搭建

#注意启动后验证完必须关掉
start-all.sh

#关闭
stop-all.sh

4、Flink集群环境(Standalone模式)搭建

前置准备:CentOS7、jdk1.8、hadoop-3.1.4、flink-1.10.3

计划:

  • 在130安装JobManager,150上安装第二个JobManager;
  • 在3台服务器上都安装TaskManager;

注:flink集群使用hadoop操作。

下载

Centos7下Flink1.10集群环境(Standalone模式)搭建

上传并解压

使用Hadoop用户,部署到/usr/local/hadoop/目录下。

Centos7下Flink1.10集群环境(Standalone模式)搭建

cd /usr/local/hadoop

解压:tar zxf flink-1.10.3-bin-scala_2.12.tgz

将 flink-shaded-hadoop-2-uber-2.8.3-10.0.jar 放到flink-1.10.3 /lib目录下:mv flink-shaded-hadoop-2-uber-2.8.3-10.0.jar flink-1.10.3/lib

Centos7下Flink1.10集群环境(Standalone模式)搭建

配置文件

cd /usr/local/hadoop/flink-1.10.3/conf

  • flink-conf.yaml

输入:vi flink-conf.yaml

添加下面内容:

jobmanager.rpc.address: hadoop01

Centos7下Flink1.10集群环境(Standalone模式)搭建

  • maters

输入:vi masters

添加内容:

hadoop01:8081
hadoop03:8081

Centos7下Flink1.10集群环境(Standalone模式)搭建

  • slaves

输入:vi slaves

添加内容:

hadoop01
hadoop02
hadoop03

Centos7下Flink1.10集群环境(Standalone模式)搭建

  • 复制到另外两台服务器

scp -r /usr/local/hadoop/flink-1.10.3 hadoop02:/usr/local/hadoop

scp -r /usr/local/hadoop/flink-1.10.3 hadoop03:/usr/local/hadoop

测试

启动hdfs:/usr/local/hadoop/sbin/start-dfs.sh

启动flink:/usr/local/hadoop/flink-1.10.3/bin/start-cluster.sh

使用jps查看进程:

Centos7下Flink1.10集群环境(Standalone模式)搭建

可以看到flink启动成功,打开浏览器,输入:hadoop01:8081

Centos7下Flink1.10集群环境(Standalone模式)搭建

至此,Flink集群环境(Standalone模式)搭建成功。

上一篇:下载chrome离线安装包


下一篇:java 获取当前年份、月份、日期,当月第一天和最后一天