3.【hadoop集群搭建】配置Hadoop环境变量

本文环境配置文件较多可以根据目录找到需要部分

1.配置hadoop-env.sh

(1)编辑hadoop-env.sh

vi  /hadoop/hadoop-2.6.0/etc/hadoop/hadoop-env.sh

(2)修改JAVA_HOME路径

注意:java_home指向的是你jdk的安装路径

export JAVA_HOME=/hadoop/jdk1.8.0_221

大概位置
在这里插入图片描述

如果忘记了一定要查看jdk安装所在的路径(安装vim命令yum install -y vim)

vim /etc/profile

2.配置yarn-env.sh

(1)编辑yarn-env.sh

vi  /hadoop/hadoop-2.6.0/etc/hadoop/yarn-env.sh

(2)修改JAVA_HOME路径

export JAVA_HOME=/hadoop/jdk1.8.0_221

大概位置
在这里插入图片描述

3.配置核心组件core-site.xml

1、创建hadoopdata目录,用于存放数据落地到本地服务器的磁盘位置

mkdir /hadoop/hadoopdata

2、编辑core-site.xml文件

vi /hadoop/hadoop-2.6.0/etc/hadoop/core-site.xml

3、配置文件中添加内容

<configuration>
<!-- 指定HDFS中NameNode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/hadoopdata</value>
#注意:文件的路径是否与之一致,不一致需修改(复制时这句话删除)
<description>Abasefor other temporary directories.</description>
</property>
</configuration>

大概位置
在这里插入图片描述

4.配置文件系统hdfs-site.xml

1.编辑hdfs-site.xml文件

vi /hadoop/hadoop-2.6.0/etc/hadoop/hdfs-site.xml

2.添加指定hdfs副本数量

<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>

大概位置
请添加图片描述

5.配置yarn-site.xml

vi /hadoop/hadoop-2.6.0/etc/hadoop/yarn-site.xml

添加

<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value></property>
<property><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

<property>
<name>yarn.resourcemanager.address</name><value>master:18040</value>
</property>

<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>

<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>

<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>

<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>
</configuration>

6.配置计算框架mapred-site.xml

1.创建mapred-site.xml文件

cp  /hadoop/hadoop-2.6.0/etc/hadoop/mapred-site.xml.template   /hadoop/hadoop-2.6.0/etc/hadoop/mapred-site.xml

2.编辑配置mapred-site.xml

vi  /hadoop/hadoop-2.6.0/etc/hadoop/mapred-site.xml
<configuration>
  <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
  </property>
</configuration>

7.配置slave

vi /hadoop/hadoop-2.6.0/etc/hadoop/slaves

文件中添加以下内容:(一台master两台slave如下配置)

slave1
slave2

8.配置hadoop启动环境变量

1.编辑环境配置文件

#要知道hadoop的安装路径

vi /etc/profile

2.底部添加内容:

export HADOOP_HOME=/hadoop/hadoop-2.6.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS=-Djava.library.path=$HADOOP_HOME/lib
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

3.执行以下命令,环境变量才能生效

source /etc/profile

<think>好的,用户现在问的是怎么设置Hadoop环境变量。之前他们遇到了找不到文件的问题,现在可能已经解决了路径或者权限的问题,现在想进一步配置环境变量。首先,我需要回想之前给出的回答中提到的环境变量相关的内容,比如在“路径配置错误”部分提到过检查HADOOP_HOME和JAVA_HOME的设置。用户现在可能想详细了解如何正确设置这些变量,避免之前的错误。 接下来,我需要考虑用户的使用场景。他们可能是在搭建Hadoop集群的过程中,或者在配置多节点环境,需要确保所有节点环境变量一致。用户的身份可能是刚开始学习Hadoop的开发者或者系统管理员,对Linux环境变量配置有一定了解,但可能不够熟悉Hadoop的具体要求。 用户的需求是设置环境变量,但可能更深层次的需求是确保Hadoop能够正常运行,避免因为环境变量配置错误导致的各种问题,比如命令找不到、启动失败等。因此,在回答时不仅要给出步骤,还需要强调关键点,比如路径的正确性、不同配置文件的作用、如何验证设置是否生效等。 需要分步骤讲解,首先设置HADOOP_HOME,然后设置PATH,接着配置Java环境,可能还要提到Hadoop自带的配置文件(如hadoop-env.sh),以及系统级和用户级的配置文件的区别。另外,考虑到用户可能在不同的操作系统或者不同的Shell(比如bash、zsh)环境下,需要给出通用的方法,同时提醒他们根据实际情况调整。 还要注意用户可能的误区,比如直接在命令行中临时设置变量导致重启后失效,或者修改了错误的配置文件。需要提醒他们将环境变量写入正确的启动文件,并说明测试方法,比如用echo命令检查变量是否正确加载。此外,可能还需要提到多节点环境下如何同步环境变量,或者权限问题,比如是否需要使用root权限修改系统级配置文件。 最后,总结关键点,强调验证步骤的重要性,确保用户按照步骤操作后能正确设置环境变量,避免后续出现问题。同时,可以建议用户在修改配置文件前备份,防止配置错误导致系统问题。</think>以下是设置Hadoop环境变量的完整指南,分步骤说明: --- ### 一、核心环境变量清单 必须配置3个关键变量: 1. **HADOOP_HOME** Hadoop安装根目录 ```bash export HADOOP_HOME=/opt/hadoop-3.3.6 ``` 2. **PATH** 添加Hadoop可执行文件路径 ```bash export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 3. **JAVA_HOME** Hadoop运行依赖的JDK路径 ```bash export JAVA_HOME=/usr/java/jdk1.8.0_381 ``` --- ### 二、配置方法(按优先级排序) #### 方法1:全局配置(推荐) **适用场景**:所有用户生效 **配置文件**:`/etc/profile` 或 `/etc/profile.d/hadoop.sh` ```bash sudo nano /etc/profile.d/hadoop.sh ``` ```bash # 添加以下内容 export HADOOP_HOME=/opt/hadoop-3.3.6 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export JAVA_HOME=/usr/java/jdk1.8.0_381 ``` #### 方法2:用户级配置 **适用场景**:仅当前用户生效 **配置文件**:`~/.bashrc` 或 `~/.bash_profile` ```bash nano ~/.bashrc ``` ```bash # 添加相同内容 export HADOOP_HOME=/opt/hadoop-3.3.6 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export JAVA_HOME=/usr/java/jdk1.8.0_381 ``` #### 方法3Hadoop专用配置 **适用场景**:Hadoop进程运行时专用 **配置文件**:`$HADOOP_HOME/etc/hadoop/hadoop-env.sh` ```bash # 找到并修改以下参数 export JAVA_HOME=/usr/java/jdk1.8.0_381 export HADOOP_HOME=/opt/hadoop-3.3.6 ``` --- ### 三、生效与验证 1. **立即生效** ```bash source /etc/profile # 全局配置生效 source ~/.bashrc # 用户级配置生效 ``` 2. **验证配置** ```bash echo $HADOOP_HOME # 应返回/opt/hadoop-3.3.6 hadoop version # 应显示Hadoop版本信息 which hdfs # 应显示$HADOOP_HOME/bin/hdfs ``` --- ### 四、关键注意事项 1. **路径一致性** - `JAVA_HOME`必须指向JDK安装目录,不是JRE目录 - Hadoop安装路径不要包含空格或中文 2. **配置文件优先级** ```text hadoop-env.sh > ~/.bashrc > /etc/profile ``` 3. **多节点集群** 所有工作节点需保持环境变量配置完全一致 4. **SSH连接问题** 如果使用SSH远程执行命令,需确保目标节点的环境变量已正确加载 --- ### 五、典型错误排查 1. **命令未找到** ```bash # 检查PATH是否包含$HADOOP_HOME/bin echo $PATH | tr &#39;:&#39; &#39;\n&#39; | grep hadoop ``` 2. **Java版本冲突** ```bash $JAVA_HOME/bin/java -version # 验证实际使用的JDK ``` 3. **权限问题** ```bash ls -ld $HADOOP_HOME # 确保执行用户有读取权限 ``` --- **推荐配置流程**: 1. 在`/etc/profile.d/`创建专用配置文件 2. 在`hadoop-env.sh`中补充Java路径 3. 通过`source`命令激活配置 4. 使用`hadoop checknative`验证环境完整性
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值