超简单的CDH6部署和体验(单机版) (4)

重启服务:

在这里插入图片描述

经过上述设置,副本数已经调整为1,但是已有文件的副本数还没有同步,需要重新做设置,SSH登录到电脑deskmini上;

执行命令vi /etc/passwd,找到账号hdfs的配置,如下图红框所示,/sbin/nologin这样的shell会导致切换到hdfs账号失败:

在这里插入图片描述

将上述红框中的内容改为/bin/bash,修改后如下图红框所示:

在这里插入图片描述

执行命令su - hdfs,即可切换到hdfs账号,此时执行以下命令即可完成副本数设置:

hadoop fs -setrep -R 1 /

服务已经全部正常了:

在这里插入图片描述

调整YARN参数避免spark-shell启动失败

YARN默认给容器分配的内存过小,导致启动spark-shell失败,需要调整YARM相关的内存参数:

在这里插入图片描述

在YARN的配置页面,调整yarn.scheduler.maximum-allocation-mb和yarn.nodemanager.resource.memory-mb这两个参数的值,我这里将这个两个参数的值都改成8G(请按照自己电脑实际硬件配置来调整),如下图:

在这里插入图片描述

重启YARN:

在这里插入图片描述

执行spark-shell命令之前,先执行命令su - hdfs切换到hdfs账号;

这次终于成功进入spark-shell交互模式:

在这里插入图片描述


至此,CDH6的部署、启动、设置都已经完成,接下来体验一下大数据服务;

体验HDFS和Spark

接下来运行一个Spark任务,经典的WordCount:

准备一份文本文件,里面是英文内容,您可以下载这个文件:https://raw.githubusercontent.com/zq2599/blog_demos/master/files/GoneWiththeWind.txt

登录SSH,切换到hdfs账号;

创建HDFS文件夹:

hdfs dfs -mkdir /input

将文本文件上传到/input目录:

hdfs dfs -put ./GoneWiththeWind.txt /input

执行命令spark-shell,启动一个worker;

输入以下命令,即可完成一次WorkCount任务,192.168.50.134是deskmini的IP地址:

sc.textFile("hdfs://192.168.50.134:8020/input/GoneWiththeWind.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("hdfs://192.168.50.134:8020/output")

执行完毕后,下载结果文件:

hdfs dfs -get /output/*

上述命令将spark任务的结果文件part-00000、part-00001下载到本机,用vi命令查看文件,如下图,可见WorkCount执行成功:

在这里插入图片描述

在浏览器上查看历史任务,地址是::18088 ,可见此次任务的详情:

在这里插入图片描述


至此,CDH6的部署、设置、体验都已经完成,如果您正在搭建自己的学习或者开发环境,希望本文能给您一些参考。

深度定制

整个实战虽然避免了传统部署过程中的大量手动操作,但弊端也很明显:所有路径、文件名、服务版本都是固定的,不能做任何设置,虽然ansible也支持变量,但是如果变量太多也会给您带来困扰,所以,如果您有修改版本或路径的需求,建议您自行修改cdh-single-install.yml、cdh-single-start.yml的内容,所有文件和版本信息都在里面。

欢迎关注公众号:程序员欣宸

微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyfgww.html