Linux 搭建Hadoop集群 ----workcount案例

时间:2022-11-19 18:37:38

Linux搭建集群---JDK配置

Linux搭建集群---SSH免密登陆

Linux搭建集群---集群搭建成功

的基础上实现workcount案例

注意

虚拟机三台启动集群(自己亲自搭建)

1. wordcount程序

         1.1Hadoop集群测试WordCount程序

              1.1.1 在hadoop目录下创建一个wordcount文件夹

Linux 搭建Hadoop集群 ----workcount案例

            1.1.2切换到wordcount文件夹,新增两个文件,并且编辑内容

Linux 搭建Hadoop集群 ----workcount案例

    文件内容如下:

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

    文件内容如下:

Linux 搭建Hadoop集群 ----workcount案例

           1.1.3在HDFS中创建input文件夹

Linux 搭建Hadoop集群 ----workcount案例

           1.1.4查看HDFS中的文件夹

Linux 搭建Hadoop集群 ----workcount案例

           1.1.5 将创建的两个文件复制到/input目录中

Linux 搭建Hadoop集群 ----workcount案例

          1.1.6查看input文件夹下内容

Linux 搭建Hadoop集群 ----workcount案例

        1.1.7 运行wordcount程序

切换到hadoop安装目录下share/hadoop/mapreduce目录下,hadoop自带运行wordcount程序的jar包

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

使用jar命令运行wordcount程序,input代表计算文件位置,output代表计算结果指定位置

Linux 搭建Hadoop集群 ----workcount案例

             1.1.8查看运行结果

    hadoop fs -cat /output/*

Linux 搭建Hadoop集群 ----workcount案例

  1.2 eclipse集成hadoop插件

               1.2.1 如果eclipse安装到windows当中,那么就需要在真机安装Hadoop

         配置hadoop环境变量(将hadoop-2.8.0用管理员用户解压)

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

查看JDK 和Hadoop的版本号(不用管理员的身份)

Linux 搭建Hadoop集群 ----workcount案例

      1.2.2 下载hadoop-eclipse-plugin-2.6.0.jar赋值到eclipse安装目录下的plugins目录下 

Linux 搭建Hadoop集群 ----workcount案例

       1.2.3配置hadoop安装目录

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

               1.2.4配置插件

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

注意:主机名称亦可以换成ip地址,但是真机hosts文件要配置对应关系

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

1.3 eclipse运行wordcount程序

               1.3.1新建一个mapreduce程序

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

                1.3.2创建WordCount运行程序

在真机安装的hadoop下找到hadoop-mapreduce-examples-2.8.0-sources.jar,目录为..../hadoop-2.8.0\share\hadoop\mapreduce\sources

Linux 搭建Hadoop集群 ----workcount案例

以解压包方式打开,找到WordCount.java,目录为:

hadoop-mapreduce-examples-2.8.0-sources.jar\org\apache\hadoop\examples

右键打开方式---360压缩

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

                          1.3.3运行WordCount程序

点击WordCount.java文件,配置启动参数

Linux 搭建Hadoop集群 ----workcount案例

报错:

Linux 搭建Hadoop集群 ----workcount案例

其中配置参数中master可以改为ip地址,如果配置成master那么需要在真机hosts文件当中配置master和ip的对应关系!

参考网址:

https://blog.csdn.net/Biexiansheng/article/details/78019642?tdsourcetag=s_pcqq_aiomsg

 

如下操作:

Linux 搭建Hadoop集群 ----workcount案例

添加以下信息:

Linux 搭建Hadoop集群 ----workcount案例

第一种错误信息:

Linux 搭建Hadoop集群 ----workcount案例

此错误可能在hadoop安装目录下缺少文件,将次压缩包的所有文件复制到hadoop安装目录下的bin

Linux 搭建Hadoop集群 ----workcount案例

第二个错误

hadoop-2.8.0\share\hadoop\common\sources文件夹中找到hadoop-common-2.8.0-sources.jar,然后以压缩包的方式打开,找到hadoop-common-2.8.0-sources\org\apache\hadoop\io\nativeio\NativeIO.java,复制到项目中,注意,包名和报错的包名保持一致,org.apache.hadoop.io.nativeio

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

打开代码:

Linux 搭建Hadoop集群 ----workcount案例

改为:

Linux 搭建Hadoop集群 ----workcount案例

错误2:

org.apache.hadoop.security.AccessControlException: Permissiondenied: user=zhengcy, access=WRITE,inode="/user/root/output":root:supergroup:drwxr-xr-x

 

在集群中运行hadoop fs -chmod 777 /

运行结果如下所示:

Linux 搭建Hadoop集群 ----workcount案例

             1.4将WordCount程序打成jar包放在集群中运行

                         1.4.1将程序打包

点击项目-->右键-->选择Export-->找到Runnable JAR File

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例

点击Finish,将打包好的Jar包通过XFTP传入到Linux指定位置(/usr/bigdata/hadoop)

Linux 搭建Hadoop集群 ----workcount案例

在XShell中切换到Jar文件存放位置路径,通过命令运行查看 切入到wordcount.jar 架包所存放的位置 执行以下命令

Linux 搭建Hadoop集群 ----workcount案例

Linux 搭建Hadoop集群 ----workcount案例