开始之前,我还不知道我要干什么,emmmmmm,茫然亦前行。
创建虚拟机
使用vmware esxi创建新虚拟机,选择8核心16G,使用iso镜像文件安装。
初始化Centos
进入系统界面,选择中国、简体中文,选择默认分区,点击确定后,选择设置登录密码,设置登录密码
配置ip
CentOS 7 网卡命令规则变化,命名规则根据系统固件和硬件来命名为 ifcfg-en* 类型,网络设置及静态IP配置文件 /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens192
UUID=e90f25a3-3f05-4555-b107-ec7a17d6d1b2
DEVICE=ens192
ONBOOT=yes
IPADDR=172.29.32.11
PREFIX=24
GATEWAY=172.29.32.1
IPV6_PRIVACY=no
DNS1=172.16.61.253
重启网络 service network restart
系统配置
3台虚拟机 flink1: 16g内存 8核 300g硬盘 flink2: 16g内存 8核 300g硬盘 flink3: 16g内存 8核 300g硬盘
CentOS7关闭防火墙
- 查看防火墙状态
firewall-cmd --state - 停止firewall
systemctl stop firewalld.service - 禁止firewall开机启动
systemctl disable firewalld.service
常用软件包
ifconfig所需软件包
yum install net-tools.x86_64
查看某端口占用
yum install lsof
使用示例lsof -i:80
vim编辑器
yum install vim
centos 安装rzsz
yum install lrzsz
wget
yum install wget
修改主机名
-
修改主机名 hostnamectl set-hostname flink1 more /etc/hostname 退出重新登陆即可显示新设置的主机名flink1
-
修改hosts文件
vim /etc/hosts
172.29.32.11 flink1
172.29.32.12 flink2
172.29.32.13 flink3
- 其他俩台主机亦是如此
CentOS服务器间配置ssh免密登陆
- 11上
ssh-keygen -t rsa生成密码,在/home/.ssh下生成了密钥对:id_rsa为私钥,id_rsa.pub为公钥 - 将刚生成的公钥传到12上,且12上以root用户登陆。
ssh-copy-id root@172.29.32.12 - 在11上用root用户登陆12:
ssh 172.29.32.12验证不需要密码可以登陆。
其他机器亦是如此
安装Java
上传
使用rz命令把.tar.gz文件上传到服务器
解压并删除
tar -zxvf *.gz rm -f *.gz
传到其他服务器
scp -r /home/java root@172.29.32.12:/home/java scp -r /home/java root@172.29.32.13:/home/java
修改环境变量
vim /etc/profile 插入:
JAVA_HOME=/home/java/jdk1.8.0_201
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
生效:source /etc/profile
| 变量 | 含义 |
|---|---|
| JAVA_HOME | 指明JDK安装路径,就是刚才安装时所选择的路径,此路径下包括lib,bin,jre等文件夹(tomcat,Eclipse的运行都需要依靠此变量)。 |
| CLASSPATH | 为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设:.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib。CLASSPATH 变量值中的.表示当前目录 |
| PATH | 使得系统可以在任何路径下识别java命令,设为:$JAVA_HOME/bin:$JRE_HOME/bin。 |
| 特别注意 | 环境变量值的结尾没有任何符号,不同值之间用:隔开 |
验证
命令java -version
zookeeper集群搭建
注:zookeeper集群节点数必须为奇数,满足leader选举算法(当选leader的节点所需支持节点数过半的原则),且>=3
1、下载zookeeper安装包
curl -O https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
2、解压安装包
tar -zxvf zookeeper-3.4.10.tar.gz
3、拷贝"xxx安装目录/zookeeper-3.4.10/conf"目录下的zoo_sample.cfg文件,重命名为zoo.cfg,并进行编辑,添加如下设置
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
插入内容:
dataDir=/home/data/zookeeper
server.1=flink1:2888:3888
server.2=flink2:2888:3888
server.3=flink3:2888:3888
4、远程传输到flink2、flink3节点上
scp -r /home/zookeeper/zookeeper-3.4.10 root@flink2:/home/zookeeper/zookeeper-3.4.10
scp -r /home/zookeeper/zookeeper-3.4.10 root@flink3:/home/zookeeper/zookeeper-3.4.10
5、在配置的文件目录/home/data/zookeeper目录下,新建myid文件并编辑(用于标识在zookeeper集群的编号)
如上配置,flink1服务器为1,flink2服务器内容为2,flink3服务器内容为3
6、启动/停止zookeeper
bin/zkServer.sh start //启动zookeeper
bin/zkServer.sh stop //停止zookeeper
bin/zkServer.sh status //查看zookeeper状态
三个节点的zookeeper服务都需要开启,仔细查看是否每台节点的zk服务是否都开启。并且开启后稍等片刻,看着否状态显示正常。
Flink 1.10 on yarn集群搭建(Hadoop-2.9.2)
安装
- 下载Flink 1.10安装包
- 解压安装包
tar zxvf *.tgz - 远程传输到flink2、flink3节点
JobManager高可用配置
-
Hadoop配置文件yarn-site.xml
Hadoop主目录下etc/hadoop/yarn-site.xml(hadoop安装目录下的yarn集群配置文件)
添加如下配置
<property> <name>yarn.resourcemanager.am.max-attempts</name> <value>4</value> <description> The maximum number of application master execution attempts. </description> </property> -
Flink配置文件flink-conf.yaml
Flink主目录下conf/flink-conf.yaml
屏蔽jobmanager.rpc.address配置
高可用设置
high-availability: zookeeper high-availability.zookeeper.quorum: hadoop1:2181,hadoop2:2181,hadoop3:2181 high-availability.storageDir: hdfs:///flink/recovery high-availability.zookeeper.path.root: /flink yarn.application-attempts: 10 -
添加flink环境变量/etc/profile
vim /etc/profile
#flink环境变量配置 export FLINK_HOME=/usr/local/softwareinstall/flink-1.10.0 export PATH=$PATH:$FLINK_HOME/bin #flink on yarn配置 HADOOP_CONF_DIR=$HADOOP_HOME export HADOOP_CLASSPATH=`hadoop classpath`source /etc/profile使环境变量生效 -
Flink具体使用后续再写
挂载硬盘
由于安装虚拟机时使用默认分区,存储挂载在/home目录,有时强迫症犯了还是喜欢修改为/data
直接挂载。但是是用逻辑卷的名称挂载。硬盘上的数据还在。
1、用 fdisk -l 命令,查看服务器物理分区,逻辑卷的信息(前面是物理分区,后面是逻辑卷信息)
2、用lvdisplay命令查看逻辑卷的具体信息
3、用mount /dev/mapper/centos-home /data命令将逻辑卷(如:逻辑卷的名称为:/dev/mapper/centos-home ,即在第1步中看到的逻辑卷信息)挂载在目录(如:/data)下。
其它命令:
df -h(查看分区情况及数据盘名称)
umount /home(卸载硬盘已挂载的home目录)
自动挂载配置文件:/etc/fstab (编辑fstab文件修改或添加,使重启后可以自动挂载)