搭建大数据环境集群环境算是比较麻烦的一个事情,并且对硬件要求也比较高其中搭建大数据环境需要准备jdk环境和zk环境,还有hdfs,还有ssh之间的免密操作,还有主机别名访问不通的问题 等。
必然会出现的问题:环境版本,配置问题,内存问题,节点端口通讯等。
最终效果图:
三台服务器:
jdk | jdk1.8 | 环境变量 |
hadoop | hadoop-3.1.3 | 版本 |
flink | flink-1.6.1 | 版本 |
主 | 192.168.192.150 | 免密登录 |
从1 | 192.168.192.151 | 免密登录 |
从2 | 192.168.192.152 | 免密登录 |
三台服务器设置免密登录,且配置当前主机的别名映射:
vim /etc/hosts
三台服务器的配置信息:
我这里电脑是16G运行内存,也可以看设备管理器(虚拟机设置太大运行内存虚拟机会报错,适量内存配置)
vim /opt/hadoop-3.1.3/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_301
export HADOOP_HOME=/opt/hadoop-3.1.3
vim /opt/hadoop-3.1.3/etc/hadoop/core-site.xml
fs.default.name
hdfs://192.168.192.150:9000
vim /opt/hadoop-3.1.3/etc/hadoop/yarn-site.xml
yarn.resourcemanager.resource-tracker.address
192.168.192.150:8025
yarn.resourcemanager.scheduler.address
192.168.192.150:8030
yarn.resourcemanager.address
192.168.192.150:8050
yarn.nodemanager.vmem-check-enabled
false
yarn.nodemanager.pmem-check-enabled
false
vim /opt/hadoop-3.1.3/etc/hadoop/mapred-site.xml
mapred.job.tracker
192.168.192.150:54311
yarn.app.mapreduce.am.env
HADOOP_MAPRED_HOME=$HADOOP_HOME
mapreduce.map.env
HADOOP_MAPRED_HOME=$HADOOP_HOME
mapreduce.reduce.env
HADOOP_MAPRED_HOME=$HADOOP_HOME
vim /opt/hadoop-3.1.3/etc/hadoop/hdfs-site.xml
dfs.replication
2
dfs.namenode.name.dir
file:/data/hadoop/hadoop_data/hdfs/namenode
vim /opt/hadoop-3.1.3/etc/hadoop/workers
vim /opt/hadoop-3.1.3/sbin/start-dfs.sh
vim /opt/hadoop-3.1.3/sbin/stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
因为hdfs启动是root用户需要配置root配置,也可以加到/etc/profile 全局环境变量中
vim /opt/hadoop-3.1.3/sbin/start-yarn.sh
vim /opt/hadoop-3.1.3/sbin/stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
scp -r /opt/hodoop3.1.3 slave1:/opt/
scp -r /opt/hodoop3.1.3 slave2:/opt/
/opt/hadoop-3.1.3/bin/hadoop namenode -format
(注意:这里如果jps没有namenode就需要手动启动了)
hadoop-daemon.sh start namenode
start-all.sh
master->192.168.192.150
slave1-> 192.168.192.151
slaev2->192.168.192.152
QuorumPeerMain zookeeper的进程
ResourceManager flink进程
TaskManagerRunner flink进程
NodeManager yarn进程
NameNode HDFS进程
DataNode HDFS进程
web页面访问:
大数据地址:
http://192.168.192.150:8088
flink访问地址:
http://192.168.192.150:8081
./bin/flink run -m yarn-cluster -yn 2 -yjm 1024 -ytm 1024 -c com.xiaoyang.streaming.SocketDemoFullCount ../Flink-1.0-SNAPSHOT.jar
去hadoop界面查看任务执行情况
为啥要采用这种方式部署:
(开辟资源+提交任务)
没次创建新的flink集群任务之间互不影响,任务执行完成后对应集群也会消失。
先开辟资源再提交任务
这种会使用所以任务都会提交到一个资源,任务需要手动停止,不易于拓展和管理
这种问题一看就是脚本问题启动问题
错误脚本:
./bin/flink run -m yarn-cluster -yn 2 -yjm 1024 -ytm 1024 ../Flink-1.0-SNAPSHOT.jar -c com.xiaoyang.streaming.SocketDemoFullCount
正确脚本:
./bin/flink run -m yarn-cluster -yn 2 -yjm 1024 -ytm 1024 -c com.xiaoyang.streaming.SocketDemoFullCount ../Flink-1.0-SNAPSHOT.jar
集群里面的配置最好使用ip配置,不要使用别名,这样在通讯的时候不会出现端口问题,这样启动任务的时候会有连接问题。
权限配置问题需要配置要么配置到全局变量或者 指定配置里面,不然会报错。
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
主节点必须要有NameNode ,从节点要有DataNode 不然启动hdfs启动会报错。
如果配置错误也会导致报错各种问题,所以配置需要仔细检查
首先部署hadoop集群其实还是比较麻烦的,环境配置,各个配置的依赖,节点信息,当然部署过程难免也会遇到很多问题,但是我们在解决一个困扰很久的问题的时候你不仅在成长还会收获满满的成就感。
————没有与生俱来的天赋,都是后天的努力拼搏(我是小杨,谢谢你的关注和支持)
页面更新:2024-04-11
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号