前提 zookeeper 集群已经启动起来了
cloudera manager配置HDFS HA的高可用
注意*最好在第一次部署集群是就进行HA配置,这样namenode datanode都是干净的不会出现namemode format失败,namenode和datanode clusterID不一致问题
注意*确保namemode节点目录路径权限, 确保hdfs上创建/tmp目录,/user目录
chown hdfs:root -R /dfs 或 chown hdfs:hadoop -R /dfs (主要是namenode节点)
hdfs dfs -chmod 777 /tmp, hdfs dfs -chmod 777 /user(不设置777 在spark等相关使用过程中会因为权限问题导致很多阻挠)
注意*过程中一定要看清楚每一步的文字提示
注意*最好提前建好journalnode的目录 /dfs/jn/nameservice1
具体图解过程参看
https://blog.csdn.net/xiaoyutongxue6/article/details/81032322
https://blog.csdn.net/weixin_40803329/article/details/80800840?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
异常问题(前提 未进行namenode格式化、用过一段时间后才进行HA配置)
1 org.apache.hadoop.hdfs.qjournal.client.QuorumException: Got too many exceptions to achieve quorum size 2/3. 3 exceptions thrown:
出现了 journalnode始终无法formnat的错误
解决方法
1.尝试了删除datanode节点目录内容,namenode进行格式化
2.重新禁用HA ,再次开启HA
2,出现了datanode启动失败问题
原因是namenode clusterID跟datanode clusterID不匹配,将namenode的clusterID值赋值给datanode节点的clusterID 然后重启hdfs即可
cloudera manager配置Yarn HA的高可用
https://blog.csdn.net/zimiao552147572/article/details/87195180
spark 启动问题
1.查看CM中spark的配置信息 找到spark.history路径配置 /user/spark/applicationHistory 在hadoop中创建好 ,
同理把/user/spark/driverLogs目录也创建好
2.将spark用户添加到centos用户组hadoop中,且将hdfs的配置中dfs.permission管理组添加(或者改成)hadoop
1 grep 'hadoop:' /etc/group
2 lid -g hadoop
3 usermod -a -G hadoop spark
3.Spark on Yarn只需要部署一份spark,当应用程序启动时,spark会将相关的jar包上传注册给ResoureManager,任务的执行由ResourceManager来调度,并执行spark的代码。