### Hadoop的全部配置 Hadoop作为分布式计算框架,在配置方面具有相当的灵活性与复杂性。根据提供的信息,“Hadoop的全部配置”这一标题暗示着文章将覆盖Hadoop配置的所有方面,包括但不限于核心配置文件(如`core-site.xml`、`hdfs-site.xml`、`mapred-site.xml`和`yarn-site.xml`)以及其他相关的环境变量和脚本设置等。此外,还提到了并非所有配置都需要手动调整,许多情况下可以使用默认值。 ### 配置概述 #### 1. **Java环境配置** - **`D:\ProgramFiles\Java\jdk1.8.0_131\bin\java`**:指定了Java运行时环境的位置。这表明系统正在使用Java 8版本的JDK。 - **`-ea`**:启用断言,通常用于开发阶段以便进行更详细的调试。 - **`-javaagent:D:\ProgramFiles\JetBrains\IntelliJIDEA2017.2.3\lib\idea_rt.jar=60670:D:\ProgramFiles\JetBrains\IntelliJIDEA2017.2.3\bin`**:为IntelliJ IDEA指定的代理,用于IDE内部功能的实现。 #### 2. **文件编码** - **`-Dfile.encoding=UTF-8`**:设置文件编码格式为UTF-8,这对于处理包含非英文字符的文件尤其重要。 #### 3. **类路径设置** - **`-classpath C:\Users\June\AppData\Local\Temp\classpath.jar`**:指定类路径,包含了临时文件夹中的jar文件,这是运行Java程序所必需的。 #### 4. **JUnit测试运行** - **`com.intellij.rt.execution.junit.JUnitStarter-ideVersion5-junit4com.allst.stubd.hadoop.hdfs.HdfsClientDemo,testConf`**:这段信息表明正在进行JUnit测试,测试的类是`HdfsClientDemo`,这可能是一个关于HDFS客户端操作的单元测试。 ### 配置细节 #### 1. **日志库冲突** - **SLF4J绑定问题**:在日志记录方面存在多处SLF4J绑定,这可能会导致日志输出不一致的问题。具体而言,存在以下几处绑定: - **`log4j-slf4j-impl-2.6.2.jar`** - **`slf4j-log4j12-1.7.5.jar`** - **`slf4j-log4j12-1.7.5.jar`** - **`log4j-slf4j-impl-2.1.jar`** - **解决方案**:通常建议只保留一处绑定,并确保整个系统使用相同的日志框架版本,以避免潜在的日志记录问题。 #### 2. **MapReduce和YARN配置** - **`mapreduce.jobtracker.address--local`**:指定了MapReduce作业追踪器的地址为本地。 - **`yarn.resourcemanager.scheduler.monitor.policies--org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy`**:设置了YARN资源管理器调度器监控策略为按容量比例抢占策略。 - **`ipc.server.tcpnodelay--false`**:禁用了TCP无延迟选项,这可能会影响网络性能。 - **`mapreduce.jobhistory.client.thread-count--10`**:设置了MapReduce作业历史服务客户端线程池大小为10个线程。 - **`mapred.child.java.opts---Xmx200m`**:限制了MapReduce任务的子进程最大堆内存为200MB。 - **`mapreduce.jobtracker.retiredjobs.cache.size--1000`**:设置了作业追踪器缓存已退休作业的最大数量为1000个。 #### 3. **HDFS配置** - **`dfs.client.https.need-auth--false`**:关闭了HDFS客户端通过HTTPS访问时的身份验证,这可能带来安全风险。 - **`yarn.admin.acl--*`**:设置了YARN管理员ACL为通配符“*”,意味着任何用户都有管理员权限。 - **`yarn.app.mapreduce.am.job.committer.cancel-timeout--60000`**:设置了MapReduce应用master作业提交取消超时时间为60秒。 - **`fs.ftp.host.port--21`**:指定了FTP服务器端口为21,虽然Hadoop本身并不直接支持FTP,但可能是在某些特定场景下的扩展应用。 - **`dfs.namenode.avoid.read.stale.datanode--false`**:允许名称节点读取陈旧的数据节点,这可能会导致数据一致性问题。 - **`dfs.journalnode.rpc-address--0.0.0.0:8485`**:设置了日志节点RPC地址为任意IP地址(`0.0.0.0`),端口为8485。 - **`yarn.timeline-service.leveldb-timeline-store.ttl-interval-ms--300000`**:设置了YARN时间线服务的LevelDB存储TTL间隔为300秒。 - **`yarn.ipc.rpc.class--org`**:未完整给出,但应指定YARN IPC RPC的实现类。 以上配置项只是Hadoop配置的一部分,根据实际需求的不同,还需要针对其他配置进行详细设置。例如,根据集群规模、安全性要求以及性能优化目标等因素的不同,具体的配置可能会有所不同。对于初次接触Hadoop的用户来说,了解这些配置的基本含义和作用是非常重要的。
- 粉丝: 4
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助