基于ubuntu搭建hadoop

 一、环境配置

1.vmware17虚拟机

创建虚拟机

2.Ubuntu磁盘镜像

https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04/

下载清华镜像源(图片最下面那个)

3.配置hadoop

(1)在虚拟机终端输入sudo ufw disable检查防火墙配置

防火墙已关闭

(2)ssh

a.安装ssh

sudo apt update
sudo apt install openssh-server

输入以下命令检查 openssh-server 是否已安装:

dpkg -l | grep openssh-server

如果输出类似以下内容,说明 SSH 已安装:

b.检查 SSH 服务是否正在运行

sudo systemctl status ssh

Active: active (running) 表示 SSH 服务正在运行。

enabled 表示 SSH 服务已设置为开机自启动。

如果 SSH 服务未运行,输出会显示 inactive

c.检查 SSH 端口是否开放

sudo ss -tuln | grep :22

端口已开放

设置开机自启

sudo systemctl enable ssh

5.配置主机名和hosts列表

输入sudo vi /etc/hosts,将hosts文件中

 先在终端输入

然后再文件夹中找到文件并修改一下节点保存

Ubuntu 设置静态 IP 和网关的步骤

1. 编辑 Netplan 配置文件

假设配置文件是 01-netcfg.yaml,使用 nano 或 vi 编辑:

sudo nano /etc/netplan/01-netcfg.yaml

2. 配置静态 IP 和网关

主机ip是192.168.137.11

连接成功(咸鱼花了6块钱)

5.下载hadoop和jdk、xftp

5.1在虚拟机终端输入ifconfig查看端口号

安装xftp

将下载的JDK和Hadoop从windows传输到Ubuntu中,可以使用Xftp(前提是已安装并开启ssh服务,可参考[2.2节](#2.2 确保Ubuntu环境已安装ssh))或是直接复制过去(前提是虚拟机安装了vmtools,不清楚的可以试试直接复制到虚拟机)

将这两个文件移动到ubuntu中的/usr文件夹中

5.2jdk配置

在桌面解压并移到

sudo tar -xvf /usr/jdk-8u331-linux-x64.tar.gz 
sudo mv jdk1.8.0_331 /usr/java

用文本编辑器模式打开

在profile最后添加代码

export JAVA_HOME=/usr/java
 
# JDK8 添加 JRE_HOME 和 CLASSPATH 配置
export JRE_HOME=$JAVA_HOME/jre
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
 
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH

输入命令,运行配置环境。

source ~/.profile

建立系统软链接

  • /usr/bin/javac 应该指向 Java 编译器 (javac)。

  • /usr/bin/java 应该指向 Java 运行时 (java)。

你已经成功为 javac 设置了替代项,接下来可以为 java 设置替代项:

sudo update-alternatives --install /usr/bin/java java /usr/java/bin/java 1
输入命令查看Java版本

java -version

配置JDK路径

打开文件管理器,找到 Hadoop 安装目录下的 /etc/hadoop/hadoop-env.sh 并使用文本编辑器打开(默认双击)
注意此处是 hadoop-env.sh 而不是 hadoop-env.cmd


在文件末尾添加以下代码(建议直接复制)并保存退出

export JAVA_HOME=/usr/java

5.3配置安装Hadoop


解压压缩包,然后将解压后的文件夹移动到 /usr/hadoop 下(需要输入管理员密码),输入命令

sudo mv hadoop-3.2.3 /usr/hadoop

配置Hadoop

(1)在刚刚的目录下找到 core-site.xml 文件,用文本编辑器打开
在 <configuration> 标签中添加下面的配置,保存并退出

  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/usr/hadoop/tmp</value>
  </property>
 
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>


(2)继续在文件夹中找到 hdfs-site.xml 文件,用文本编辑器打开
在 <configuration> 标签中添加下面的配置,保存并退出

  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
 
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/hadoop/tmp/dfs/name</value>
  </property>
 
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/hadoop/tmp/dfs/data</value>
  </property>
 
  <property>
    <name>dfs.http.address</name>
    <value>0.0.0.0:50070</value>
  </property>

配置文件系统yarn-site.xml

使用文本编辑器打开并编辑yarn-site.xml文件,在标签中添加:

yarn-site.xml 配置

在 /etc/hadoop/yarn-site.xml 文件中,添加以下内容:

<configuration>
  <!-- YARN 资源管理器的主机名和端口 -->
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
  </property>

  <!-- YARN 资源管理器的地址 -->
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>${yarn.resourcemanager.hostname}:8032</value>
  </property>

  <!-- YARN 调度器的地址 -->
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>${yarn.resourcemanager.hostname}:8030</value>
  </property>

  <!-- YARN 资源跟踪器的地址 -->
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>${yarn.resourcemanager.hostname}:8031</value>
  </property>

  <!-- YARN 管理界面地址 -->
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>${yarn.resourcemanager.hostname}:8088</value>
  </property>

  <!-- YARN NodeManager 的辅助服务 -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>

  <!-- YARN NodeManager 的辅助服务类 -->
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>

  <!-- YARN 日志聚合功能 -->
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>

  <!-- YARN 日志保留时间(单位:秒) -->
  <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>86400</value> <!-- 1 天 -->
  </property>

  <!-- YARN 日志目录 -->
  <property>
    <name>yarn.nodemanager.log-dirs</name>
    <value>file:/usr/hadoop/tmp/logs</value>
  </property>
</configuration>

修改profile文件

运行source ~/.profile

(2)配置环境

输入cd /usr/hadoop

vi ~/.bashrc

进入文件在最上面添加

export PATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin

保存

修改配置文件

source ~/.bashrc

#每次启动前输入【已解决】配置在环境变量中

source /usr/hadoop/etc/hadoop/hadoop-env.sh

hadoop version

就可以看到版本号说明成功


以上全部配置完成。

二、克隆虚拟机

主机名IP用户hdfsyarn
node1192.168.137.11user1
node2192.168.137.12user1
node3192.168.137.13user1

2.ssh免密登录

3.配置集群

  • 当前值为 hdfs://localhost:9000,这是单机模式的配置。

  • 在集群模式下,需要将其改为 hdfs://node1:9000,其中 node1 是 NameNode 的主机名。

启动Hadoop

 
  1. cd /usr/hadoop/bin

  2. #打开任意终端,进入 /hadoop/bin 路径

  3. sudo ./hdfs namenode -format

  4. #进行格式化

​​​​​​​

启动集群

sudo -u user1 $HADOOP_HOME/sbin/start-dfs.sh
sudo -u user1 $HADOOP_HOME/sbin/start-yarn.sh

(1) 停止 YARN**
在 `node1` 上运行以下命令停止 YARN:
```bash
sudo -u user1 $HADOOP_HOME/sbin/stop-yarn.sh
```

#### **(2) 停止 HDFS**
在 `node1` 上运行以下命令停止 HDFS:
```bash
sudo -u user1 $HADOOP_HOME/sbin/stop-dfs.sh
```

#### **(3) 检查进程是否停止**
在 `node1`、`node2` 和 `node3` 上运行以下命令,确保所有 Hadoop 进程已停止:
```bash
jps
```
如果没有输出,说明所有进程已停止。

---

### **2. 关闭虚拟机**
在停止 Hadoop 集群后,可以安全地关闭虚拟机。

#### **(1) 关闭所有节点**
在每台虚拟机上运行以下命令关闭系统:
```bash
sudo shutdown -h now
```


确保所有节点之间的网络连接正常。在每台节点上运行以下命令测试连接:
```bash
ping node1
ping node2
ping node3
```

#### **(3) 启动 Hadoop 集群**
在 `node1` 上运行以下命令启动 Hadoop 集群:
```bash
sudo -u user1 $HADOOP_HOME/sbin/start-dfs.sh
sudo -u user1 $HADOOP_HOME/sbin/start-yarn.sh
```

#### **(4) 检查集群状态**
运行以下命令检查集群状态:
```bash
hdfs dfsadmin -report
yarn node -list
```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值