000002 - Hadoop环境安装

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安装包上传解压至三台服务器,且需要对三台服务器进行环境变量的配置,着无疑是一个繁琐的步骤,因此我们可以将这写步骤使用脚本来实现。

参考这里

相关推荐

  1. 000003 - Hadoop集群配置

    2024-06-07 17:22:03       26 阅读
  2. hadoop学习系列--环境安装

    2024-06-07 17:22:03       24 阅读
  3. Hadoop安装

    2024-06-07 17:22:03       45 阅读
  4. Hadoop - 安装

    2024-06-07 17:22:03       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-07 17:22:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-07 17:22:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-07 17:22:03       82 阅读
  4. Python语言-面向对象

    2024-06-07 17:22:03       91 阅读

热门阅读

  1. Android音乐播放器的思路处理

    2024-06-07 17:22:03       28 阅读
  2. Mysql sql语句字段截取前几位,后几位等

    2024-06-07 17:22:03       28 阅读
  3. PVc是k8s的什么?

    2024-06-07 17:22:03       27 阅读
  4. 力扣2106.摘水果

    2024-06-07 17:22:03       29 阅读
  5. Jetpack架构组件_LifeCycle组件

    2024-06-07 17:22:03       25 阅读
  6. anaconda python 版本对应关系

    2024-06-07 17:22:03       25 阅读
  7. Tektronix 泰克 DSA8300 光模块测试

    2024-06-07 17:22:03       29 阅读
  8. 《python》在用户包下安装库出现权限报错

    2024-06-07 17:22:03       30 阅读