Hadoop集群搭建——环境配置

一、集群搭建注意问题说明

1、此处集群环境搭建我使用了三台主机进行模拟,分别为:

hadoop-series.bxp.com
hadoop-series1.bxp.com
hadoop-series2.bxp.com

2、集群搭建前需要注意的问题:

(1)集群中的节点的用户名登陆名和密码应当保持一致。
(2)hadoop和jdk的安装目录应当保持一致。

以上保持一致不是必须的,只是为了防止环境搭建过程中的不必要的麻烦。

二、主机节点配置

1、修改主机名:

(1)临时修改

hostname  hadoop-series.bxp.com

此方法可以直接生效,但是电脑重启后将会失效。电脑重启将会读取配置文件。

(2)修改配置文件/etc/hostname,填写你的主机名

hadoop-series.bxp.com

使用以上的方法分别将三台的主机的主机名修改为:

hadoop-series.bxp.com
hadoop-series1.bxp.com
hadoop-series2.bxp.com

2、修改/etc/hosts文件,配置主机名到IP地址的映射。

192.168.1.103 hadoop-series.bxp.com hadoop-series
192.168.1.133 hadoop-series1.bxp.com hadoop-series1
192.168.1.135 hadoop-series2.bxp.com hadoop-series2

三、集群搭建

1、分析集群分布

为了提高集群的高可用性,把NameNode,ResourceManager,SecondaryNamenode分别方式在不同的机器上,最终分布如下:

条目主机1主机2主机3
HDFSNameNode, DataNodeDataNodeDataNode, SecondaryNameNode
YARNNodeManagerResourceManager, NodeManagerNodeManager
MapReduceJobHistoryServer

2、根据上述节点非配结果进行配置节点分布,配置各个文件:

(1)hdfs相关配置

hadoop-env.sh(配置hdfs运行环境):

JAVA_HOME=/home/bxp/Documents/install/jdk1.8.0_131

core-site.xml(配置namenode所在主机):


<configuration>
    <!--namenode所在主机-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop-series.bxp.com:8020</value>
    </property>
    <!--临时目录-->
    <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/bxp/Documents/install/hadoop-2.6.5/data/tmp</value>
        </property>
    <!--垃圾回收-->
    <property>
            <name>fs.trash.interval</name>
            <value>420</value>
        </property>
</configuration>

hdfs-site.xml(配置secondNameNode所在主机):

<configuration>
    <!-- 副本数量不需要进行控制,默认就可以-->
    <!--    
    <property>
             <name>dfs.replication</name>
            <value>1</value>
        </property>
    -->
    <!-- secondaryNamenode放在第hadoop-series2.bxp.com上-->
    <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoop-series2.bxp.com:50070</value>
    </property>
</configuration>

slaves(配置dataNode所在主机):

hadoop-series.bxp.com
hadoop-series1.bxp.com
hadoop-series2.bxp.com

(2)YARN相关配置

yarn-env.sh(配置yarn运行环境):

JAVA_HOME=/home/bxp/Documents/install/jdk1.8.0_131

yarn-site.xml(配置resouceManager所在主机):

<configuration>
 <property>
         <name>yarn.nodemanager.aux-services</name>
             <value>mapreduce_shuffle</value>
     </property>

    <!--配置ResourceManager在hadoop-series1.bxp.com上-->
    <property>
             <name>yarn.resourcemanager.hostname</name>
             <value>hadoop-series1.bxp.com</value>
    </property>

    <!--配置日志聚集-->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!--配置日志在文件系统中存放的秒数(604800为7天)-->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
</configuration>

slaves(配置NodeManager):

hadoop-series.bxp.com
hadoop-series1.bxp.com
hadoop-series2.bxp.com

(3) MapReduce相关配置

mapred-env.sh(配置mapreduce运行环境):

JAVA_HOME=/home/bxp/Documents/install/jdk1.8.0_131

mapred-site.xml(配置JobHistoryServer所在主机):

<configuration>
    <property>
             <name>mapreduce.framework.name</name>
             <value>yarn</value>
    </property>
    <!--配置job-history-->
    <property>
             <name>mapreduce.jobhistory.address</name>
             <value>hadoop-series1.bxp.com:10020</value>
    </property>
    <property>           <name>mapreduce.jobhistory.webapp.address</name>
             <value>hadoop-series1.bxp.com:19888</value>
    </property>
</configuration>

四、配置节点间的无密钥登陆

配置namenode节点和ResourceManager节点到其他节点的无密钥登陆。

此处配置无密钥登陆可以查看这里——>SSH无密钥登陆 与 配置公钥后仍需要输入密码的解决方案

五、分发已经配置好的hadoop安装包到其他各个节点

scp -r /home/bxp/hadoop  hadoop-series1.bxp.com:/home/bxp
scp -r /home/bxp/hadoop  hadoop-series2.bxp.com:/home/bxp

到这里集群搭建集群搭建的配置已经完毕了,如果想进行一些操作去测试集群的搭建是否成功,可以查看Hadoop启动模式,基本配置,启动方式

### 如何在WSL2上搭建Hadoop集群 #### 安装依赖项 为了在Windows Subsystem for Linux (WSL) 2 上成功安装并配置 Hadoop 集群,首先需要准备环境。这包括但不限于安装必要的软件包以及设置环境变量。 对于Java的安装,在大多数Linux发行版中可以通过包管理器完成;而对于特定版本的需求,则可能需要手动下载JDK压缩文件来满足Hadoop的要求。Apache Hadoop本身可以从官方网站获取稳定版本发布。此外,Findspark虽然主要用于简化Python访问Spark的过程,但在提及的大数据处理环境中同样重要,不过这里主要关注于Hadoop集群的建立[^1]。 #### 下载与解压Hadoop 前往官方资源或者可信镜像站点下载适合目标系统的Hadoop二进制分发版。以hadoop-2.7.4为例,将其放置于选定目录下之后执行如下命令进行解压操作: ```bash cd /root/soft/apache/hadoop/ tar -xvzf hadoop-2.7.4.tar.gz ``` 此过程会创建一个新的子文件夹`hadoop-2.7.4`用于存放已解压的内容[^2]。 #### 修改Bash Profile增加环境变量支持 为了让系统能够识别新加入的应用程序路径,编辑用户的`.bashrc`文件添加相应的出口声明语句是非常重要的一步。具体来说就是指明`HADOOP_HOME`的位置,并更新全局可执行文件搜索路径(`$PATH`)以便可以直接调用相关工具而无需每次都提供完整路径: ```bash vim ~/.bashrc export HADOOP_HOME=/root/soft/apache/hadoop/hadoop-2.7.4 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin source ~/.bashrc ``` 上述更改立即生效后就可以通过简单的命令测试是否正确设置了这些环境变量了。 #### 初始化NameNodeDataNode存储空间 考虑到分布式文件系统的特性,还需要预先准备好节点间共享的数据保存位置。通常做法是在根目录结构之外单独开辟临时区域作为DFS的基础架构组件之一——namenodedatanode的工作区: ```bash mkdir -p $HADOOP_HOME/tmp/dfs/name mkdir -p $HADOOP_HOME/tmp/dfs/data ``` 以上指令确保了即使重启也不会丢失元数据信息的同时也方便后续管理维护工作。 #### 启动Hadoop集群服务 当一切准备工作就绪以后,可以尝试启动单机模式下的伪分布式的Hadoop实例来进行初步的功能验证。如果遇到任何错误提示关于无法正确读取JVM参数的情况,请确认JAVA_HOME已经正确定义并且指向有效的JDK安装地址[^3]。 ```bash start-dfs.sh jps ``` 使用`jps`查看当前运行中的Java进程列表可以帮助判断各组成部分是否正常运作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值