准备
机器:hostname-0(A机)、hostname-i(Slave机若干)
JAVA: 部署好Java环境,保证环境变量(.bashrc .bash_profile)。
SSH:打通A机到Slave机器的无密码登陆权限(包括A机ssh自己)
Hadoop(2.7*)搭建
1.下包,解压成hadoop目录。
2.在hadoop目录下创建HDFS使用的目录:tmp、hdfs/data、hdfs/name
3.修改hadoop/etc/hadoop目录下配置(使用key/value形式表示XML格式)
core-site.xml //基本配置
fs.defaultFS hdfs://hostname-0:9000 //指定HDFS namenode
hadoop.tmp.dir file:/home/admin/hadoop/tmp //指定临时文件目录
hdfs-site.xml //HDFS配置
dfs.namenode.name.dir file:/home/admin/hadoop/hdfs/name //namenode的存储name信息的文件夹
dfs.datanode.data.dir file:/home/admin/hadoop/hdfs/data //HDFS存储数据的文件夹
dfs.replication 2 //HDFS默认副本数
dfs.namenode.secondary.http-address hostname-0:9001 //HDFS 备用namenode地址
dfs.webhdfs.enabled true //允许HDFS通过web界面访问
mapred-site.xml //MapReduce配置
mapreduce.framework.name yarn //MR通过YARN来调度
mapreduce.jobhistory.address hostname-0:10020 //MR jobHistory server的地址
mapreduce.jobhistory.webapp.address hostname-0:19888 //jobHistory server web地址
yarn-site.xml //YARN配置
yarn.nodemanager.aux-services mapreduce_shuffle //NodeMonitor上运行的附属服务,MR相关
yarn.nodemanager.auxservices.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler //同MR相关
yarn.resourcemanager.address hostname-0:8032 //RM对客户端暴露的地址
yarn.resourcemanager.scheduler.address hostname-0:8030 //RM对AppMaster暴露的地址
yarn.resourcemanager.resource-tracker.address hostname-0:8031 //RM对NodeMonitor暴露的地址
yarn.resourcemanager.admin.address hostname-0:8033 //RM对管理员暴露的地址
yarn.resourcemanager.webapp.address hostname-0:8088 //RM对UI暴露的地址
yarn.nodemanager.resource.cpu-vcores 32 //Slave机器的CPU核心数
yarn.nodemanager.resource.memory-mb 102400 //Slave机器的内存总量
yarn.nodemanager.vmem-pmem-ratio 5 //需要设置虚内存比例 以防被误杀
slaves //配置slaves
写入slave机的机器名,换行分割
4.Copy hadoop目录到其它slaves机器中。
5.hostname-0上执行bin/hdfs namenode -format,进行HDFS初始化
sbin目录下执行 ./start-all.sh
停止的话,输入命令,sbin/stop-all.sh
6.查看 hostname-0:8088 显示RM UI界面。
Run Flink(long running)
1.下Flink包(for hadoop2.0),解压之。
2.配置机器上的Hadoop conf的环境变量。
export HADOOP_CONF_DIR=/home/admin/hadoop/etc/hadoop/
3.资源申请
nohup ./bin/yarn-session.sh -n 12 -st -tm 5120 -s 5 -nm flink-1 > yarn.log &
(-n TaskManager个数 -st stream模式 -tm taskManager的内存 -s tm的slot个数 -nm app的名称)
这里需要nohup后台运行是因为此命令使用ctrl-c来退出的话,会导致触发JVM的钩子,Flink-cli会把资源全部收回。
4.查看UI。
hostname-0:8088 通过RM UI来查看此App,在UI上查看AppMaster的全日志,搜索关键字Web frontend listening,可以看到端口号。
根据AppMaster的地址和此端口可访问Flink JobManager的UI。
5.提交作业
在Flink UI的左下submit job选项,可提交Jar包,运行作业。
体验超快又好用的Flink流计算之旅吧~