首页 文章 精选 留言 我的

精选列表

搜索[连接],共10019篇文章
优秀的个人博客,低调大师

jenkins slave连接harbor认证的坑儿

昨天遇到的问题。 公司是docker运行jenkins master。 然后然后JNLP来操作jenkins slave。 jenkins slave也是docker方式运行。 slave里面跑的docker都是以docker out docker的方式映射到宿主slave的docker命令。 jenkins 2.7,新版本安装了pipeline插件。 并用yet another docker插件来制作docker镜像。 在docker push时,先需要harbor仓库认证。 写法如下: withDockerRegistry(registry: [credentialsId: 'harbor_admin', url: 'http://harbor.paic.com.cn']) { // some block } 这样的写法,生成的是.dockercfg认证这件, 然后,死活推不到harbor上去。 (将login生成的认证文件也挂到了slave的宿主机上) 找了N多网页,试了N多方面,都不行。 最好,只有自己在pipeline里写docker login 命令,才能生成正确的.docker/config.json文件。 然后,将这个config.json文件挂载到jenkins slave主机上正确的位置,就OK了。(因为docker out docker,,所以认证一定是宿主机的docker认证和操作命令) /usr/local/docker/docker:/usr/bin/docker /run/docker.sock:/run/docker.sock /docker/jenkins_home/.m2/:/root/.m2/ /docker/home/docker/.docker:/home/jenkins/.docker 原来 Registry 1.0 - Docker pre 1.6:认证文件为.dockercfg Registry 2.0 - Docker 1.6 and up:认证文件为.docker/config.json http://mesosphere.github.io/marathon/docs/native-docker-private-registry.html Use a Private Docker Registry with the Docker Containerizer Registry 1.0 - Docker pre 1.6 To supply credentials to pull from a private registry, add a.dockercfgto theurisfield of your app. The$HOMEenvironment variable will then be set to the same value as$MESOS_SANDBOXso Docker can automatically pick up the config file. Registry 2.0 - Docker 1.6 and up To supply credentials to pull from a private registry, add adocker.tar.gzfile to theurisfield of your app. Thedocker.tar.gzfile should include the.dockerdirectory and the contained.docker/config.json

优秀的个人博客,低调大师

Kafka连接SparkStreaming的两种方式

第一种方式代码: 1 import org.apache.spark.storage.StorageLevel 2 import org.apache.spark.{HashPartitioner, SparkConf} 3 import org.apache.spark.streaming.kafka.KafkaUtils 4 import org.apache.spark.streaming.{Seconds, StreamingContext} 5 6 object KafkaWordCount { 7 val updateFunc = (iter: Iterator[(String, Seq[Int], Option[Int])]) => { 8 //iter.flatMap(it=>Some(it._2.sum + it._3.getOrElse(0)).map(x=>(it._1,x))) 9 iter.flatMap { case (x, y, z) => Some(y.sum + z.getOrElse(0)).map(i => (x, i)) } 10 } 11 12 def main(args: Array[String]) { 13 LoggerLevels.setStreamingLogLevels() 14 val Array(zkQuorum, group, topics, numThreads) = args 15 val sparkConf = new SparkConf().setAppName("KafkaWordCount").setMaster("local[2]") 16 val ssc = new StreamingContext(sparkConf, Seconds(5)) 17 ssc.checkpoint("c://ck2") 18 //"alog-2016-04-16,alog-2016-04-17,alog-2016-04-18" 19 //"Array((alog-2016-04-16, 2), (alog-2016-04-17, 2), (alog-2016-04-18, 2))" 20 val topicMap = topics.split(",").map((_, numThreads.toInt)).toMap 21 val data = KafkaUtils.createStream(ssc, zkQuorum, group, topicMap, StorageLevel.MEMORY_AND_DISK_SER) 22 val words = data.map(_._2).flatMap(_.split(" ")) 23 val wordCounts = words.map((_, 1)).updateStateByKey(updateFunc, new HashPartitioner(ssc.sparkContext.defaultParallelism), true) 24 wordCounts.print()//老师给的代码文件中没有这句话 必须要有一个Action,否则报错 25 //java.lang.IllegalArgumentException: requirement failed: No output operations registered, so nothing to execute 26 ssc.start() 27 ssc.awaitTermination() 28 } 29 } 第二种方式代码: 1 import kafka.serializer.StringDecoder 2 import org.apache.log4j.{Level, Logger} 3 import org.apache.spark.SparkConf 4 import org.apache.spark.rdd.RDD 5 import org.apache.spark.streaming.kafka.{KafkaManager, KafkaUtils} 6 import org.apache.spark.streaming.{Seconds, StreamingContext} 7 8 9 object DirectKafkaWordCount { 10 11 /* def dealLine(line: String): String = { 12 val list = line.split(',').toList 13 // val list = AnalysisUtil.dealString(line, ',', '"')// 把dealString函数当做split即可 14 list.get(0).substring(0, 10) + "-" + list.get(26) 15 }*/ 16 17 def processRdd(rdd: RDD[(String, String)]): Unit = { 18 val lines = rdd.map(_._2) 19 val words = lines.map(_.split(" ")) 20 val wordCounts = words.map(x => (x, 1L)).reduceByKey(_ + _) 21 wordCounts.foreach(println) 22 } 23 24 def main(args: Array[String]) { 25 if (args.length < 3) { 26 System.err.println( 27 s""" 28 |Usage: DirectKafkaWordCount <brokers> <topics> <groupid> 29 | <brokers> is a list of one or more Kafka brokers 30 | <topics> is a list of one or more kafka topics to consume from 31 | <groupid> is a consume group 32 | 33 """.stripMargin) 34 System.exit(1) 35 } 36 37 Logger.getLogger("org").setLevel(Level.WARN) 38 39 val Array(brokers, topics, groupId) = args 40 41 // Create context with 2 second batch interval 42 val sparkConf = new SparkConf().setAppName("DirectKafkaWordCount") 43 sparkConf.setMaster("local[*]") 44 sparkConf.set("spark.streaming.kafka.maxRatePerPartition", "5") 45 sparkConf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer") 46 47 val ssc = new StreamingContext(sparkConf, Seconds(2)) 48 49 // Create direct kafka stream with brokers and topics 50 val topicsSet = topics.split(",").toSet 51 val kafkaParams = Map[String, String]( 52 "metadata.broker.list" -> brokers, 53 "group.id" -> groupId, 54 "auto.offset.reset" -> "smallest" 55 ) 56 57 val km = new KafkaManager(kafkaParams) 58 59 val messages = km.createDirectStream[String, String, StringDecoder, StringDecoder]( 60 ssc, kafkaParams, topicsSet) 61 62 messages.foreachRDD(rdd => { 63 if (!rdd.isEmpty()) { 64 // 先处理消息 65 processRdd(rdd) 66 // 再更新offsets 67 km.updateZKOffsets(rdd) 68 } 69 }) 70 71 ssc.start() 72 ssc.awaitTermination() 73 } 74 } 本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/6810238.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android 远程连接 daemon not running 解决方法

用adb命令链接远程模拟器 有时候会遇到如下问题: C:\Documents and Settings\Administrator>adb connect 192.168.0.183 * daemon not running. starting it now on port 5037 * ADB server didn't ACK * failed to start daemon * error: cannot connect to daemon 解决方法很简单: 在任务管理器中 强制结束 adb.exe进程,重新链接便可 本文转自 最牛傻蛋 51CTO博客,原文链接:http://blog.51cto.com/zuiniuwang/718305,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册