Linux 下搭建 Hadoop 环境

时间:2022-10-18 10:08:43

作者:Grey

原文地址:

博客园:Linux 下搭建 Hadoop 环境

CSDN:Linux 下搭建 Hadoop 环境

环境要求

操作系统:CentOS 7

下载地址

安装说明

需要准备两个节点,一个是 master 节点,另一个是 slave 节点。

其中 master 节点的 IP:192.168.100.130

slave 节点的 IP:192.168.100.131

并且参考Linux 下配置 hosts 并设置免密登录先配置好两个免密登录

JDK 版本:8u181

下载地址

Hadoop 版本:2.7.5

下载地址

如果使用的软件版本不一致,请以官方搭建文档为准。

安装步骤

准备软件目录

mkdir /datalake

上传之前下载好的安装包到 /datalake 目录下

jdk-8u181-linux-x64.gz

hadoop-2.7.5.tar.gz

批量解压这几个安装包

cd /datalake
ls * | xargs -n1 tar xzvf

将解压的软件移动到 /usr/local 目录

cd /datalake
mv jdk1.8.0_181 /usr/local/jdk
mv hadoop-2.7.5 /usr/local/hadoop

配置环境变量

vi /usr/profile

添加如下内容

export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

应用环境变量

source /etc/profile

关闭防火墙,在 master 和 slave 下分别执行

systemctl stop firewalld.service

以下的配置,在 master 和 slave 上都要

vi $HADOOP_HOME/etc/hadoop/core-site.xml

<configuration></configuration>节点之间添加如下内容

<property>
  <name>fs.default.name</name>
  <value>hdfs://master:9000</value>
</property>
<property>
  <name>hadoop.tmp.dir</name>
  <value>/usr/local/hadoop/tmp</value>
</property>

配置 hadoop 使用的 jdk,执行

vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

将 jdk 配置为

export JAVA_HOME=/usr/local/jdk
vi $HADOOP_HOME/etc/hadoop/core-site.xml

<configuration></configuration>节点之间添加如下内容

<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>

执行

cd $HADOOP_HOME/etc/hadoop && cp mapred-site.xml.template mapred-site.xml

然后执行

vi $HADOOP_HOME/etc/hadoop/mapred-site.xml

<configuration></configuration>节点之间添加如下内容

<property>
  <name>mapred.job.tracker</name>
  <value>master:9001</value>
</property>

执行

vi $HADOOP_HOME/etc/hadoop/slaves

替换为如下内容

master
slave

在 master 上把 hadoop 的上述配置文件改好以后,可以执行

cd /usr/local && scp -r hadoop slave:/usr/local/

将配置拷贝到 slave,就无需在 slave 上做同样繁琐的配置操作了。

然后,在 master 节点上进行格式化,执行

hadoop namenode -format

最后,在 master 上启动 hadoop

start-dfs.sh

启动成功后,在 master 和 slave 上分别执行 jps,可以看到 hadoop 相关的进程已经正常启动

master 上

[root@master local]# jps
13984 SecondaryNameNode
1579 QuorumPeerMain
14108 Jps
13693 NameNode
13821 DataNode

slave 上

[root@slave hadoop]# jps
9478 Jps
9401 DataNode

在浏览器*问 : http://192.168.100.130:50070/

正常显示

Linux 下搭建 Hadoop 环境

然后在 master 上启动 yarn,执行

start-yarn.sh

输出如下日志,未报错

[root@master local]# start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /usr/local/hadoop/logs/yarn-root-resourcemanager-master.out
master: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-root-nodemanager-master.out
slave: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-root-nodemanager-slave.out

浏览器访问:http://192.168.100.130:8088/

正常显示相关信息

Linux 下搭建 Hadoop 环境

Linux 下搭建 Hadoop 环境