赞
踩
软件 | 版本 |
---|---|
Mysql | 5.7 |
Java | 1.8.0_241 |
Hadoop | 3.3.0 |
Zookeeper | 3.4.6 |
Hive | 3.1.2 |
Flink | 1.14.5 |
Hudi | 0.11.1 |
Doris | 1.1.0 |
Dinky | 0.6.6 |
Flink CDC | 2.2.0 |
Presto | 0.261 |
Hue | 4.1.0 |
1)上传Hadoop安装包到 /opt/software
目录下
2)解压安装文件到/opt/server
下面
tar -zxvf hadoop-3.3.0.tar.gz -C /opt/server/
3)将 Hadoop 添加到环境变量
#HADOOP_HOME
export HADOOP_HOME=/opt/server/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
4)让修改后的文件生效
source /etc/profile
5)测试是否安装成功
hadoop version
6)Hadoop目录结构
[root@node1 hadoop-3.3.0]$ ll
总用量 176
drwxr-xr-x. 2 root root 183 9月 12 2019 bin
drwxr-xr-x. 3 root root 20 9月 12 2019 etc
drwxr-xr-x. 2 root root 106 9月 12 2019 include
drwxr-xr-x. 3 root root 20 9月 12 2019 lib
drwxr-xr-x. 4 root root 288 9月 12 2019 libexec
-rw-rw-r--. 1 root root 147145 9月 4 2019 LICENSE.txt
-rw-rw-r--. 1 root root 21867 9月 4 2019 NOTICE.txt
-rw-rw-r--. 1 root root 1366 9月 4 2019 README.txt
drwxr-xr-x. 3 root root 4096 9月 12 2019 sbin
drwxr-xr-x. 4 root root 31 9月 12 2019 share
重要目录
① bin 目录:存放对 Hadoop 相关服务(hdfs, yarn, mapred)进行操作的脚本
② etc 目录: Hadoop 的配置文件目录,存放 Hadoop 的配置文件
③ lib 目录:存放 Hadoop 的本地库(对数据进行压缩解压缩功能)
④ sbin 目录:存放启动或停止 Hadoop 相关服务的脚本
⑤ share 目录:存放 Hadoop 的依赖 jar 包、 文档、 和官方案例
7)配置文件说明
Hadoop 配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。
① 默认配置文件:
要获取的默认文件 | 文件存放在 Hadoop 的 jar 包中的位置 |
---|---|
[core-default.xml] | hadoop-common-3.1.3.jar/core-default.xml |
[hdfs-default.xml] | hadoop-hdfs-3.1.3.jar/hdfs-default.xml |
[yarn-default.xml] | hadoop-yarn-common-3.1.3.jar/yarn-default.xml |
[mapred-default.xml] | hadoop-mapreduce-client-core-3.1.3.jar/mapred-default.xml |
② 自定义配置文件:
core-site.xml、 hdfs-site.xml、 yarn-site.xml、 mapred-site.xml 四个配置文件存放在$HADOOP_HOME/etc/hadoop 这个路径上, 用户可以根据项目需求重新进行修改配置。
配置 core-site.xml
cd $HADOOP_HOME/etc/hadoop
vim core-site.xml
文件内容如下:
<configuration> <!-- 指定 NameNode 的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://node1:8020</value> </property> <!-- 指定 hadoop 数据的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/server/hadoop-3.3.0/data</value> </property> <!-- 配置 HDFS 网页登录使用的静态用户为 root --> <property> <name>hadoop.http.staticuser.user</name> <value>root</value> </property> </configuration>
配置 hdfs-site.xml
vim hdfs-site.xml
文件内容如下:
<configuration>
<!-- nn web 端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>node1:9870</value>
</property>
<!-- 2nn web 端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node3:9868</value>
</property>
</configuration>
配置 yarn-site.xml
vim yarn-site.xml
文件内容如下:
<configuration> <!-- 指定 MR 走 shuffle --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 指定 ResourceManager 的地址--> <property> <name>yarn.resourcemanager.hostname</name> <value>node2</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_HOM</value> </property> </configuration>
配置 mapred-site.xml
vim mapred-site.xml
文件内容如下:
<configuration>
<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
在集群上分发配置好的 Hadoop
xsync /opt/server/hadoop-3.3.0
配置 workers
cd /opt/server/hadoop-3.3.0/etc/hadoop
vim workers
在该文件中增加如下内容:(注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行)
node1
node2
node3
同步所有节点配置文件
xsync workers
如果集群是第一次启动,需要在node1节点格式化NameNode(注意:格式化NameNode,会产生新的集群 id,导致 NameNode 和 DataNode 的集群 id 不一致,集群找不到已往数据。 如果集群在运行过程中报错,需要重新格式化 NameNode 的话, 一定要先停止 namenode 和 datanode 进程, 并且要删除所有机器的 data 和 logs 目录,然后再进行格式化。)
hdfs namenode -format
初始化成功后会产生data和logs两个文件夹
cd /opt/server/hadoop-3.3.0
sbin/start-dfs.sh
原因:如果你的Hadoop是另外启用其它用户来启动,记得将root改为对应用户
在/hadoop/sbin路径下:将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数:
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
还有,start-yarn.sh,stop-yarn.sh顶部也需添加以下:
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
重新启动HDFS
解决方法:在hadoop-env.sh中,再显示地重新声明一遍JAVA_HOME(所有节点)
重启HDFS
sbin/start-yarn.sh
Web 端查看 HDFS 的 NameNode
(a)浏览器中输入:
http://node1:9870
(b)查看 HDFS 上存储的数据信息
Web 端查看 YARN 的 ResourceManager
(a)浏览器中输入:
http://node2:8088
(b)查看 YARN 上运行的 Job 信息
为了查看程序的历史运行情况,需要配置一下历史服务器。具体配置步骤如下:
1) 配置 mapred-site.xml
vim mapred-site.xml
在该文件里面增加如下配置
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<!-- 历史服务器 web 端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
2)分发配置
xsync mapred-site.xml
3)在 node1 启动历史服务器
[reader@node1 hadoop]$ mapred --daemon start historyserver
# 关闭历史服务器
[reader@node1 hadoop]$ mapred --daemon stop historyserver
4)查看历史服务器是否启动
[reader@node1 hadoop]$ jps
5)查看 JobHistory
http://node1:19888/jobhistory
日志聚集概念:应用运行完成以后,将程序运行日志信息上传到 HDFS 系统上。
日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。
注意:开启日志聚集功能,需要重新启动 NodeManager、ResourceManager和HistoryServer。
开启日志聚集功能具体步骤如下:
1)配置 yarn-site.xml
vim yarn-site.xml
在该文件里面增加如下配置。
<!-- 开启日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://node1:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为 7 天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
2)分发配置
xsync yarn-site.xml
3)关闭 NodeManager 、ResourceManager和HistoryServer
sbin/stop-yarn.sh
mapred --daemon stop historyserver
4)启动 NodeManager 、ResourceManage和HistoryServer
start-yarn.sh
mapred --daemon start historyserver
1)各个模块分开启动/停止(配置 ssh 是前提)— 常用
(1)整体启动/停止 HDFS
start-dfs.sh/stop-dfs.sh
(2)整体启动/停止 YARN
start-yarn.sh/stop-yarn.sh
2)各个服务组件逐一启动/停止
(1)分别启动/停止 HDFS 组件
hdfs --daemon start/stop namenode/datanode/secondarynamenode
(2)启动/停止 YARN
yarn --daemon start/stop resourcemanager/nodemanager
1)Hadoop 集群启停脚本(包含 HDFS,Yarn,Historyserver):hdp
cd ~/bin
vim hdp
输入如下内容:
#!/bin/bash if [ $# -lt 1 ] then echo "No Args Input..." exit ; fi case $1 in "start") echo " =================== 启动 hadoop集群 ===================" echo " --------------- 启动 hdfs ---------------" ssh node1 "/opt/server/hadoop-3.3.0/sbin/start-dfs.sh" echo " --------------- 启动 yarn ---------------" ssh node2 "/opt/server/hadoop-3.3.0/sbin/start-yarn.sh" echo " --------------- 启动 historyserver ---------------" ssh node1 "/opt/server/hadoop-3.3.0/bin/mapred --daemon start historyserver" ;; "stop") echo " =================== 关闭 hadoop集群 ===================" echo " --------------- 关闭 historyserver ---------------" ssh node1 "/opt/server/hadoop-3.3.0/bin/mapred --daemon stop historyserver" echo " --------------- 关闭 yarn ---------------" ssh node2 "/opt/server/hadoop-3.3.0/sbin/stop-yarn.sh" echo " --------------- 关闭 hdfs ---------------" ssh node1 "/opt/server/hadoop-3.3.0/sbin/stop-dfs.sh" ;; *) echo "Input Args Error..." ;; esac
保存后退出,然后赋予脚本执行权限
chmod +x hdp
2)查看三台服务器 Java 进程脚本:jpsall
vim jpsall
输入如下内容:
#!/bin/bash
for host in node1 node2 node3
do
echo =============== $host ===============
ssh $host /usr/java/jdk1.8.0_181-cloudera/bin/jps
done
保存后退出,然后赋予脚本执行权限
chmod +x jpsall
端口名称 | Hadoop2.x | Hadoop3.x |
---|---|---|
NameNode 内部通信端口 | 8020 / 9000 | 8020 / 9000/9820 |
NameNode HTTP UI | 50070 | 9870 |
MapReduce 查看执行任务端口 | 8088 | 8088 |
历史服务器通信端口 | 19888 | 19888 |
1)在node1主机上,解压zookeeper的压缩包到/opt/server路径下去,然后准备进行安装
tar -zxvf zookeeper-3.4.6.tar.gz -C /opt/server/
2)修改配置文件
cd /opt/server/zookeeper-3.4.6/conf/
cp zoo_sample.cfg zoo.cfg
mkdir -p /opt/server/zookeeper-3.4.6/zkdatas/
vim zoo.cfg
3)修改以下内容
#Zookeeper的数据存放目录
dataDir=/opt/server/zookeeper-3.4.6/zkdatas
# 保留多少个快照
autopurge.snapRetainCount=2
# 日志多少小时清理一次
autopurge.purgeInterval=1
# 集群中服务器地址
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
4)添加myid配置
在node1主机的/export/server/zookeeper-3.4.6/zkdatas/这个路径下创建一个文件,文件名为myid ,文件内容为1
echo 1 > /opt/server/zookeeper-3.4.6/zkdatas/myid
5)安装包分发并修改myid的值
在node1主机上,将安装包分发到其他机器
第二台机器上修改myid的值为2
echo 2 > /export/server/zookeeper-3.4.6/zkdatas/myid
第三台机器上修改myid的值为3
echo 3 > /export/server/zookeeper-3.4.6/zkdatas/myid
6)配置Path环境变量
#ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/server/zookeeper-3.4.6
export PATH=:$ZOOKEEPER_HOME/bin:$PATH
7)三台机器启动zookeeper服务
/opt/server/zookeeper-3.4.6/bin/zkServer.sh start
8)三台主机分别查看启动状态
/opt/server/zookeeper-3.4.6/bin/zkServer.sh status
9)集群shell脚本
#!/bin/bash case $1 in "start"){ for i in node1 node2 node3 do echo ---------- zookeeper $i 启动 ------------ ssh $i "/opt/server/zookeeper-3.4.6/bin/zkServer.sh start" done };; "stop"){ for i in node1 node2 node3 do echo ---------- zookeeper $i 停止 ------------ ssh $i "/opt/server/zookeeper-3.4.6/bin/zkServer.sh stop" done };; "status"){ for i in node1 node2 node3 do echo ---------- zookeeper $i 状态 ------------ ssh $i "/opt/server/zookeeper-3.4.6/bin/bin/zkServer.sh status" done };; esac
1)上传压缩包到/export/software目录里,并解压安装包
# --------------------Hive安装配置---------------------- cd /opt/software/ tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/server cd /opt/server mv apache-hive-3.1.2-bin hive-3.1.2 # 解决hadoop、hive之间guava版本差异 cd /opt/server/hive-3.1.2 rm -rf lib/guava-19.0.jar cp /opt/server/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/ # 添加mysql jdbc驱动到hive安装包lib/文件下 mysql-connector-java-5.1.41-bin.jar # 修改hive环境变量文件 添加HADOOP_HOME cd /opt/server/hive-3.1.2/conf/ mv hive-env.sh.template hive-env.sh vim hive-env.sh HADOOP_HOME=/opt/server/hadoop-3.3.0 export HIVE_CONF_DIR=/opt/server/hive-3.1.2/conf export HIVE_AUX_JARS_PATH=/opt/server/hive-3.1.2/lib
2)新增hive-site.xml 配置mysql等相关信息
vim hive-site.xml
3)添加以下内容:
<configuration> <!-- 存储元数据mysql相关配置 --> <property> <name>javax.jdo.option.ConnectionURL</name> <value> jdbc:mysql://node2:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property> <!-- H2S运行绑定host --> <property> <name>hive.server2.thrift.bind.host</name> <value>node1</value> </property> <!-- 远程模式部署metastore 服务地址 --> <property> <name>hive.metastore.uris</name> <value>thrift://node1:9083</value> </property> <!-- 关闭元数据存储授权 --> <property> <name>hive.metastore.event.db.notification.api.auth</name> <value>false</value> </property> <!-- 关闭元数据存储版本的验证 --> <property> <name>hive.metastore.schema.verification</name> <value>false</value> </property> </configuration>
4)初始化metadata(只需要在配置完Hive之后进行一次操作)
# 初始化成功会在mysql中创建74张表 cd /opt/server/hive-3.1.2 bin/schematool -initSchema -dbType mysql -verbos # 添加环境变量 vim /etc/profile export HIVE_HOME=/opt/server/hive-3.1.2 export PATH=:$HIVE_HOME/bin:$PATH # 让环境变量生效 source /etc/profile # -----------------Metastore 和 Hiveserver2启动---- nohup /opt/server/hive-3.1.2/bin/hive --service metastore 2>&1 & nohup /opt/server/hive-3.1.2/bin/hive --service hiveserver2 2>&1 & # 验证是否安装成功! 在Linux中输入hive命令,直接回车,出现一个终端,在该终端中可以输入sql命令: show databases;
5)Beeline Client
hive经过发展,推出了第二代客户端beeline,但是beeline客户端不是直接访问metastore服务的,而是需要单独启动hiveserver2服务。
在node1的/export/server/hadoop-3.3.0/etc/hadoop目录下,修改core-site.xml,在该文件中添加以下配置,实现用户代理:
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
将修改好的core-site.xml文件分发到node2和node3,然后重启Hadoop(stop-all.sh start-all.sh)
在hive运行的服务器上,确保已经启动metastore服务和hiveserver2服务,如果没有启动,则执行以下语句:
nohup /opt/server/hive-3.1.2/bin/hive --service metastore 2>&1 &
nohup /opt/server/hive-3.1.2/bin/hive --service hiveserver2 2>&1 &
在node1上使用beeline客户端进行连接访问。
beeline
根据提醒进行以下操作:
/opt/server/hive-3.1.2/bin/beeline
Beeline version 3.1.2 by Apache Hive
beeline> !connect jdbc:hive2://node1:10000
Connecting to jdbc:hive2://node1:10000
Enter username for jdbc:hive2://node1:10000:root
Enter password for jdbc:hive2://node1:10000:123456
Kafka中的每个角色以及对应的功能
分布式主从架构【公平】:允许从节点选举成为主节点
主:Kafka Broker 【Controller】
从:Kafka Broker
ZK的功能
Kafka 3.0版本新特性:可以摆脱ZK,独立运行了
小结:理解Kafka集群架构及角色功能
1)下载解压安装
下载:http://archive.apache.org/dist/kafka/
上传到第一台机器
cd /opt/software/
解压
# 解压安装
tar -zxvf kafka_2.12-2.4.1.tgz -C /opt/server/
cd /opt/server/kafka_2.12-2.4.1/
# Kafka数据存储的位置
mkdir datas
2)修改配置
切换到配置文件目录
cd /opt/server/kafka_2.12-2.4.1/config
修改server.properties:vim server.properties
#21行:唯一的 服务端id
broker.id=0
#60行:指定kafka的日志及数据【segment【.log,.index】】存储的位置
log.dirs=/opt/server/kafka_2.12-2.4.1/datas
#123行:指定zookeeper的地址
zookeeper.connect=node1:2181,node2:2181,node3:2181
#在最后添加两个配置,允许删除topic,当前kafkaServer的主机名
delete.topic.enable=true
host.name=node1
分发
xsync /opt/server/kafka_2.12-2.4.1/
第二台:server.properties
#21行:唯一的 服务端id
broker.id=1
#最后
host.name=node2
第三台:server.properties
#21行:唯一的 服务端id
broker.id=2
#最后
host.name=node3
添加环境变量
vim /etc/profile
#KAFKA_HOME
export KAFKA_HOME=/opt/server/kafka_2.12-2.4.1
export PATH=:$PATH:$KAFKA_HOME/bin
source /etc/profile
1)启动Zookeeper
启动Kafka:只能启动当前节点
cd /opt/server/kafka_2.12-2.4.1/
bin/kafka-server-start.sh config/server.properties >>/dev/null 2>&1 &
# >>/dev/null 2>&1 将日志重定向到黑洞
关闭Kafka
bin/kafka-server-stop.sh
2)封装Kafka启停脚本:kafka.sh
#!/bin/bash KAFKA_HOME=/opt/server/kafka_2.12-2.4.1 case $1 in "start"){ for i in node1 node2 node3 do echo ---------- kafka $i 启动 ------------ /usr/bin/ssh $i "cd ${KAFKA_HOME};source /etc/profile;export JMX_PORT=9988;${KAFKA_HOME}/bin/kafka-server-start.sh ${KAFKA_HOME}/config/server.properties >>/dev/null 2>&1 &" echo "${host} started" done };; "stop"){ for i in node1 node2 node3 do echo ---------- zookeeper $i 停止 ------------ /usr/bin/ssh $i "cd ${KAFKA_HOME};source /etc/profile;${KAFKA_HOME}/bin/kafka-server-stop.sh" done };; esac
1)上传HBASE安装包到第一台机器的/opt/software目录下
2)解压安装
tar -zxf hbase-2.1.0.tar.gz -C /opt/server/
cd /opt/server/hbase-2.1.0/
3)修改配置
切换到配置文件目录下
cd /opt/server/hbase-2.1.0/conf/
修改hbase-env.sh:注意JDK的版本可能不一致
#28行
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
#125行
export HBASE_MANAGES_ZK=false
修改hbase-site.xml
cd /opt/server/hbase-2.1.0/
mkdir datas
vim conf/hbase-site.xml
<property> <!-- 指定hbase中临时文件存储位置 --> <name>hbase.tmp.dir</name> <value>/opt/server/hbase-2.1.0/datas</value> </property> <property> <!-- 指定hbase在hdfs中的存储位置 --> <name>hbase.rootdir</name> <value>hdfs://node1:8020/hbase</value> </property> <property> <!-- 是否构建分布式hbase --> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <!-- 指定zookeeper地址 --> <name>hbase.zookeeper.quorum</name> <value>node1,node2,node3</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property>
修改regionservers
vim conf/regionservers
node1
node2
node3
4)配置环境变量
#HBASE_HOME
export HBASE_HOME=/opt/server/hbase-2.1.0
export PATH=:$PATH:$HBASE_HOME/bin
5)复制jar包
cp lib/client-facing-thirdparty/htrace-core-3.1.0-incubating.jar lib/
6)分发
7)服务端启动与关闭
step1:启动HDFS【第一台机器】,注意一定要等HDFS退出安全模式再启动Hbase
hdp.sh start
step2:启动ZK
zk.sh start
step3:启动Hbase
start-hbase.sh
step4:先关闭Hbase再关闭zk
stop-hbase.sh
zk.sh stop
hdp.sh stop
8)测试
访问Hbase Web UI【node1:16010】
1)关闭YARN的内存检查
# yarn-site.xml中添加配置
vim /opt/server/hadoop/etc/hadoop/yarn-site.xml
添加如下内容:
<!-- 关闭yarn内存检查 -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
2)配置Application最大的尝试次数
# yarn-site.xml中添加配置
vim /opt/server/hadoop/etc/hadoop/yarn-site.xml
添加如下内容:
<property>
<name>yarn.resourcemanager.am.max-attempts</name>
<value>4</value>
</property>
3)同步yarn-site.xml配置文件
cd /opt/server/hadoop/etc/hadoop
xsync yarn-site.xml
4)启动HDFS集群和YARN集群
[root@node1 ~]# hdp.sh start
5)添加HADOOP_CONF_DIR
环境变量(集群所有机器)
# 添加环境变量
vim /etc/profile
添加内容:
export HADOOP_CONF_DIR=/opt/server/hadoop-3.3.0/etc/hadoop
环境变量生效
source /etc/profile
6)上传软件及解压
[root@node1 ~]# cd /opt/software/
上传软件包:flink-1.13.1-bin-scala_2.11.tgz
[root@node1 software]# tar -zxf flink-1.14.5-bin-scala_2.12.tgz -C /opt/server/
7)将Flink依赖Hadoop 框架JAR包上传至/opt/server/flink-1.14.5/lib
目录
8)配置HA高可用,依赖Zookeeper及重试次数(node1
操作)
# 修改配置文件
vim /opt/server/flink-1.14.5/conf/flink-conf.yaml
添加如下内容:
high-availability: zookeeper
high-availability.storageDir: hdfs://node1:8020/flink/yarn-ha/
high-availability.zookeeper.quorum: node1:2181,node2:2181,node3:2181
high-availability.zookeeper.path.root: /flink-yarn-ha
high-availability.cluster-id: /cluster_yarn
yarn.application-attempts: 10
9)集群所有机器,同步分发Flink 安装包,便于任意机器提交运行Flink Job。
10)启动Zookeeper集群
zk.sh start
11)测试
[root@node1 ~]# vim /opt/data/words.txt
spark python spark hive spark hive
python spark hive spark python
mapreduce spark hadoop hdfs hadoop spark
hive mapreduce
[root@node1 ~]# hdfs dfs -mkdir -p /wordcount/input/
[root@node1 ~]# hdfs dfs -put /root/words.txt /wordcount/input/
export HADOOP_CLASSPATH=`hadoop classpath`
/opt/server/flink-1.14.5/bin/flink run-application \
-t yarn-application \
-Djobmanager.memory.process.size=1024m \
-Dtaskmanager.memory.process.size=1024m \
-Dtaskmanager.numberOfTaskSlots=1 \
/opt/server/flink-1.14.5/examples/batch/WordCount.jar \
--input hdfs://node1:8020/wordcount/input
.14.5/conf/flink-conf.yaml
添加如下内容:
```properties
high-availability: zookeeper
high-availability.storageDir: hdfs://node1:8020/flink/yarn-ha/
high-availability.zookeeper.quorum: node1:2181,node2:2181,node3:2181
high-availability.zookeeper.path.root: /flink-yarn-ha
high-availability.cluster-id: /cluster_yarn
yarn.application-attempts: 10
9)集群所有机器,同步分发Flink 安装包,便于任意机器提交运行Flink Job。
10)启动Zookeeper集群
zk.sh start
11)测试
[root@node1 ~]# vim /opt/data/words.txt
spark python spark hive spark hive
python spark hive spark python
mapreduce spark hadoop hdfs hadoop spark
hive mapreduce
[root@node1 ~]# hdfs dfs -mkdir -p /wordcount/input/
[root@node1 ~]# hdfs dfs -put /root/words.txt /wordcount/input/
export HADOOP_CLASSPATH=`hadoop classpath`
/opt/server/flink-1.14.5/bin/flink run-application \
-t yarn-application \
-Djobmanager.memory.process.size=1024m \
-Dtaskmanager.memory.process.size=1024m \
-Dtaskmanager.numberOfTaskSlots=1 \
/opt/server/flink-1.14.5/examples/batch/WordCount.jar \
--input hdfs://node1:8020/wordcount/input
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。