博客
关于我
Alluxio+HDFS+MapReduce集成及测试
阅读量:460 次
发布时间:2019-03-06

本文共 2730 字,大约阅读时间需要 9 分钟。

在 HDFS 上配置 Alluxio

在本节中,我们将介绍如何在 HDFS 上配置 Alluxio 集群,并展示如何在 Alluxio 上运行 MapReduce 作业。

1.1 节点角色

本节使用 3 台虚拟机作为 Alluxio 集群节点。具体配置如下:

主机名 IP 地址 角色
node1 192.168.xxx.xx1 master
node2 192.168.xxx.xx2 worker
node3 192.168.xxx.xx3 worker

1.2 软件版本

确保所有节点上的软件版本为:

软件 版本
JDK 1.8.0_281
Hadoop 2.7.3
Alluxio 2.1.0

1.3 准备工作

1.3.1 设置 SSH 免密登录

确保三台虚拟机之间可以通过 SSH 免密登录。可以预先在每台机器上生成并添加 SSH 秘钥。

1.3.2 安装 JDK

在所有节点上安装 JDK。安装完成后,将 JDK 的路径添加到环境变量中。

1.3.3 安装 Hadoop

使用完全分布式安装方法安装 Hadoop。安装完成后,将 Hadoop 的路径也添加到环境变量中。

1.4 安装 Alluxio

1.4.1 下载与解压

在主节点 (node1) 上下载并解压 Alluxio 二进制文件:

[root@node1 opt]# tar -zxvf alluxio-2.1.0-bin.tar.gz

1.4.2 设置环境变量

修改 /etc/profile 文件,将以下内容添加到末尾并保存:

export JAVA_HOME=/opt/jdk1.8.0_281
export HADOOP_HOME=/opt/hadoop-2.7.3
export ALLUXIO_HOME=/opt/alluxio-2.1.0
export PATH=$PATH:/:$HADOOP_HOME/bin:$JAVA_HOME/bin:$ALLUXIO_HOME/bin

将该文件复制到其他节点并执行 source /etc/profile

1.4.3 配置 Alluxio

在 Alluxio 安装目录下创建必要的配置文件:

[root@node1 conf]# pwd
/opt/alluxio-2.1.0/conf

添加以下配置:

  • alluxio-site.properties

    alluxio.master.hostname=node1
    alluxio.master.mount.table.root.ufs=hdfs://node1:9000/alluxio
  • mastersworkers 文件中添加所有节点的 hostname。

  • alluxio-env.sh

    export JAVA_HOME=/opt/jdk1.8.0_281

将这些配置文件通过 rsync 复制到所有节点。

1.4.4 挂载 Alluxio

在主节点上执行挂载命令:

[root@node1 alluxio-2.1.0]# bin/alluxio-mount.sh Mount workers

1.4.5 格式化与启动

在首次启动前格式化节点:

[root@node1 alluxio-2.1.0]# bin/alluxio format

启动 Alluxio 集群:

[root@node1 alluxio-2.1.0]# bin/alluxio-start.sh all

通过浏览器访问 http://node1:19999/ 查看 Alluxio Web 界面。

1.5 问题

1.5.1 安装 2.5.0 版本错误

如果遇到以下错误:

No Under File System Factory found for: hdfs://node1:9000/alluxio/underFSStorage

请确保 HDFS 集群和 Alluxio 的配置完全一致。

1.5.2 集群重启失败

如果 AlluxioWorker 启动失败,确保节点间网络连接正常,并检查防火墙设置。

2 在 Alluxio 上运行 MapReduce

2.1 前提条件

  • 已安装 JDK
  • 已安装 Alluxio

2.2 配置

在 Alluxio Client 节点上,将 Alluxio Client JAR 包添加到 Hadoop 类路径中。

[root@node1 ~]# cp /opt/alluxio-2.1.0/client/alluxio-2.1.0-client.jar /opt/hadoop-2.7.3/share/hadoop/mapreduce/

在主节点上修改 core-site.xml 文件:

fs.alluxio.impl
alluxio.hadoop.FileSystem
The Alluxio FileSystem (Hadoop 1.x and 2.x)
fs.AbstractFileSystem.alluxio.impl
alluxio.hadoop.AlluxioFileSystem
The Alluxio AbstractFileSystem (Hadoop 2.x)

在主节点上修改 hadoop-env.sh 文件:

export HADOOP_CLASSPATH="/opt/alluxio-2.1.0/client/alluxio-2.1.0-client.jar:$HADOOP_CLASSPATH"

将上述文件复制到其他节点并执行命令。

2.3 测试 WordCount

将输入文件复制到 Alluxio 目录中:

[root@node1 ~]# alluxio fs copyFromLocal wc.txt /Copied file:///root/wc.txt

运行 WordCount 作业:

[root@node1 ~]# hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount alluxio://node1:19998/wc.txt alluxio://node1:19998/wc-out

查看结果:

[root@node1 ~]# alluxio fs cat /wc-out/part-r-00000

转载地址:http://nhkbz.baihongyu.com/

你可能感兴趣的文章
Objective-C实现horizontal projectile motion平抛运动算法(附完整源码)
查看>>
Objective-C实现hornerMethod霍纳法算法(附完整源码)
查看>>
Objective-C实现Horn–Schunck光流算法(附完整源码)
查看>>
Objective-C实现Http Post请求(附完整源码)
查看>>
Objective-C实现http下载文件 (附完整源码)
查看>>
Objective-C实现Http协议下载文件(附完整源码)
查看>>
Objective-C实现huffman哈夫曼编码算法(附完整源码)
查看>>
Objective-C实现ID3贪心算法(附完整源码)
查看>>
Objective-C实现IIR 滤波器算法(附完整源码)
查看>>
Objective-C实现IIR数字滤波器(附完整源码)
查看>>
Objective-C实现insertion sort插入排序算法(附完整源码)
查看>>
Objective-C实现integer partition整数分区算法(附完整源码)
查看>>
Objective-C实现integerPartition整数划分算法(附完整源码)
查看>>
Objective-C实现interpolation search插值搜索算法(附完整源码)
查看>>
Objective-C实现Interpolation search插值查找算法(附完整源码)
查看>>
Objective-C实现intersection交集算法(附完整源码)
查看>>
Objective-C实现intro sort内省排序算法(附完整源码)
查看>>
Objective-C实现inverse matrix逆矩阵算法(附完整源码)
查看>>
Objective-C实现inversions倒置算法(附完整源码)
查看>>
Objective-C实现isalpha函数功能(附完整源码)
查看>>