今天在课堂上主要检查了hadoop和数据库的安装,而且我的都安装好了,没有出现问题,应该说都解决了。
Hadoop、ZooKeeper和HBase的启动与关闭顺序如下:
启动顺序:
启动Hadoop:首先启动Hadoop集群,包括HDFS和YARN等组件。这通常涉及在master节点上运行start-dfs.sh和start-yarn.sh等脚本。
启动ZooKeeper集群:接着启动ZooKeeper集群,确保每个节点上的ZooKeeper服务都已启动。这通常通过运行zkServer.sh start脚本来完成。
启动HBase:最后启动HBase集群。在HBase的master节点上运行start-hbase.sh脚本来启动HBase服务。hbase-daemon.sh start regionserver
关闭顺序:
停止HBase:首先停止HBase集群,通过运行stop-hbase.sh脚本来关闭HBase服务。
停止ZooKeeper集群:然后停止ZooKeeper集群,在每个节点上运行zkServer.sh stop脚本来关闭ZooKeeper服务。
停止Hadoop:最后停止Hadoop集群,包括停止HDFS和YARN等组件。这通常涉及在master节点上运行stop-dfs.sh和stop-yarn.sh等脚本。
遵循上述顺序可以确保各个组件之间的依赖关系得到正确处理,从而避免服务启动或关闭过程中可能出现的问题
启动HBase时遇到SLF4J多绑定错误,需解决jar包冲突。
问题描述:
启动HBase时,报错信息显示类路径中存在多个SLF4J绑定,导致冲突。
解决方案:
确定冲突来源:检查报错信息中提到的jar包路径,确定哪些jar包包含了SLF4J绑定。
选择解决方案:
修改环境变量:在$HBASE_HOME/conf/hbase-env.sh中设置HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true",以禁用Hadoop类路径查找,解决HBase与Hadoop之间的jar包冲突1。
删除或重命名jar包:将冲突的jar包删除或重命名,以确保类路径中只有一个SLF4J绑定。例如,可以将/usr/local/hbase/lib目录下的冲突jar包重命名2。
操作完成后,重新启动HBase,检查是否还存在SLF4J多绑定错误。