今天发现一个问题,当hadoop集群运行一段时间以后,无法停止服务。执行stop-all的时候提示
no tasktracker to stop
,no datanode to stop。而当我把所有节点手动kill掉以后,执行start-all和stop-all均没有问题。在邮件群组里问
了一下,最后结论如下:
stop-all.sh会调用stop-mapred.sh和 stop-dfs.sh去停止jobtracker, tasktrackers; namenode, datanodes。
Jobtracker和namenode的停止是在本地通过调用hadoop-daemon完成的,而tasktracker,和datanode
的停止是通过调用hadoop-daemons来完成的。Hadoop-daemon实质上是ssh到每一个slave去执行一个当地的hadoop-
daemon命令,比如:hadoop-daemon stop datanoade。
Hadoop-daemon stop command会通过kill -0 `cat command.pid` 来测试进程是否存在,如果这个测试中有错误产生,就会报”no command to stop ”。
- 可能原因:
pid
文件丢了,导致
hadoop-daemon.sh stop XXX
时找不到进程号。
- 解决办法:默认
pid
文件放在
/tmp
目录下,不太安全。可以在
conf/hadoop-env.sh
里设置
HADOOP_PID_DIR
环
境变量改变
pid
文件的存放目录。
最后我增加上了pid的路径配置,这下应该没有问题了
原文出处:http://wuma.koubei.com/blog/userdetail/8231a5007a4c4978a076918216dbbc2a
分享到:
相关推荐
1. **hadoop-env.sh**:配置Hadoop环境变量,如JAVA_HOME,HADOOP_PID_DIR等,确保Hadoop可以正常启动。 2. **core-site.xml**:定义Hadoop的全局配置,如命名空间的默认FS,IO设置等。 3. **hdfs-site.xml**:...
例如,你可能需要调整HADOOP_OPTS以添加JVM参数,或者设置HADOOP_PID_DIR来指定Hadoop守护进程的PID文件存储位置。确保正确配置这些变量对优化Hadoop性能和稳定性有着直接影响。 2. **mapred-env.sh**: 这个文件...
其中,`masters`和`slaves`文件分别指定了NameNode和DataNode的列表,`hadoop-env.sh`用于设置Java环境变量和PID目录,这些都是Hadoop集群正常运行的基础。 ### 总结 构建Hadoop+HBase+Hive集群是一项复杂而细致的...
解决方法:查找被占用的端口号对应的PID,使用netstat –tunl命令,kill掉对应的进程,或者使用killall -9 java命令强制关闭java进程。 3、safeMode报错: 解决方法:NameNode启动时,首先进入安全模式,如果...
- **知识点说明**:配置机架感知可以让Hadoop更好地利用网络拓扑结构,将数据块尽可能地放在同一机架内的DataNode上,以减少跨机架的数据传输延迟。正确配置机架感知涉及到设置`dfs.hosts`和`dfs.hosts.exclude`等...
- 检查Hadoop的配置文件(如`hadoop-env.sh`、`core-site.xml`、`hdfs-site.xml`等),确保所有配置项都正确无误,尤其是与进程管理和通信相关的设置。 7. **日志分析**: - 提供的`hs_err_pid21198.log`文件是一...
- `hadoop-env.sh`: 设置 HADOOP_PID_DIR 和 HADOOP_OPTS。 - `core-site.xml`: 设置 HDFS 的默认存储位置和安全模式。 - `hdfs-site.xml`: 配置 NameNode 和 DataNode 的目录,副本数等。 - `yarn-site.xml`: 配置 ...
在 `Hadoop-env.sh` 中设置 `JAVA_HOME` 和日志、PID目录。在 `Core-site.xml` 中,更新 `hadoop.tmp.dir` 为新版本的临时目录,以及 `fs.default.name` 为新的NameNode地址,确保HDFS能够正确启动。 在 `Masters` ...
1. **获取集群节点列表**:首先,脚本读取配置文件(如`/opt/sohuhadoop/conf/slaves`),获取Hadoop集群所有节点的列表。 2. **分发脚本到各节点**:脚本通过SSH协议将自身复制到每个节点的临时目录(如`/tmp/`)...
- `HADOOP_PID_DIR` 和 `HADOOP_SECURE_DN_PID_DIR`:用于指定存放PID文件的目录,以方便管理和监控进程状态。 #### 四、运行Hadoop集群 ##### 4.1 非安全模式下的配置 - **目的**:适用于开发测试环境或不需要...
kernel.core_uses_pid= 1 kernel.msgmnb= 65536 kernel.msgmax= 65536 ``` 2. 修改`limits.conf` 在`/etc/security/limits.conf`中,为`gpadmin`用户添加以下行,以设置内存和打开文件数限制: ``` gpadmin ...
export HADOOP_PID_DIR=/var/hadoop/pids ``` 保存并使配置立即生效: ```bash source .bash_profile ``` #### 四、配置Hadoop 接下来,需要对Hadoop进行必要的配置。主要涉及以下几个配置文件: - **core-site....
在本文中,我们将详细介绍如何在已安装Hadoop环境的基础上配置Chukwa。 首先,确保你已经有了一个Cloudera-training-0.3.4的VMware镜像,这将提供一个预配置的环境,便于进行Chukwa的安装。另外,你还需要下载MySQL...
这段配置定义了两个模块:`hadoop`和`hbase`,分别用于同步Hadoop和HBase的配置文件。其中包含了各种模块参数的具体设置,如路径、用户权限、认证方式等。 #### 六、总结 通过对rsync daemon配置文件`rsyncd.conf`...
在处理Hadoop相关的安装或升级时,遵循上述步骤解决`apt-get`的锁文件问题,可以帮助你避免因为系统层面的干扰而中断Hadoop的配置过程。在Hadoop环境中,正确管理和维护系统包是确保Hadoop组件能够顺利安装和运行的...
可能是由于节点之间的Hadoop版本不一致,或者配置文件冲突等问题。 - 升级或降级:将有问题的节点更新至与集群其他节点相同的版本,或反过来,确保所有节点的Hadoop组件版本一致。 - 重新初始化:在确认版本无误后...
3. **HDFS安装**:由于HBase与Hadoop紧密集成,需要预先安装好Hadoop并配置好HDFS。 4. **ZooKeeper安装**:虽然可以在HBase中内嵌ZooKeeper,但推荐单独安装ZooKeeper以提高系统的稳定性和可管理性。请参考...
Hadoop 的主要组件如 NameNode(8020)、DataNode(50010)、ResourceManager(8032)、NodeManager(8040)和 JobHistory Server(10020)都有固定的默认端口,面试时可能会问到如何配置和理解这些端口的作用。...