苹果在希腊神话中,是智慧的象征,当初亚当和夏娃就是吃了苹果才变得有思想,现在引申为科技的未知领域。苹果公司的标志是咬了一口的苹果,表明了他们勇于向科学进军,探索未知领域的理想。
在决定采用"苹果"这一名字时,创始人注意到他们品牌不遵守习俗的自然特性。这是一种水果的名称--它的视觉符号是被吃掉了一部分的苹果--没什么重要含义,然而这一选择证明了它的价值观--拒绝将计算机神化。苹果是人机关系中离经判道的先行者,人们将不再崇拜或恐惧计算机,而是将之视为一种娱乐。因此该品牌名称符合后来越变越明显的初始想法--一种新的标准已被确立。
说法二:
苹果为什么要用残缺不全的苹果作为自己的logo呢?难道被咬的苹果真是为了纪念计算机之父艾伦·麦席森.图灵?
图灵对于人工智能的发展有诸多贡献,例如图灵曾写过一篇名为《机器会思考吗?》(Can Machine Think?)的论文,其中提出了一种用于判定机器是否具有智能的试验方法,即图灵试验。至今,每年都有试验的比赛。此外,图灵提出的著名的图灵机模型为现代计算机的逻辑工作方式奠定了基础。
因为图灵的同性恋倾向而遭到的迫害使得他的职业生涯尽毁。1952年,他的同性伴侣协同一名同谋一起闯进了图灵的房子实施盗窃。图灵为此而报警。但是警方的调查结果使得他被控以“明显的猥亵和性颠倒行为”。他没有申辩,并被定罪。在著名的公审后,他被给予了两个选择:坐牢或荷尔蒙疗法。他选择了荷尔蒙注射,并持续了一年。在这段时间里,药物产生了包括乳房不断发育的副作用。1954年,图灵因食用浸过氰化物溶液的苹果死亡。(说是咬了一口就死了~)很多人相信他的死是有意的,并判决他的死是自杀。但是他的母亲极力争论他的死是意外,因为他在实验室里不小心堆放了很多化学物品.
图灵图灵享年42岁,科学家为了纪念他,1966年美国计算机协会设立了“图灵奖”成为计算机科学家的最高奖项。后来一位加利福尼亚的小伙子为了纪念图灵,开办了一家公司,而公司的Logo就是图灵死时手里拿着的被咬过一口的苹果,这家公司就是现在很出名的苹果公司,而那个小伙子则是苹果的第一任CEO乔布斯。
思考:
2009年9月,英国首相布朗向天才的数学家、密码学家、计算机科学的创始人艾兰·图灵道歉。当年图灵由于身为同性恋者,被强行“治疗”,在被迫注射大量雌性激素后,不堪屈辱,吃沾染氰化钾的苹果自尽,他死去的桌边还剩下半个苹果,时年42。图灵的粉丝乔布斯把公司取名为苹果,并且以被咬了一口的苹果作为标志。
这是一个很好的故事,也很煽情。但对其真实性还是有点心存疑虑,禁不住考察了一下。
图灵的大名,学习计算机科学的学生都知道。关于他的死因,却很少去深究。既然英国首相都道歉了,姑且相信是真的。
那个被咬掉一口的苹果Logo,向来引起人们的关注和议论。把它跟图灵联系在一起,是一部拍于2001年关于二战时间情报战的英国电影Enigma。
苹果公司第一次使用这个著名的LOGO是在1977年推出Apple II的时候,由 Regis McKenna 广告公司的Rob Janoff设计的,表示获取知识。更早的苹果公司的LOGO则是坐在苹果树下的牛顿。
所以如果要把苹果跟一个人联系起来,应该是名气更大的牛顿,而不是图灵。
三:苹果电脑公司早期的徽标已经鲜为人知:
① 中间是牛顿坐在苹果树下读书的一个图案;
② 上下有飘带缠绕,书写Apple Computer Co字样(当时还没有上市,所以用Co.而不是现在的Inc.);
③ 外框上使用了英国诗人William Wordsworth的短诗。
的确,充满了浪漫色彩,在苹果你永远会远离机器,永远充满人文和人性。
这样的一个徽标是一个叫Ron Wayne的人设计的,他几乎可以说是除了两个创始人之外最早加入苹果的人。
不过,牛顿徽标用了很短的时间,JoBS认为该徽标过于复杂,不易复制传播,于是,他指定Regis McKenna公关公司的艺术总监Rob Janov重新设计一个更好的徽标。
于是Janov开始制作了一个苹果的黑白剪影,但是总感觉缺了些什么,“我想简化苹果的形状,并且在一侧被咬了一口(taking a bite)——a byte(一个字节),对吧,以防苹果看起来象一个西红柿,”Janov解释到。然后,Javov增加了六条彩色的、水平色条,原始设计有黑色的细线分开不同的颜色条,可以减小印刷时的压印问题,但是JoBS没有同意这个建议。这样就完成了我们今天所熟知的彩色苹果徽标。
每一个见到苹果徽标的人都会禁不住问:为什么苹果被咬了一口?这或许正是当初设计苹果徽标的人恰恰所希望达到的效果。
① 鲜艳的色彩,给人以活力和朝气;
② 咬掉的缺口唤起人们的好奇、疑问;想知道苹果的滋味就要亲口尝一尝,对吗?
③ 英文的咬字(bite)与计算机的基本运算单位字节(Byte)同音;
据说设计这个徽标花了苹果一大笔钱,苹果的前总裁Michael M. Scott称为“the most expensive bloody logo ever designed.”,具体数目作者尚未考证到。
四: 几乎每一本关于标识、品牌的书都会写到苹果电脑的LOGO。
其实,苹果公司最早的 LOGO是牛顿坐在苹果树下读书的一个图案,上下有飘带缠绕,写着Apple Computer Co.字样(当时还没有上市,所以用Co.而不是现在的Inc.),外框上则使用了英国诗人威廉·华兹华斯(William Wordsworth)的短诗:
• Newton……(牛顿)
A Mind Forever(一个灵魂)
Voyaging Through Strange(永远航行在陌生的)
Seas of Thought (思想的海洋中)
……Alone(孤独地)
当年,苹果树上掉下来一个苹果,砸到了牛顿的脑袋上,牛顿领悟到了万有引力定律。他从研究月球绕地球运动入手,探索引力定律,不仅在观念上肯定了地球上的引力与天体间引力的同一性,并且在开普勒三定律基础上,运用自己的力学成就和微积分,从理论上证明了引力跟距离的平方成反比。牛顿由开始研究万有引力定律(166年),到最后发表在《自然哲学的数学原理》上(168年),一共花了21年时间。万有引力定律揭示了天体运动的规律,在天文学上和宇宙航行计算方面有着广泛的应用。
不过这个牛顿徽标过于复杂,不易复制传播,只用了很短的时间。1977年由里吉斯·麦肯纳(Regis McKenna)公关公司艺术总监Rob Janov设计出第二个苹果徽标:被咬掉一口的苹果图案。
很多见到苹果徽标的人都会禁不住问:为什么苹果被咬了一口?这或许恰恰正是当初设计苹果徽标的人所希望达到的效果。
在英语中,“咬”(bite)与计算机的基本运算单位字节(Byte)同音。
毛泽东说:“要想知道梨子的滋味,就要亲口尝一尝。”一只色彩柔和的,被咬掉一口的苹果,表现出 You can own your computer (你能够拥有自己的计算机)的亲切感。被咬了一口的苹果也证明了它的价值观——拒绝将计算机神化。苹果是人机关系中离经判道的先行者,人们将不再崇拜或恐惧计算机,而是将之视为一种娱乐。因此该品牌名称符合后来越变越明显的初始想法——一种新的标准已被确立。
咬了一口的苹果还是一种缺陷美,就像断臂的维纳斯。《米洛斯的维纳斯》是举世闻名的古希腊后期的雕塑杰作。它是1820年在爱琴海南部的米洛岛上的一个山洞里发现的,长期以来它一直被认为是迄今被发现的希腊女性雕像中最美的一尊。不论观者从何种角度看,都同样获得这种感受:庄重的妩媚。尤其令人惊奇的是,女神的两臂虽已失去,却让人感到一种残缺的美。虽然不少人曾依照各自的推测补塑了她的双臂,但总觉不协调,还不如就让她缺两只胳臂,因而以“断臂美神”而闻名遐迩。维纳斯双臂残缺,反倒给人以广阔的想象的空间,产生无穷无尽的美的感受。据说,苹果品牌标识最初的设计是一只完整的苹果,但是,无论怎么看,都像是一只西红柿。完美的不一定是美的。太整齐完好反而显得呆板,稍有残缺反而使人觉得自然、生动,给这传统古朴之物增添了生机。这就是艺术创造和审美活动中的“虚实相生”。
在西方语意里面, 苹果不是一种单纯的水果,不是一般意义上的水果,而是一种智慧之果。圣经上就有这么一段,蛇告诉夏娃说:“如果你们吃了智慧树上的果子就会发现善恶有别,就会跟上帝一样,上帝就是因为这个理由而不让你们吃这果子的。”亚当和夏娃就是吃了苹果才变得有思想,现在引申为科技的未知领域。苹果公司的标志是咬了一口的苹果,表明了他们勇于向科学进军,探索未知领域的理想。
50年前的爵士表演者穿梭于美国的各个城市、乡镇演出挣钱。他们最喜欢的城市就是纽约,因为这里有最多的爵士乐迷因而他们可以挣到最多的钱。
这些早期的爵士乐手们把美国的每个城镇描绘成树上的一只只苹果,他们把纽约称为大苹果。有个歌手唱道,成功树上苹果何其多,但如果你挑中了纽约,你就挑到了最大的苹果!随后在纽约很流行的一种舞蹈也被称为“大苹果”。
直到20年前当市政官员开始发展旅游业的时候。才把大苹果当作纽约的标志。
其实纽约并不盛产苹果,但漫步在纽约街头,到处可见一只只做为街景的大苹果,用各种材料制成,装饰以不同的图案,这是提醒人们这一特点的最好的办法。
充满乐趣的苹果电脑迅速成为市场上那些崇尚个性的消费者的首选,这个俏皮的LOGO与英特尔组合下的一本正经的PC机阵营形成了鲜明的对比,使用者们甚至通过这个LOGO寻找与自己抱有同样价值观的人。当然,他们与苹果之间也形成了密切的联系。
2003年,苹果进行了标识更换,将原有的彩色苹果换成了一个半透明的、泛着金属光泽的银灰色LOGO。新的标识显得更为立体、时尚和cool(酷),更附和苹果旗下的两个具有重要影响力的产品itunes
可以使用 Corel WordPerfect X8 打开TMF 文件扩展名有 一 种主要文件类型,可以使用 Corel WordPerfect X8 打开(由 Corel发布)。 总共有 二 种与此格式相关的软件程序。 通常这些是一种 Corel WordPerfect Tagged Font Metric File 格式。 TMF 文件扩展名主要归类于 Font Files 类别。
Windows 平台已支持 TMF 文件。 它们是台式计算机(和移动)设备兼容的。 TMF 文件普及性为“低”。 这意味着它们在大多数设备上都不常见。
服务运行时将服务信息展示出来方便用户查看时服务易用性的重要组成部分。特别时对于分布式集群服务。
spark服务本身有提供获取应用信息对方法,方便用户查看应用信息。Spark服务提供对master,worker,driver,executor,Historyserver进程对运行展示。对于应用(driver/executor)进程,主要提供metric和restapi对访问方式以展示运行状态。
服务/进程通过Metric将自身运行信息展示出来。spark基于Coda Hale Metrics Library库展示。需要展示的信息通过配置source类,在运行时通过反射实例化并启动source进行收集。然后通过配置sink类,将信息sink到对应的平台。
以driver为例:driver进程启动metricSystem的流程:
SparkContext在初始化时调用 : MetricsSystem.createMetricsSystem("driver", conf, securityManager)
然后等待ui启动后启动并绑定webui(executor则是初始化后直接启动)
metricsSystem.start()
metricsSystem.getServletHandlers.foreach(handler =>ui.foreach(_.attachHandler(handler)))
创建MetricConfig, val metricsConfig = new MetricsConfig(conf)
初始化MetricConfig,首先设置默认的属性信息:
prop.setProperty("*.sink.servlet.class","org.apache.spark.metrics.sink.MetricsServlet")
prop.setProperty("*.sink.servlet.path","/metrics/json")
prop.setProperty("master.sink.servlet.path","/metrics/master/json")
prop.setProperty("applications.sink.servlet.path","/metrics/applications/json")
加载conf/metric.properties文件或者通过spark.metrics.conf制定的文件。读取相关配置,metricsConfig.initialize()
在启动metricSystem时,则会注册并启动source和sink
registerSources()
registerSinks()
sinks.foreach(_.start)
默认启动对source如下:
可配置的source如下:
配置方法:修改$SPARK_HOME/conf目录下的metrics.properties文件:
默认相关source已经统计在列。可添加source为jvmsource。添加之后则相关进程的jvm信息会被收集。配置方法
添加如下行:
driver.source.jvm.class=org.apache.spark.metrics.source.JvmSource
executor.source.jvm.class=org.apache.spark.metrics.source.JvmSource
或者*.source.jvm.class=org.apache.spark.metrics.source.JvmSource
source信息的获取比较简单,以DAGSchedulerSource的runningStages为例,直接计算dagscheduler的runningStages大小即可。override def getValue: Int = dagScheduler.runningStages.size
通过这些收集的信息可以看到,主要是方便查看运行状态,并非提供用来监控和管理应用
Metric信息展示方法:
收集的目的是方便展示,展示的方法是sink。
常用的sink如下:
a) metricserverlet
spark默认的sink为metricsserverlet,通过driver服务启动的webui绑定,然后展示出来。ip:4040/metrics/json(ip位driver节点的ip)展示:由于executor服务没有相关ui,无法展示metricsource的信息。 下图是配置过JVMsource后,通过driver节点的看到的metric信息。
b) CSV方式(将进程的source信息,写入到csv文件,各进程打印至进程节点的相关目录下,每分钟打印一次):
*.sink.csv.class=org.apache.spark.metrics.sink.CsvSink
*.sink.csv.period=1
*.sink.csv.directory=/tmp/
c) console方式(将进程的source信息写入到console/stdout
,输出到进程的stdout):
*.sink.console.class=org.apache.spark.metrics.sink.ConsoleSink
*.sink.console.period=20
*.sink.console.unit=seconds
d) slf4j方式(直接在运行日志中查看):
*.sink.slf4j.class=org.apache.spark.metrics.sink.Slf4jSink
*.sink.slf4j.period=10
*.sink.slf4j.unit=seconds
e) JMX方式(此情况下,相关端口要经过规划,不同的pap使用不同的端口,对于一个app来说,只能在一个节点启动一个executor,否则会有端口冲突):
executor.sink.jmx.class=org.apache.spark.metrics.sink.JmxSink
JMX方式在配置后,需要在driver/executor启动jmx服务。 可通过启动应用时添加如下 *** 作实现--conf "spark.driver.extraJavaOptions=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8090 -Dcom.sun.management.jmxremote.rmi.port=8001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false --conf "spark.executor.extraJavaOptions=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8002 -Dcom.sun.management.jmxremote.rmi.port=8003 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
可通过jconsole工具链接至对应driver进程所在ip和端口查看jmx信息。
除例metrics之外,用户还可以通过restApi接口查看应用运行信息。可以查询的信息如下(参见 http://spark.apache.org/docs/latest/monitoring.html ):
运行中的应用:通过driver进程查看:
ip:port/api/v1/....
其中Ip为driver所在节点ip,端口为4040. 如果一个节点运行多个driver,端口会以此累加至4040,4041,4042 . 如:10.1.236.65:4041/api/v1/applications/application_1512542119073_0229/storage/rdd/23(on yarn 模式会自动跳转至如下页面)
对于运行完的应用,可通过jobhistory服务查看
此场景下,需要提交应用时打开eventlog记录功能
打开方法在应用的spark-defaults.conf中添加如下配置spark.eventLog.enabled为true,spark.eventLog.dir为hdfs:///spark-history 。
其中/spark-history可配置,需要和jobhistory进程的路径配置一致 ,该路径可通过historyserver页面查看。
ip:port/api/v1/....(其中Ip为spark服务的jobhistory进程所在节点ip,默认端口为18080). 可通过如下方式访问:
Spark作为计算引擎,对于大数据集群来说,作为客户端向Yarn提交应用来完成数据的分析。所使用的资源一般在yarn控制之下。其应用场景并非作为服务端为其他组件提供服务。其所提供的信息通常是针对app级别,如job,stage,task等信息。一般的信息监控需求均可通过其ui页面查看。对于一些应用的运行情况,可通过restapi获取和分析。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)