当前位置: 首页 > news >正文

000002 - Hadoop环境安装

Hadoop及其大数据生态圈

  • 1. 背景
  • 2. 实践
    • 2.1 Linux服务器准备
    • 2.2 在其中一台服务器上安装JDK
    • 2.3 在其中一台服务器上安装HADOOP
    • 2.4 本地模式运行一个hadoop案例
  • 3. 自动化部署

1. 背景

要搭建Hadoop集群环境,我们需要执行如下

  1. 准备三台Linux服务器,服务器之间相互配置免密ssh登陆
  2. 在其中一台服务器上安装JDK
  3. 在其中一台服务器上安装HADOOP
  4. 本地运行模式-在一台服务器上运行HADOOP
  5. 将JDK和HADOOP分发给其他2台服务器
  6. 集群模式运行HADOOP

2. 实践

2.1 Linux服务器准备

我使用AWS创建三台服务器,并且将对服务器的创建过程以及服务器的配置全部用代码和脚本实现,参考这里.

2.2 在其中一台服务器上安装JDK

  1. 将jdk-8u212-linux-x64.tar.gz拷贝到node1的/home/ec2-user/softwar目录。命令如下
# 需要先创建目录
scp -i "hadoop-instances-stack-key-pair.pem" jdk-8u212-linux-x64.tar.gz ec2-user@{node1_public_ip}:/home/ec2-user/software_package/
  1. ssh至node1服务器
ssh -i "hadoop-instances-stack-key-pair.pem" ec2-user@{node1_public_ip}
  1. 安装JDK
    在node服务器上运行如下命令,解压JDK安装包
cd /home/ec2-user/software_package
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /home/ec2-user/software_installation/
  1. 配置JDK环境变量
    在node1上执行下方命令创建自定义env文件,这个文件会被/etc//profile加载
sudo vim /etc/profile.d/hadoop-learning-env.sh

输入如下内容后保存

#JAVVA_HOME
export JAVA_HOME=/home/ec2-user/software_installation/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

再输入如下命令重新加载环境变量

source /etc/profile

至此,JDK在node1节点安装成功

2.3 在其中一台服务器上安装HADOOP

  1. 将hadoop-3.1.3.tar.gz拷贝到node1的/home/ec2-user/softwar目录。命令如下
scp -i "hadoop-instances-stack-key-pair.pem" hadoop-3.1.3.tar.gz ec2-user@{node1_public_ip}:/home/ec2-user/software_package/
  1. ssh至node1服务器
ssh -i "hadoop-instances-stack-key-pair.pem" ec2-user@{node1_public_ip}
  1. 解压HADOOP安装包
    在node服务器上运行如下命令,解压JDK安装包
cd /home/ec2-user/software_package
tar -zxvf hadoop-3.1.3.tar.gz -C /home/ec2-user/software_installation/
  1. 配置HADOOP环境变量
    在node1上执行下方命令修改自定义env文件,这个文件会被/etc//profile加载
sudo vim /etc/profile.d/hadoop-learning-env.sh

新增如下内容后保存

#HADOOP_HOME
export HADOOP_HOME=/home/ec2-user/software_installation/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

再输入如下命令重新加载环境变量

source /etc/profile

至此,HADOOP在node1节点安装成功

2.4 本地模式运行一个hadoop案例

  1. ssh至node1服务器
ssh -i "hadoop-instances-stack-key-pair.pem" ec2-user@{node1_public_ip}
mkdir /home/ec2-user/workspace/wordcount
cd /home/ec2-user/workspace/wordcount
  1. 在wordcount目录下创建wordcount_input目录和wordcount_output目录
mkdir /home/ec2-user/workspace/wordcount/wordcount_input
  1. 在wordcount_input目录下放一个文本文件,其中包含一些单词,用空格隔开,下面是一个例子
apple banana bicycle
china apple cup bicycle
bicycle pinapple
  1. 执行下面命令,用hadoop本地运行模式统计文本中每个单词出现的次数
hadoop jar /home/ec2-user/software_installation/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /home/ec2-user/workspace/wordcount/wordcount_input/ /home/ec2-user/workspace/wordcount/wordcount_output
  1. 执行完成后,hadoop会创建一个目录/home/ec2-user/workspace/wordcount/wordcount_output,且统计结果就在这个目录下,如下图所示
    在这里插入图片描述

3. 自动化部署

在服务器创建成功后,我们还需要很多步骤来将JDK和HADOOP安装包上传解压至三台服务器,且需要对三台服务器进行环境变量的配置,着无疑是一个繁琐的步骤,因此我们可以将这写步骤使用脚本来实现。

参考这里

相关文章:

  • [Algorithm][动态规划][回文串问题][回文子串][最长回文子串][分割回文串Ⅳ]详细讲解
  • 深度解读CharGPT基本原理
  • PyTorch学习(12):PyTorch取极值(max, argmax, min, argmin)
  • 【JavaEE】Servlet
  • Google 解释AI 概览:关于上周的一些情况
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(Object Pascal中的泛型)
  • 【2024年5月备考新增】】 考前篇(32)《必备资料(15) - 论文串讲-项目安全管理》
  • 大模型应用框架-LangChain
  • 计算机网络期末知识总结(第一章)
  • 【MyBatis】MyBatis操作数据库(二):动态SQL、#{}与${}的区别
  • 代码随想录-Day27
  • 【机器学习】探索未来科技的前沿:人工智能、机器学习与大模型
  • 学习小心意——python的构造方法和析构方法
  • 【图像处理与机器视觉】频率域滤波
  • YOLOv8+PyQt5海洋船只检测(可以重新训练,yolov8模型,从图像、视频和摄像头三种路径识别检测)
  • ESP使用巴法云远程OTA(VScode + Platform io)
  • Swoole 协程调度机制
  • 深度学习知识与心得
  • MFC工控项目实例之一主菜单制作
  • SEW交频器 MDX61801110-5A3-4-0T可议价
  • 国家主席习近平同普京总统共见记者
  • 阿森纳被打得毫无脾气,回天无力的阿尔特塔只剩嘴硬
  • 昆廷·斯金纳:作为“独立自主”的自由
  • 何立峰将访问瑞士、法国并举行中美经贸高层会谈、第十次中法高级别经济财金对话
  • 有人悬赏十万寻找“全国仅剩1只”的斑鳖,发帖者回应并证实
  • 长和获准出售巴拿马运河港口以外的港口?外交部:该报道没有依据