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

7 篇文章 0 订阅
6 篇文章 0 订阅

此节主要讲述 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 单独编译时:

在命令行输入如下命令:

2、编译出现的问题

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

(1)出现如下错误

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

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

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

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

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

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

(3)出现如下错误:

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

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

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

bug一:

bug 二:

bug 三:

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

<repository>
    <id>cloudera</id>
    <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>

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

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

<repository>
  <id>cloudera-repo</id>
  <name>Cloudera Repository</name>
  <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
  <releases>
    <enabled>true</enabled>
  </releases>
  <snapshots>
    <enabled>false</enabled>
  </snapshots>
</repository>
 
<profile>
  <id>cdh5.7.0</id>
  <properties>
    <hadoop.version>2.6.0-cdh5.7.0</hadoop.version>
    <hbase.version>1.2.4-cdh5.7.0</hbase.version>
    <zookeeper.version>3.4.5-cdh5.7.0</zookeeper.version>
  </properties>
</profile>

(怀疑原先是没有添加下面的 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

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值