我正在运行kinesis plus spark应用程序 https://spark.apache.org/docs/1.2.0/streaming-kinesis-integration.html
我正在运行如下
ec2实例上的命令:
./spark/bin/spark-submit --class org.apache.spark.examples.streaming.myclassname --master yarn-cluster --num-executors 2 --driver-memory 1g --executor-memory 1g --executor-cores 1 /home/hadoop/test.jar
Run Code Online (Sandbox Code Playgroud)
我在EMR上安装了火花.
EMR details
Master instance group - 1 Running MASTER m1.medium
1
Core instance group - 2 Running CORE m1.medium
Run Code Online (Sandbox Code Playgroud)
我越来越低于INFO,它永远不会结束.
15/06/14 11:33:23 INFO yarn.Client: Requesting a new application from cluster with 2 NodeManagers
15/06/14 11:33:23 INFO yarn.Client: Verifying our application has not requested more than the maximum memory capability of the cluster (2048 MB per container)
15/06/14 11:33:23 INFO …
Run Code Online (Sandbox Code Playgroud) 任务是通过简单的CSV文件中的关键字段值查找特定字段(按行数排列)值(只是逗号分隔符,没有字段括号引号,字段内没有逗号),有标题在它的第一行.
用户uynhjl给出了一个示例(但使用不同的字符作为分隔符):
val src = Source.fromFile("/etc/passwd")
val iter = src.getLines().map(_.split(":"))
// print the uid for Guest
iter.find(_(0) == "Guest") foreach (a => println(a(2)))
// the rest of iter is not processed
src.close()
在这种情况下的问题是如何跳过解析标题行?
我有一个小应用程序,它使用WCF与Web服务器通信.该程序由大约200个客户端使用,每个客户端以大约5-20个请求/分钟发送.
查看错误日志我经常得到:
在00:00:59.9989999之后等待回复时,请求通道超时
请求如下:
ClientService Client = new ClientService();
Client.Open();
Client.updateOnline(userID);
Client.Close();
Run Code Online (Sandbox Code Playgroud)
这是app.config
<configuration>
<configSections>
</configSections>
<startup><supportedRuntime version="v2.0.50727"/></startup><system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IClientService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="None">
<transport clientCredentialType="Windows" proxyCredentialType="None"
realm="" />
<message clientCredentialType="Windows" negotiateServiceCredential="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="PATH TO SERVICE"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IClientService"
contract="IClientService" name="WSHttpBinding_IClientService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)
在"多次通话"中,每天约200-800次失败.约n-1是好的.我很困惑这个问题是什么.查看服务器统计信息,它几乎没有出汗 …
我正在使用一个服务器,它将字符分隔列表返回给它的客户端.为了构建这些列表,我必须通过for-each循环检测第一次迭代:
StringBuilder builder = new StringBuilder() ;
boolean firstIterationFlag = true ;
for ( String s : list ){
if ( firstIterationFlag) {
firstIterationFlag = false ;
} else {
builder.append(separator);
}
builder.append(s) ;
}
return builder.toString() ;
Run Code Online (Sandbox Code Playgroud)
没有旗帜,有没有办法做到这一点?
我有一个小型Scala程序,可以在单个节点上运行.但是,我正在扩展它,因此它在多个节点上运行.这是我的第一次尝试.我只是想了解RDD如何在Spark中工作,所以这个问题是基于理论的,可能不是100%正确.
假设我创建了一个RDD:
val rdd = sc.textFile(file)
现在,一旦我这样做了,这是否意味着文件at file
现在在节点之间进行分区(假设所有节点都可以访问文件路径)?
其次,我想计算RDD中的对象数量(足够简单),但是,我需要在需要应用于RDD中的对象的计算中使用该数字 - 伪代码示例:
rdd.map(x => x / rdd.size)
Run Code Online (Sandbox Code Playgroud)
假设有100个对象rdd
,并且说有10个节点,因此每个节点有10个对象的计数(假设这是RDD概念的工作方式),现在当我调用该方法时,每个节点将使用rdd.size
as 执行计算10
还是100
?因为,总的来说,RDD是大小100
但在每个节点上本地只是10
.我是否需要在进行计算之前制作广播变量?这个问题与下面的问题有关.
最后,如果我转换到RDD,例如rdd.map(_.split("-"))
,然后我想要新size
的RDD,我是否需要在RDD上执行操作,例如count()
,所以所有信息都被发送回驱动程序节点?
我rahm_test_controller.erl
在src
目录中创建了该文件,并添加了一个名为的操作hello
.
在/priv/rahm.routes
,我为主页添加了这一行:
{"/",[{controller,"test"}, {action, "hello"}]}.
Run Code Online (Sandbox Code Playgroud)
如果我启动服务器./init-dev.sh
,它可以工作,但如果我在生产模式下启动服务器./init.sh start
,它不起作用.当我打开主页时,它显示"没有收到数据".
这有什么问题?
我正在为Cassandra数据库构建一个备份和恢复过程,以便在需要时准备就绪,以便我了解细节以构建适合生产的东西.我在这里遵循Datastax的说明:
http://www.datastax.com/documentation/cassandra/2.0/cassandra/operations/ops_backup_restore_c.html.
首先,我在开发盒上播种数据库,然后尝试进行备份/恢复.这是备份脚本:
#!/bin/bash
cd /opt/apache-cassandra-2.0.9
./bin/nodetool clearsnapshot -t after_seeding makeyourcase
./bin/nodetool snapshot -t after_seeding makeyourcase
cd /var/lib/
tar czf after_seeding.tgz cassandra/data/makeyourcase/*/snapshots/after_seeding
Run Code Online (Sandbox Code Playgroud)
是的,也许,tar不是最有效的方式,但我只是想让一些事情发挥作用.我检查了tar,所有文件都在那里.
备份数据库后,我关闭了Cassandra和我的应用程序,然后rm -rf /var/lib/cassandra/
模拟完全丢失.
现在恢复数据库.从http://www.datastax.com/documentation/cassandra/2.0/cassandra/operations/ops_backup_snapshot_restore_t.html恢复"方法2" 与我的模式创建组件比方法1更兼容.
所以,方法2 /步骤1,"重新创建模式":重新启动Cassandra,然后重新启动我的应用程序.该应用程序构建为在必要时在启动时重新创建架构.一旦它启动,就会有一个工作的Cassandra节点,其中包含应用程序的架构,但没有数据.
方法2 /步骤2"恢复快照":它们提供了三种选择,第一种是使用sstableloader,记录在http://www.datastax.com/documentation/cassandra/2.0/cassandra/tools/toolsBulkloader_t.html.加载器所需的文件夹结构与快照工具创建的文件夹结构完全不同,因此必须将所有内容移动到位.在遇到所有麻烦之前,我会在一张桌子上试一试:
>./bin/sstableloader makeyourcase/users
Error: Could not find or load main class org.apache.cassandra.tools.BulkLoader
Run Code Online (Sandbox Code Playgroud)
嗯,好吧,那不行.BulkLoader位于./lib/apache-cassandra-2.0.9.jar中,但加载器似乎没有设置为开箱即用.让我们继续第二种方法,将快照目录复制到makeyourcase/users/snapshots /目录中,而不是调试工具.这应该很简单,因为我们将快照目录放回原来的位置,所以tar xzf after_seeding.tgz
应该这样做:
cd /var/lib/
tar xzf after_seeding.tgz
chmod -R u+rwx cassandra/data/makeyourcase
Run Code Online (Sandbox Code Playgroud)
并将快照目录放回各自的"快照"目录下,刷新应恢复数据:
cd /opt/apache-cassandra-2.0.9
./bin/nodetool refresh -- makeyourcase users
Run Code Online (Sandbox Code Playgroud)
这没有抱怨.请注意,您必须为每个表运行此操作,因此您必须首先生成表列表.但是,在我们这样做之前,请注意Cassandra日志中有一些有趣的东西:
INFO 14:32:26,319 Loading new SSTables for …
Run Code Online (Sandbox Code Playgroud) 当它在反向代理后面时,我遇到了这个问题.后端应用程序部署在上下文中 - 让我们称之为/上下文.
当我直接点击它时,GWT应用程序正常工作:
我可以在它前面配置一个反向代理.这是我的nginx示例:
upstream backend { server 127.0.0.1:8080; } ... location / { proxy_pass http://backend/context/; }
但是,当我通过反向代理时,GWT感到困惑,说:
2009-10-04 14:05:41.140:/:WARN: Login: ERROR: The serialization policy file '/C7F5ECA5E3C10B453290DE47D3BE0F0E.gwt.rpc' was not found; did you forget to include it in this deployment? 2009-10-04 14:05:41.140:/:WARN: Login: WARNING: Failed to get the SerializationPolicy 'C7F5ECA5E3C10B453290DE47D3BE0F0E' for module 'https://hostname:444/'; a legacy, 1.3.3 compatible, serialization policy will be used. You may experience SerializationExceptions as a result. 2009-10-04 14:05:41.292:/:WARN: StoryService: ERROR: The serialization policy file '/0445C2D48AEF2FB8CB70C4D4A7849D88.gwt.rpc' …
我是Spring和web MVC模块的新手.基本上,我有以下几点:
web.xml中
<servlet>
<servlet-name>abc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>abc-dispatcher</servlet-name>
<url-pattern>/user/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
ABC-调度-servlet.xml中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="myPkg" />
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/pages/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
Run Code Online (Sandbox Code Playgroud)
我有一个控制器,相关的部分是:
@Controller
public class ABCController {
@RequestMapping("/user/welcome")
public String printWelcome(ModelMap model) {
//code
}
Run Code Online (Sandbox Code Playgroud)
现在每当我尝试访问 http://localhost:8080/myapp/user/welcome
它给了我404.
日志说"映射url'/ user/welcome'到处理程序'ABCController'但是它无法在DispatcherServlet中映射名为'abc-dispatcher'的URI [/ MYAPP/user/welcome].
完全糊涂了.我已经检查了两次指定映射的所有线程,但这不是这里的情况.我肯定错过了什么!
谢谢您的帮助!
我是angularjs的新手.
我的问题是我有一个用于处理登录和注销的用户控制器.我还有另一个控制器来加载我的网站的标题菜单.
如果用户登录到站点,则我的isAuthenticated变量设置为true.如果变量设置为true,则标题应该更改但是,我认为必须重新加载控制器才能更改标题视图.
这里是我的HeaderController的代码:
myapp.controller('HeaderController', ['$scope', '$location', '$window', 'AuthenticationService',
function HeaderController($scope, $location, $window, AuthenticationService) {
$scope.isAuthenticated = AuthenticationService.isAuthenticated;
if (AuthenticationService.isAuthenticated) {
$scope.user.vorname = $window.sessionStorage.user.vorname;
}
}
]);
Run Code Online (Sandbox Code Playgroud)
这是我的HeaderDirective的代码:
myapp.directive('appHeader', function() {
return {
restrict: 'E',
link: function(scope, element, attrs) {
if (attrs.isauthenticated == 'false') {
scope.headerUrl = 'views/header/index.html';
} else {
scope.headerUrl = 'views/header/isAuthenticated.html';
}
},
template: '<div ng-include="headerUrl"></div>'
}
});
Run Code Online (Sandbox Code Playgroud)
我的index.html:
<div ng-controller="HeaderController">
<app-header isauthenticated="{{isAuthenticated}}"></app-header>
</div>
Run Code Online (Sandbox Code Playgroud)
如果用户登录页面,如何重新加载控制器?
PS:请原谅我糟糕的发音.
apache-spark ×2
scala ×2
amazon-emr ×1
angularjs ×1
bigdata ×1
c# ×1
cassandra ×1
chicagoboss ×1
controller ×1
csv ×1
datastax ×1
erlang ×1
file-io ×1
foreach ×1
gwt ×1
hadoop-yarn ×1
java ×1
javascript ×1
parsing ×1
rdd ×1
spring ×1
wcf ×1