Mingo Liu

Results 5 comments of Mingo Liu

如果是yarn的话,主要是以下几类配置 1. masterUrl固定为yarn,dependenceJar和app name和standalone没有区别 2. 配置hdfs集群的namenode信息,因为job数据和日志都是放在hdfs中 3. 配置yarn集群的resource manager信息, 4. job相关的资源 下面一份配置是我使用过的,把这些属性设置到SparkConf中,然后通过SparkConf构建spark contex即可。供参考: spark.hadoop.dfs.nameservices=hacluster spark.hadoop.dfs.ha.namenodes.hacluster=33,34 spark.hadoop.dfs.namenode.rpc-address.hacluster.34=node-xxx2:9820 spark.hadoop.dfs.namenode.rpc-address.hacluster.33=node-xxx1:9820 spark.hadoop.dfs.client.failover.proxy.provider.hacluster=org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider spark.hadoop.mapreduce.framework.name=yarn spark.hadoop.yarn.resourcemanager.ha.enabled=true spark.hadoop.yarn.resourcemanager.ha.rm-ids=46,47 spark.hadoop.yarn.resourcemanager.hostname.47=node-xx1 spark.hadoop.yarn.resourcemanager.hostname.46=node-xx2 spark.hadoop.yarn.resourcemanager.address.47=node-xx1:8032 spark.hadoop.yarn.resourcemanager.address.46=node-xx2:8032 spark.hadoop.yarn.resourcemanager.scheduler.address.46=node-xx2:8030 spark.hadoop.yarn.resourcemanager.scheduler.address.47=node-xx1:8030 spark.yarn.stagingDir=hdfs://hacluster/user/spark/stagingDir spark.yarn.preserve.staging.files=true spark.yarn.archive=hdfs://hacluster/user/spark/jars/spark-archive-2x.zip

架构是软件的核心和灵魂,没有好的架构的软件经过一段时间的迭代后,会很快走向腐朽。 不能要求每个程序员都能设计出好的架构,那么框架出现了。框架只是知识和经验的总结,提供了一种通用的套路和便捷的落地方式。框架对应软件的各个层次,最上层的架构框架对应着架构。 SSH是web开发框架,它的背后是分层架构。使用但不盲目追求框架,更要明白框架背后的架构。程序员不应该成为框架的奴隶。 不使用框架也能够设计和写出优雅的软件。比如OSchina网站。

是不是有多台负载,如果有多台负载的话,构造函数中传入的机器ID(machineId)需要不同 /** * 构造函数 * * @param machineId 机器ID, 如果有多个负载,那么机器ID需要不同 * @param alphabetsString 字符集编码字符串, 应该是26个大写字符的乱序 */ public ActivationCodeGenerator(int machineId, String alphabetsString) { int maxMachineId = ~(-1 maxMachineId) { throw new...

应该不是这个原因,你是每次使用码的时候都重新创建SecureActivationCodeGenerator对象吗?

抱歉回复晚了,序号是不可以重复的。安全激活码的典型使用场景是这样的: 1. 系统生成一张权益卡(比如充值卡、会员卡等),以充值卡为例,这张卡在数据库应该是如下字段:唯一ID、卡号(一般是16位字母数字)、有效期、金额等 2. 把这张卡的唯一ID作为序号和卡号通过SecureActivationCodeGenerator进行加密得到激活码 3. 然后把卡号和激活码给用户即可 从理论上来说,也可以不用激活码,直接用uuid或者其它的随机串,然后把uuid和卡的绑定关系存储在数据库,用户使用时校验数据库的绑定关系。使用激活码的好处在于无需把激活码存储到数据库。