一、基础环境 1、环境版本 2、Hadoop目录结构 3、配置加载 二、伪集群配置 1、配置hadoop-env 2、配置core-site 3、配置hdfs-site 4、配置yarn-env 5、配置yarn-site 6、配置mapred-env 7、配置mapred-site 三、环境启动测试 1、测试文件系统 2、Web端查看文件 四、历史服务器 1、修改mapred-site 2、启动服务 3、Web端查看 4、配置日志的聚集 ### Hadoop 单服务集群搭建知识点详解 #### 一、基础环境 1. **环境版本** - **操作系统**: CentOS 7 - **Hadoop 版本**: 2.7.2 - **JDK 版本**: 1.8 - 在部署 Hadoop 集群之前,需要确保上述软件版本符合需求。CentOS 7 是一个稳定的 Linux 发行版,适用于生产环境。Hadoop 2.7.2 提供了良好的稳定性和性能,而 JDK 1.8 是 Hadoop 2.7.2 推荐使用的 Java 版本。 2. **Hadoop 目录结构** - **bin**: 存放用于操作 HDFS 和 YARN 服务的脚本。 - **etc**: 包含 Hadoop 的配置文件。 - **lib**: 存放本地库文件,支持数据压缩和解压功能。 - **sbin**: 包含启动和停止 Hadoop 服务的脚本。 - **share**: 存放 Hadoop 的依赖 JAR 包、文档和示例代码。 3. **配置加载** - 修改 `/etc/profile` 文件来添加必要的环境变量。 ```bash export JAVA_HOME=/opt/jdk1.8 export PATH=$PATH:$JAVA_HOME/bin export HADOOP_HOME=/opt/hadoop2.7 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` - 通过 `source /etc/profile` 来使配置生效。 #### 二、伪集群配置 1. **配置 hadoop-env.sh** - 编辑 `/opt/hadoop2.7/etc/hadoop/hadoop-env.sh` 文件,并设置 `JAVA_HOME` 变量。 ```bash export JAVA_HOME=/opt/jdk1.8 ``` 2. **配置 core-site.xml** - 文件结构概览: ```xml <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> </configuration> ``` - 设置 HDFS 的默认地址: ```xml <property> <name>fs.defaultFS</name> <value>hdfs://127.0.0.1:9000</value> </property> ``` - 指定 Hadoop 运行时临时文件的存储目录: ```xml <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop2.7/data/tmp</value> </property> ``` 3. **配置 hdfs-site.xml** - 配置 HDFS 数据块的副本数量,对于伪集群环境,通常设置为 1。 ```xml <property> <name>dfs.replication</name> <value>1</value> </property> ``` 4. **配置 yarn-env.sh** - 类似于 hadoop-env.sh,设置 `JAVA_HOME`。 ```bash export JAVA_HOME=/opt/jdk1.8 ``` 5. **配置 yarn-site.xml** - 指定 YARN 的 ResourceManager 地址: ```xml <property> <name>yarn.resourcemanager.hostname</name> <value>192.168.72.132</value> </property> ``` - 指定 map 产生的中间结果传递给 reduce 的机制: ```xml <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> ``` 6. **配置 mapred-env.sh** - 设置 `JAVA_HOME`。 ```bash export JAVA_HOME=/opt/jdk1.8 ``` 7. **配置 mapred-site.xml** - 将 `mapred-site.xml.template` 重命名为 `mapred-site.xml`。 - 设置 MapReduce 程序调度到集群上运行。 ```xml <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> ``` #### 三、环境启动测试 1. **测试文件系统** - 在首次启动时,需要格式化 NameNode。 ```bash [hadoop2.7]# bin/hdfs namenode -format ``` - 格式化会创建一个新的 clusterID,如果 NameNode 和 DataNode 的集群 ID 不一致,则会导致数据不一致。 2. **Web 端查看文件** - 一旦 Hadoop 集群启动成功,可以通过 Web 界面查看 HDFS 上的文件和目录。NameNode 的 Web 界面默认监听在 `http://localhost:50070`。 #### 四、历史服务器 1. **修改 mapred-site.xml** - 在 `mapred-site.xml` 文件中启用历史服务器。 ```xml <property> <name>mapreduce.jobhistory.address</name> <value>localhost:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>localhost:19888</value> </property> ``` - 这样可以查看历史作业的状态和日志。 2. **启动服务** - 使用以下命令启动历史服务器: ```bash [hadoop2.7]# sbin/start-historyserver.sh ``` 3. **Web 端查看** - 历史服务器的 Web 界面默认监听在 `http://localhost:19888`。 4. **配置日志的聚集** - 日志聚集允许将任务的日志收集到一个中心位置,便于后续分析。 ```xml <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> ``` - 此外,还需要配置日志保留时间和日志清理策略等参数。 以上是关于 Hadoop 单服务集群搭建的关键步骤和配置细节。通过这些步骤,可以在本地环境中构建一个完整的 Hadoop 集群,为后续的大数据分析处理奠定坚实的基础。
- 粉丝: 6124
- 资源: 1603
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助