from http://blog.163.com/zhengjiu_520/blog/static/3559830620130510443956/
最近在测试mysql往HDFS备份的性能问题,发现对mysql执行xtrabackup进行限速之后经常出现HDFS写入不正常的情况。
1. 错误如下:
11/10/12 10:50:44 WARN hdfs.DFSClient: DFSOutputStream ResponseProcessor exception for block blk_8540857362443890085_4343699470java.net.SocketTimeoutException: 66000 millis timeout while waiting for channel to be ready for read. ch : java.nio.channels.SocketChannel[connected local=/172.*.*.*:14707 remote=/*.*.*.24:80010]
2. 修改超时设置
后来发现HDFS写入过程中有两个超时设置: dfs.socket.timeout和 dfs.datanode.socket.write.timeout;有些地方以为只是需要修改后面 的dfs.datanode.socket.write.timeout项就可以,其实看报错是READ_TIMEOUT。对应在hbase中的默认值如下:
// Timeouts for communicating with DataNode for streaming writes/reads
public static int READ_TIMEOUT = 60 * 1000; //其实是超过了这个值
public static int READ_TIMEOUT_EXTENSION = 3 * 1000;
public static int WRITE_TIMEOUT = 8 * 60 * 1000;
public static int WRITE_TIMEOUT_EXTENSION = 5 * 1000; //for write pipeline
3. 修改配置文件
所以找出来是超时导致的,所以在hadoop-site.xml[hdfs-site.xml]配置文件中添加如下配置:
<property>
<name>dfs.datanode.socket.write.timeout</name>
<value>3000000</value>
</property>
<property>
<name>dfs.socket.timeout</name>
<value>3000000</value>
</property>
</configuration>
附:备份命令
innobackupex-1.5.1 –user=* –tmpdir=$BAKDEST –stream=tar $BAKDEST –slave-info | $COMPRESS | java hdfs write
相关推荐
在大数据处理领域,Hadoop是不可或缺的核心框架,它提供了分布式存储和计算的能力。...一旦设置完成,Grafana将成为你管理Hadoop集群的得力助手,帮助你做出更明智的决策,优化系统性能,提升整体稳定性。
其他设置包括任务的内存分配、并行度、任务超时时间等。对于MapReduce v2 (YARN),还需要设置`mapreduce.jobtracker.address`指向Resource Manager的位置。 4. **yarn-site.xml**: YARN是Hadoop 2引入的资源管理...
首先,`core-default.xml`是Hadoop的核心组件配置文件,它包含了Hadoop的基本设置。这个文件主要涉及以下几个方面: 1. **文件系统**:定义了Hadoop默认的文件系统(如hdfs://localhost:9000),以及文件操作的缓冲...
Hadoop的类路径可以通过修改`HADOOP_CLASSPATH`环境变量来设置,或者在`hadoop-site.xml`配置文件中指定。 3. **测试连接**:确保Hadoop可以正确识别和加载这些库,你可以编写一个简单的Java程序,使用Hadoop的API...
- **`yarn.app.mapreduce.am.job.committer.cancel-timeout--60000`**:设置了MapReduce应用master作业提交取消超时时间为60秒。 - **`fs.ftp.host.port--21`**:指定了FTP服务器端口为21,虽然Hadoop本身并不直接...
这可能包括设置HADOOP_HOME、JAVA_HOME等环境变量,以及修改pom.xml配置文件中的依赖版本。 4. **获取依赖包**:这正是"编译Hadoop需要的其他包(2.7.5)"发挥作用的地方。这个压缩包很可能包含了编译Hadoop时所需...
* 可靠性:Hadoop RPC 使用了多种机制来确保系统的可靠性,例如心跳机制、超时机制等。 结论 Hadoop RPC 是 Hadoop 项目中的一个重要组件,它提供了分布式系统中的通信和数据交换机制。通过对 Hadoop RPC 的详细...
`zoo.cfg`是ZooKeeper的主要配置文件,其中包含了服务器列表、数据存储路径、会话超时时间等参数。 Spark的配置文件主要为`spark-defaults.conf`,这里可以设置执行器的内存、核心数、日志级别等。在CDH4中,Spark...
4. `zoo.cfg`: 虽然HBase使用ZooKeeper作为协调服务,但ZooKeeper的配置通常与Hadoop共享,这里可能包含ZooKeeper服务器列表、会话超时时间等。 在使用这些配置文件时,你需要确保所有主机名正确,并且文件路径与你...
针对官方的Hadoop软件中提供的节点心跳超时容错机制对短作业并不合理,而且忽略了异构集群中各节点超期时间设置的公平性的问题,提出了公平心跳超时容错机制。首先根据每个节点的可靠性及计算性能构建节点故障误判...
在实际部署环境中,还需要考虑安全性和性能优化,例如启用Hadoop的安全认证(如Kerberos)、调整HDFS和YARN的参数以适应具体硬件和负载情况,以及对Zookeeper的TTL和会话超时进行适当设置。 通过以上步骤,你可以...
不过,传统的Hadoop心跳超时机制对于短作业来说并不友好,原因在于它不能有效区分任务的执行时间,短作业可能因节点故障而受到不公平的超时时间设置影响。此外,异构集群中各节点超期时间的公平性也未得到合理处理,...
- **增加超时时间**:增加`discovery.zen.ping.timeout`值,以确保所有节点都有足够的时间进行通信。 - **指定候选节点**:通过`discovery.zen.ping.unicast.hosts`来指定master候选节点列表。 - **最小master节点数...
解压zookeeper-3.4.5.tar.gz后,同样需要进行必要的配置,如设置数据存储目录、客户端连接地址等,然后启动服务。 Hadoop和Zookeeper的集成使用是大数据生态系统中常见的场景。例如,Hadoop的YARN可以依赖Zookeeper...
- 设置Hadoop的临时目录。 - 配置ZooKeeper的地址和超时时间。 - 示例配置: ```xml <name>fs.defaultFS <value>hdfs://myha01/ <name>hadoop.tmp.dir <value>/opt/hadoop-2.7.5/data/hadoopdata/ ...
在Hadoop中,每个正在写入中的文件都有一个租约,该租约包含一个超时时间,分为“软超时”(1分钟)和“硬超时”(1小时)。当租约达到软超时时,会触发`internalReleaseLease`方法,其主要逻辑如下: - 验证文件...
- `idle_session_timeout=600`:设置会话超时时间,防止长时间占用资源。 - `async_abor_enable=YES`:开启异步传输功能,提高传输效率。 - `ascii_upload_enable=YES`:启用ASCII模式上传,适用于文本文件。 - `...
- 为了确保稳定性,DataNode和TaskTracker设置的心跳时间应小于空闲连接的清理阈值。 #### 三、关键配置参数 - **`ipc.server.handler.queue.size`**:`callQueue`的大小,随集群规模增大而调整。 - **`ipc....
首先,`core-site.xml`是Hadoop的核心配置文件,它定义了Hadoop的基本行为和属性,比如文件系统的默认FS(默认文件系统)、I/O设置等。例如,`fs.defaultFS`属性指定了Hadoop集群的名称节点地址,它是所有HDFS操作的...