hadoop 集群及hbase集群的pid文件存放位置

一、当hbase集群和hadoop集群停了做一些配置调整,结果运行stop-all.sh的时候无法停止集群,
提示no datanode,no namenode等等之类的信息,
查看stop-all.sh stop-dfs.sh,stop-yarn.sh脚本,发现都是通过一个pid文件来停止集群的。
这些进程的pid文件默认都是保存在系统的/tmp目录下面,系统每个一段时间就会清楚/tmp下面的内容,于是ls /tmp看了一下,果然没有相关进程的pid文件了。才导致了stop-all.sh无法停止集群的原因。
当时我怕强制kill -9杀进程的话会破坏集群,于是我想到一个方法,按照pid文件的命名规则重新在/tmp目录下面创建这些pid文件,在翻看了一堆sbin目录下的脚本之后,找到了它们的命名规则。
比如hadoop相关进程的pid文件命名规则为:pid=$HADOOP_PID_DIR/hadoop-$HADOOP_IDENT_STRING-$command.pid
yarn相关进程的pid文件规则:pid=$YARN_PID_DIR/yarn-$YARN_IDENT_STRING-$command.pid
默认情况下$HADOOP_PID_DIR和$YARN_PID_DIR都为/tmp,$HADOOP_IDENT_STRING和$YARN_IDENT_STRING都为当前系统登录的用户名,$command为当前执行的命令
比如执行了一个 hadoop-daemon.sh stop namenode,这时候就会去找/tmp/hadoop-hadoop-namenode.pid文件拿到namenode进程的pid号,来停止namenode进程。
了解原理之后,于是我就开始手动创建这些文件,我首先jps把所有进程的pid都记录下来了,然后在/tmp目录按照命名规则创建好了这些进程的pid文件,然后再重新执行stop-all.sh命令,ok可以成功关闭集群了。
但这不是一个长久之计,因为下次pid文件还是保存在/tmp目录下,还是会出这个问题,所以要彻底解决这个问题,就是不使用默认的/tmp文件夹来存放pid文件。
按以下步骤:
1 在集群各个节点的/var目录下面创建一个文件夹: sudo mkdir -p /var/hadoop/pids,记得更改这个文件夹的权限,chown -R hadoop:hadoop /var/hadoop,将这个目录及子目录的拥有者改为你的当前用户,我这是hadoop,不然执行start-all.sh的时候当前用户会没有权限创建pid文件
2 修改hadoop-env.sh 增加:export HADOOP_PID_DIR=/var/hadoop/pids
3 修改yarn-env.sh 增加:export YARN_PID_DIR=/var/hadoop/pids
4 修改hbase-env.sh ,增加:export HBASE_PID_DIR=/var/hadoop/pids
重新运行 start-all.sh,start-hbase.sh把hadoop集群和hbase集群启动起来
然后我们ls /var/hadoop/pids查看一下pid文件是否生成在里面了,果然出现在了里面,如下:
hadoop-hadoop-namenode.pid           hbase-hadoop-master.pid
hadoop-hadoop-secondarynamenode.pid  yarn-hadoop-resourcemanager.pid
这是master上的pid文件,我们还可以去slaves机器上去看看都有哪些:
hadoop-hadoop-datanode.pid     yarn-hadoop-nodemanager.pid
hbase-hadoop-regionserver.pid
然后我们再运行stop-hbase.sh和stop-all.sh命令来测试一下看看能不能正常停止hbase集群和hadoop集群,结果是肯定的。
特别注意:如果集群和habse启动了,但是不能查看数据或hbase shell以及访问Hbase的web端(503错误) 那么hadoop 已近进入了安全模式,
需要执行hadoop dfsadmin -safemode leave  退出安全模式才行
最后注意一点就是,不仅仅是修改master的所有env文件,集群中的所有节点的这些文件都要修改!
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Hadoop集群中配置Hive和HBase需要按照以下步骤进行: 1. 安装Hadoop集群并确保其正常运行。 2. 下载Hive和HBase的二进制文件,并解压缩到合适的目录。 3. 配置Hadoop环境变量,确保Hadoop的bin目录已经加入到PATH环境变量中。 4. 配置Hive和HBase的环境变量,分别设置HIVE_HOME和HBASE_HOME变量。 5. 配置Hive和HBase的相关配置文件,如hive-site.xml和hbase-site.xml,可以根据实际需求进行调整。 6. 配置Hive和HBase的元数据存储,Hive默认使用Derby作为元数据存储,但是在生产环境中建议使用MySQL或PostgreSQL等数据库。HBase的元数据存储可以使用Zookeeper。 7. 启动Hadoop集群和相关组件,如Hive和HBase。 以上是配置Hadoop集群中Hive和HBase的基本步骤,具体配置方式可以根据实际情况进行调整。需要注意的是,Hive和HBase的配置可能存在一定的依赖关系,需要根据具体情况进行安装和配置。 ### 回答2: Hadoop集群是一个用于存储和处理大规模数据的分布式计算平台。在配置Hadoop集群前,我们需要确保每个节点都满足Hadoop的硬件和软件要求。确定节点后,我们需要进行以下配置: 1. 安装Hadoop:首先,在每个节点上安装Hadoop软件包。可以使用Hadoop官方网站提供的二进制文件进行安装,也可以使用其他Hadoop发行版,如Cloudera或Hortonworks。 2. 配置Hadoop核心:接下来,编辑Hadoop的核心配置文件(如hadoop-env.sh、core-site.xml和hdfs-site.xml)来定义Hadoop的全局设置和HDFS(分布式文件系统)的设置。在配置文件中,需要指定Hadoop集群的名称、文件系统URI、数据块大小等。 3. 配置Hadoop集群管理器:在其中一个节点上配置Hadoop集群管理器,通常是指定为“主节点”。这包括编辑yarn-site.xml文件来设置YARN(Yet Another Resource Negotiator)资源管理器的相关设置,以及mapred-site.xml文件来设置MapReduce框架的相关设置。 4. 配置Hive:Hive是一个基于Hadoop的数据仓库基础架构,可以对存储在Hadoop集群中的数据进行查询和分析。要配置Hive,首先需要在每个节点上安装Hive软件包。接下来,编辑hive-site.xml文件来定义Hive的设置,如Hive的数据库和元数据存储位置等。 5. 配置HBaseHBase是一个基于Hadoop的分布式数据库,用于存储和处理结构化数据。要配置HBase,首先需要在每个节点上安装HBase软件包。然后,编辑hbase-site.xml文件来定义HBase的设置,如Zookeeper的位置HBase根目录和HBase表的存储位置等。 配置完成后,需要启动Hadoop集群、Hive和HBase服务,以便开始使用它们。启动后,可以使用相关命令和工具,如hdfs命令进行HDFS操作,hive命令进行Hive查询,以及hbase shell进行HBase操作。此外,还可以使用Hadoop集群管理器的Web界面来监视和管理Hadoop集群的运行状况。 ### 回答3: Hadoop集群是一种分布式计算系统,用于处理大数据。Hadoop集群的配置需要考虑以下几个方面: 1. 设置Hadoop集群的基本配置:包括设置HDFS(Hadoop分布式文件系统)和YARN(Yet Another Resource Negotiator)的配置参数,例如设置数据块大小、副本数量等。 2. 配置Hadoop集群的主节点(NameNode和ResourceManager):主节点是集群中的控制节点,负责管理其他节点的工作。需要配置主节点的IP地址、端口号等参数。 3. 配置Hadoop集群的从节点(DataNode和NodeManager):从节点是执行任务的节点,需要配置从节点的IP地址、端口号等参数。 4. 安装和配置Hive:Hive是一个基于Hadoop的数据仓库工具,可以方便地进行数据查询和分析。需要安装Hive,并配置和启动Hive的服务。 5. 配置Hive的元数据存储:Hive的元数据存储可以选择使用本地磁盘或者远程数据库。需要配置Hive的元数据存储位置和连接信息。 6. 创建和配置Hive表:Hive使用类SQL语句来对数据进行查询和分析,需要创建和配置Hive表,包括表的结构、分区和存储位置等。 HBase是一个面向列的分布式数据库,用于存储大规模结构化数据。HBase的配置主要包括以下几个方面: 1. 设置HBase集群的基本配置:包括ZooKeeper的配置、HBase的配置参数等。需要设置ZooKeeper的IP地址、端口号等参数。 2. 配置HBase集群的主节点(HMaster):主节点负责管理集群中的RegionServer,在主节点上需要配置HMaster的相关参数。 3. 配置HBase集群的从节点(RegionServer):从节点用来存储和处理数据,需要配置RegionServer的相关参数。 4. 配置HBase的表:HBase的数据以表的形式进行存储,需要创建和配置表的结构、列族等信息。 5. 设置HBase的数据存储策略:可以配置HBase的数据存储策略,例如选择使用HDFS作为存储介质还是本地文件系统。 以上是Hadoop集群、Hive和HBase的基本配置过程,具体的配置步骤和参数设置可以根据实际需求和环境来进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值