整个namenode之间的ha保证是通过ZKFC这个组件来完成的。
阅读全文…
hdfs-namenode之间自动ha切换过程
作者: inter12
日期: 17 四月, 2019
没有评论 | 4,603 views
datanode同namenode之间的几个心跳
作者: inter12
日期: 4 四月, 2019
没有评论 | 4,915 views
heartBeat : dfs.heartbeat.interval 默认是3秒
阅读全文…
hdfs dfsadmin setBalancerBandwidth 命令解析
作者: inter12
日期: 28 三月, 2019
没有评论 | 6,370 views
hdfs dfsadmin -setBalancerBandwidth 这个命令是datanode做balance或者mover时候一个比较核心的参数配置
阅读全文…
hive on spark 折腾记
作者: inter12
日期: 27 二月, 2019
没有评论 | 2,972 views
搞这个的原因是因为不想走spark sql,历史包袱太重。所以折衷的使用 hive on spark
有两种形式可以设置hive on spark .
一种是修改hive-site.xml 中的配置
另一种是讲spark目录下的spark-default.conf文件copy到$HIVE_HOME/conf 目录下
两者的效果是一样的
<property> <name>hive.execution.engine</name> <value>spark</value> </property> <property> <name>hive.enable.spark.execution.engine</name> <value>true</value> </property> <property> <name>spark.home</name> <value>/data/service/spark</value> </property> <property> <name>spark.master</name> <value>yarn</value> </property> <property> <name>spark.submit.deployMode</name> <value>cluster</value> </property> <property> <name>spark.eventLog.enabled</name> <value>true</value> </property> <property> <name>spark.eventLog.compress</name> <value>true</value> </property> <property> <name>spark.eventLog.dir</name> <value>viewfs://jssz-bigdata-cluster/tmp/sparklog</value> </property> <property> <name>spark.serializer</name> <value>org.apache.spark.serializer.KryoSerializer</value> </property> <property> <name>spark.yarn.historyServer.address</name> <value>http://10.69.1.34:18080</value> </property> <property> <name>spark.driver.cores</name> <value>1</value> </property> <property> <name>spark.driver.memeory</name> <value>4g</value> </property> <property> <name>spark.driver.extraJavaOptions</name> <value>-Dspark.driver.log.level=INFO -XX:+UseG1GC</value> </property> <property> <name>spark.executor.memeory</name> <value>15g</value> </property> <property> <name>spark.executor.cores</name> <value>1</value> </property> <property> <name>spark.executor.extraJavaOptions</name> <value>-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseG1GC</value> </property> <property> <name>spark.shuffle.service.enabled</name> <value>true</value> </property> <property> <name>spark.dynamicAllocation.enabled</name> <value>true</value> </property> <property> <name>spark.dynamicAllocation.minExecutors</name> <value>1</value> </property> <property> <name>spark.dynamicAllocation.maxExecutors</name> <value>50</value> </property> <property> <name>spark.dynamicAllocation.schedulerBacklogTimeout</name> <value>10s</value> </property> <property> <name>hive.spark.client.rpc.max.size</name> <value>268435456</value> </property> <property> <name>spark.rpc.message.maxSize</name> <value>256</value> </property> <property> <name>spark.scheduler.mode</name> <value>FAIR</value> </property> <property> <name>spark.blacklist.enabled</name> <value>true</value> </property> <property> <name>spark.speculation</name> <value>true</value> </property> <property> <name>spark.task.maxFailures</name> <value>10</value> </property> <property> <name>spark.rdd.compress</name> <value>true</value> </property> <property> <name>spark.executor.heartbeatInterval</name> <value>20s</value> </property> <property> <name>spark.network.timeout</name> <value>120s</value> </property> <!-- 解决shuffle 的问题 --> <property> <name>spark.sql.tungsten.enabled</name> <value>true</value> </property> <!-- 解决UDF的问题 --> <property> <name>spark.jars</name> <value>/data/service/hive/lib/com.bilibili.hiveudf.jar</value> </property>
在 添加 ${SPARK_LIB}/spark-*.jar 到 hive的classpath下。
问题一 cluster模式下 作业连接超时。
看了一下提交的作业信息
</div> <div>SparkSubmit --properties-file /tmp/spark-submit.3467179554612125337.properties --class org.apache.hive.spark.client.RemoteDriver /data/src/hive/apache-hive-2.3.4-bin/lib/hive -exec-2.3.4.jar --remote-host jssz-bigdata-hive-04 --remote-port 16317 --conf hive.spark.client.connect.timeout=1000 --conf hive.spark.client.server.connect.timeout=90000 --conf hive.spark.client.channel. log.level=null --conf hive.spark.client.rpc.max.size=1195725856 --conf hive.spark.client.rpc.threads=8 --conf hive.spark.client.secret.bits=256 --conf hive.spark.client.rpc.server.address=null</div> <div>
因为cluster模式下,AM是运行在远程的,数据通信是通过 –remote-host 这个参数来进行回传 。后来发现是nodemanager节点不能解析域名,配置加上后解决
问题二 无法识别hive 的UDF
在配置中添加 spark.jars 配置,把UDF的包给加上去。
问题三 Unable to acquire ** bytes of memory异常
修改配置
设置spark.sql.tungsten.enabled = false。
设置spark.executor.cores=1。
问题四 hive server 内存不足
因为hive on spark 本质上也是通过 spark-submit命令来提交。所以提交一个作业时候会消耗一定的内存,那么就
export HADOOP_CLIENT_OPTS=”-Xmx1024m”
阅读全文…
yarn-label Scheduler
作者: inter12
日期: 12 二月, 2019
没有评论 | 2,586 views
需要对于yarn集群进行实时和离线作业的分离,就单独搞一个yarn,实时对于资源的竞争比较敏感,所以用了标签来做机器上的隔离来保证资源的隔离性
阅读全文…
kafka2.0源码计划之-broker clusterId
作者: inter12
日期: 13 十一月, 2018
没有评论 | 3,681 views
_clusterId 生成规则
在KafkaServer中调用的方式是getOrGenerateClusterId,生成唯一值
阅读全文…
kafka2.0源码计划之-broker总览
作者: inter12
日期: 12 十一月, 2018
3 条评论 | 4,134 views
用了近两年的kafka 0.10.1.1版本后,我们终于要废弃它了。在这个版本上,可以说是吃尽了苦头,其中的问题有自身对于kafka的理解不深入,也有kafka自己的bug问题。当流量小的时候,一切看起来都是那么美好,当流量到千亿级别时候,就是另一回事情。
阅读全文…
Presto内存分配机制
作者: inter12
日期: 18 九月, 2018
没有评论 | 6,293 views
1.预留系统内存:SYSTEM_POOL= Runtime.getRuntime().maxMemory() * 0.4
阅读全文…
YARN-ResourceManager的整体剖析
作者: inter12
日期: 1 九月, 2018
没有评论 | 5,473 views
最近在查YARN的一些问题,就总结一下YARN中RM的整体代码模块
阅读全文…