280亿条大数据处理实战——(三)环境安装

此节主要讲述 hdfs 的基本使用和 Spark 编译及其遇到的坑。

一、Spark编译

编译 spark 是个很复杂的过程。

1、编译方法

(1)方式一(推荐使用此种方法):使用 make-distribution.sh 进行编译:

在 $SPARK_HOME 目录下,输入并允许如下命令:

./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz 
-Phadoop-2.6 -Phive -Phive-thriftserver 
–Dhadoop.version=2.6.0-cdh5.7.0

(2)方式二:使用 Maven 单独编译时:

280亿条大数据处理实战——(三)环境安装_第1张图片

280亿条大数据处理实战——(三)环境安装_第2张图片

在命令行输入如下命令:

2、编译出现的问题

这次编译出现了 N 多问题,搞了大半个月终于成功了,然后就把这个编译成功的源码一直保留着,下次再其他地方都用这个。感觉改其他的环境比重新编译 Spark 源码要容易。当然有时候编译时一次就编译通过了,这个还有时候看人品。

(1)出现如下错误

280亿条大数据处理实战——(三)环境安装_第3张图片

错误中所指网址如下所示:

280亿条大数据处理实战——(三)环境安装_第4张图片

大概意思是Maven有问题,当在使用插件时未给出明确版本并且Maven未能确定此插件的最新版本时出错。但是我改了下pom.xml文件,修改了hadoop版本为我电脑安装的版本,一点效果都没有,还是一样的错误呀!!!

解决方法:注释掉/home/hadoop/source/spark-2.1.0/dev/make-distribution.sh其中几段语句!!!

280亿条大数据处理实战——(三)环境安装_第5张图片

(2)出现如下问题是需要改为阿里巴巴镜像仓库:

280亿条大数据处理实战——(三)环境安装_第6张图片

解决办法:改用阿里巴巴镜像仓库;

在maven安装目录的conf目录下的setting.xml里面添加如下:

280亿条大数据处理实战——(三)环境安装_第7张图片

(3)出现如下错误:

maven 编译出错 Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean

解决方法:一般是由于启动了另一个tomcat进程或者运行了多个shell.exe进程。直接关掉前面那个shell cmd即可。

(4)编译时出现各种问题(之前是记录在 word 里面的,后面拷贝到这里格式好像有点乱)

bug一:

280亿条大数据处理实战——(三)环境安装_第8张图片

bug 二:

280亿条大数据处理实战——(三)环境安装_第9张图片

bug 三:

280亿条大数据处理实战——(三)环境安装_第10张图片

在 spark 目录下,在 pom.xml 里面的添加如下:


    cloudera
    https://repository.cloudera.com/artifactory/cloudera-repos/

还是不行,然后把spark文件重新官网下载,重新解压缩包,还是各种出问题,查了各种网站,还是各种不行。

最后没办法,修改了jdk的版本和maven版本,然后在/home/hadoop/spark-2.1.0/pom.xml文件添加编译所需的cloudera软件包依赖:<参考博客https://blog.csdn.net/panguoyuan/article/details/74330519?utm_source=blogxgwz8>


  cloudera-repo
  Cloudera Repository
  https://repository.cloudera.com/artifactory/cloudera-repos
  
    true
  
  
    false
  

 

  cdh5.7.0
  
    2.6.0-cdh5.7.0
    1.2.4-cdh5.7.0
    3.4.5-cdh5.7.0
  

(怀疑原先是没有添加下面的 profile依赖导致了错误。)

然后先编译:mvn -Pyarn -Dhadoop.version=2.6.0-cdh5.7.0 -Phive -Phive-thriftserver -DskipTests clean package

此步骤成功编译完,但是没有生成可执行的软件包,按如下步骤生成:

(1)修改make-distribution.sh脚本

在/home/hadoop/source/spark-2.1.0/dev/make-distribution.sh文件下,注释掉"${BUILD_COMMAND[@]}"

(2)开始构建:在spark-2.1.0目录下运行:

./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz  -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.7.0

 

最后终于编译成功,且生成了编译成功后的 spark 压缩包 spark-2.1.0-bin-2.6.0-cdh5.7.0.tar(下载地址https://download.csdn.net/download/ocean111best/11084912)

 

总结:编译过程可能遇到很多问题,尝试把jdk版本和maven版本升高一些,编译完成功一个后可以一直留着,下次在其他地方改其他的环境。

 

二、hdfs 基本使用

首先启动 hadoop,然后它的基本操作如下:

hdfs dfs 或者hadoop fs

1、创建文件:vi  hello.txt

2、查看文件:cat  hello.txt

3、查看hadoop根目录文件:hadoop  fs  -ls  /

4、将文件上传到hadoop中:hadoop  fs  -put  hello.txt  /

5、查看内容:hadoop  fs  -text  /hello.txt

6、创建文件夹:hadoop  fs  -mkdir  /test

7、创建递归文件夹:hadoop  fs  -mkdir  -p  /test/a/b

8、查看目录:hadoop  fs  -ls  /test

9、将本地的hello.txt拷贝到hadoop指定文件夹下,并重命名:hadoop  fs  -copyFromLocal  hello.txt  /test/a/b/h.txt

10、递归查看所有的文件:hadoop  fs  -ls  -R  /

11、查看内容:hadoop  fs  -cat  /test/a/b/h.txt

12、将HDFS里的内容拷贝到本地当前目录:hadoop  fs  -get  /test/a/b/h.txt  h.txt

13、删除文件(无法删除文件夹):hadoop  fs  -rm  /hello.txt

14、删除文件夹:hadoop  fs  -rm  -R  /test

你可能感兴趣的:(spark,hadoop,hive,Spark编译,hdfs,hadoop)