董西城问答整理:第二课
来源:互联网 发布:my little pony 知乎 编辑:程序博客网 时间:2024/05/01 09:03
一、spark-shell在namenode的stand-by节点执行会报sparkContext出错,然后到active的namenode的机器起spark-shell就可以了。为什么这样
你程序里有写hdfs地址了吗?需要写为逻辑名二、hadoop集群中有5个节点,其中1个主节点,1个备用节点,3个数据节点(数据节点上有日志节点),分配内存的时候,主备节点各分配了64G,数据节点各分配了12G,请问董老师,这样分配合理么?是不是随着数据的不断增多,主备节点的内存消耗会成线性增长?
ps:平时datanode节点内存消耗平均保持在8G左右,主节点目前已经占用了8G多。
随着数据的增多,内存占用量必然增多,你的集群应该不是问题,因为节点数目太小了!64GB内存绰绰有余,现在主节点占用内存为8GB,后面再加数据并不会线性增长。 你所说的数据结点仅仅是datanode吗,nodemanager计算节点呢,对于数据结点,12GB内存太多了,调小点,4GB就够了。你现在datanode内存使用是8GB,如果调整4GB,内存使用就是4G,这是因为JAVA GC策略没有设置,你现在给datanode多少内存,他能消耗多少!三、Scala中方法调用时,什么时候可以省略掉“.”?
只有一个参数的方法,比如1.+(2)可以写为1 + 2四、driver 不需要计算,要的内存是用来干嘛的?一般是不是需要比较小的内存就ok?
只有调用sc.的代码才会交给spark分布式去执行,其他的仍在你driver本机执行五、driver 不需要计算,要的内存是用来干嘛的?一般是不是需要比较小的内存就ok?
只有调用sc.的代码才会交给spark分布式去执行,其他的仍在你driver本机执行
1、driver需要广播一个变量。
2、driver还需要接收各个Executer返回的数据,需要在driver端对其做聚集,合并或可视化等。
在以上情况下,数据非常大的话较小的内存是不行的。六、如果不用maven,直接在程序中设置参数以及打包可以运行吗?
可以,但是无法自动化做啊,你这个每次需要人工做七、时间可能比较赶,我比较想看到 老师在IDEA上直接操作 多种模式,因为本人在IDEA提交spark程序的时候,yarn-client模式会报错,其他模式没有问题!
这是某位同学的提问,请大家注意,IDEA中只能运行local模型,其他分布式模式无法在idea中运行,必须采用命令行方式提交,这是由于分布式模式下,必须要分发jar包,idea中不能自动打包分发jar包!八、在yarn-client模式下,client提交的job,driver在client端,那App master上运行的是什么?
App master会与yarn的ResourceManager通信, 申请资源来运行executor。Spark作业跟yarn申请资源的代理。九、yarn-cluster模式如果driver挂了,重启的话任务会完全重新启动吗?
此模式下,driver运行在集群里面,如果driver挂了,ResourceManager会重新启动,这是一个全是driver,已经运行的task会被重新调度和运行。用户不需要再干预。十、之前董老师讲课的时候讲到过中搜的日志统计与分析系统,它的可视化是怎么实现的呢? 现在做可视化用什么工具比较好?
推荐三个:
开源的:百度开源的
Dcharts:http://echarts.baidu.com
D3.js: https://d3js.org/
商用的:tableau十一、Spark 从HDFS中创建RDD时,并行度(Partitions)是如何定的?
有几个block就会有几个partitoin。spark内部实现会进一步讲解。十二、分布式估算Pi时,val x = random * 2 - 1,random具体指的是什么?
random是scala的库函数,随机产生0-1之间的double类型的数字。十三、数据库连接对象、es的连接对象能否放入到广播中吗?我现在是把连接字符串放入到广播中,然后在rdd中创建数据库连接对象。对象使用的是单例。您是否有什么好的方式创建这些对象呢?
不能广播,因为连接的对象不能序列化。十四、1.算pi值的那个例子中,有slices,这个跟配置文件中的线程数有关系吗?
2.pom.xml中写的是参数配置吗?如果写在pom里了,在执行jar包的时候还用加上参数吗
谢谢
slices表示task数目,配置文件中的线程数表示可以同时跑的task数目,比如slices=100, 线程数是10;不建议把参数写到pom.xml中,建议提交的时候指定,因为参数经常变动,而jar包不会经常生成十五、一张表,如果其中有些数据会删除或者增加变动,也可以用cache吗,做实时计算的时候
可以cache。如果有变动,需要重新cache。十六、如何提高spark读取hbase的效率?
增加过滤条件,只读取需要的列;增加cache等,具体参考hbase优化
- 董西城问答整理:第二课
- 董西城问答整理:第一课
- 董西城问答整理:第三课
- [转载+整理]JSP问答...
- 网络技术知识问答整理
- 技术问答整理(1)
- 技术问答整理(2)
- 技术问答整理(3)
- 技术问答整理(4)
- 技术问答整理(5)
- 技术问答整理(6)
- 技术问答整理(7)
- 技术问答整理(8)
- 技术问答整理(9)
- 技术问答整理(10)
- 圆桌问答 (2017 第二季)
- Linux操作系统第二章问答
- 整理的MapXtreme2004应用问答
- centos 7 install xfce
- ***P381
- Java-6.2-接口回调
- Build and Install a PERL module
- 机器学习笔记(十六)——EM算法概述
- 董西城问答整理:第二课
- 透过Retrofit使用看其源码设计模式
- iOS日常学习 - 每个Xcode开发者应该知道的七个使用技巧
- C++命名空间
- AJAX_XMLHttpRequest对象
- JavaScript入门<2>JavaScript常用内置对象实例详解
- 个人手游开发者
- Hibernate 2.0--5.0.11各版本创建SessionFactory
- 学习Hadoop第二十课(Hadoop集群的搭建)