flink的yarn模式部署

1,120 阅读2分钟

设置ssh免密登录,这里是针对本机。使用ssh即使自己登录自己也会要密码

运行命令:
	ssh localhost
如果出现 “Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.” 
类似的错误则说明需要配置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
	可以直接登录无需密码即为可以了

上传hadoop-2.7.5.tar.gz

把hadoop-2.7.5.tar.gz安装包上传到服务器
解压:
tar -xf hadoop-2.7.5.tar.gz

配置hdfs

cd hadoop-2.7.5
vi etc/hadoop/core-site.xml

修改core-site.xml文件内容为:

<configuration>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>file:/home/flink/hadoop-2.7.5/tmp</value>
		<description>Abase for other temporary directories.</description>
	</property>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://localhost:9009</value>
	</property>
</configuration>

vi etc/hadoop/hdfs-site.xml

修改hdfs-site.xml内容为:

<configuration>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/home/flink/hadoop-2.7.5/tmp/dfs/name</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/home/flink/hadoop-2.7.5/tmp/dfs/data</value>
	</property>
</configuration>

需要显示的声明JAVA_HOME, 即使环境变量里已经有了JAVA_HOME。否则会报错:JAVA_HOME is not set and could not be found
vi etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/local/java

格式化和启动hdfs

在/home/flink/hadoop-2.7.5目录下

bin/hdfs namenode -format
sbin/start-dfs.sh

成功启动后可以通过 http://192.168.1.134:50070/ 访问hdfs web页面。
使用jps查看进程可以看到DataNode、NameNode、SecondaryNameNode 三个进程,
如果没有看到NameNode,可以排除下是不是端口有冲突,然后修复core-site.xml中fs.defaultFS配置的端口号重试下。

配置yarn

vi etc/hadoop/mapred-site.xml

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

vi etc/hadoop/yarn-site.xml

<configuration>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
	<!-- 设置yarn启动应用是不检测虚拟内存 -->
	<property>
		<name>yarn.nodemanager.vmem-check-enabled</name>
		<value>false</value>
	</property>
</configuration>

启动yarn:

sbin/start-yarn.sh

启动后可以通过 http://192.168.1.134:8088/ 访问ResourceManager

Flink run 方式提交

运行程序前需要设置hadoop相关的环境变量:

	export HADOOP_HOME=/home/flink/hadoop-2.7.5
	export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
	export HADOOP_CLASSPATH=`hadoop classpath` #此条不许修改,直接复制
	export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

把flink-shaded-hadoop-2-uber-2.7.5-10.0.jar这个jar包放到flink-1.10.0/lib目录下
flink-shaded-hadoop-2-uber-2.7.5-10.0.jar在flink官网下载

使用yarn启动应用:
	
	在/usr/local/src/flink-1.10.0/examples/batch目录下执行
	
	flink run -m yarn-cluster WordCount.jar
	
	可以在http://192.168.1.134:8088/页面看到记录信息

备注

参考文章地址:https://www.jianshu.com/p/1b05202c4fb6
文章里说明比较详细的讲述了flink的yarn模式部署

遇到的问题参考这个文章:
https://www.cnblogs.com/quchunhui/p/12463455.html
https://blog.csdn.net/qq_39338967/article/details/105223871