小编Raj*_*Raj的帖子

如何配置Kubernetes Multi-Pod部署

我想通过k8s Deployment对象管理我的部署来部署应用程序集群.文档让我非常困惑.我的基本布局具有以下可独立扩展的组件:

  1. API服务器
  2. UI服务器
  3. Redis缓存
  4. 定时器/预定任务服务器

从技术上讲,以上所有4个属于独立缩放的独立窗格.

我的问题是:

  1. 我是否需要创建pod.yml文件然后以某种方式在deployment.yml文件中引用它们,或者部署文件是否也可以嵌入pod定义?
  2. K8s文档似乎暗示这spec部分Deployment相当于定义一个 pod.那是对的吗?如果我想以声明方式描述多pod部署,该怎么办?我是否需要多个deployment.yml文件?

deployment containers kubernetes google-kubernetes-engine kubernetes-pod

41
推荐指数
2
解决办法
3万
查看次数

Spark Context Textfile:加载多个文件

我需要处理分散在各个目录中的多个文件.我想在一个RDD中加载所有这些,然后对它执行map/reduce.我看到SparkContext能够使用通配符从单个目录加载多个文件.我不知道如何从多个文件夹加载文件.

以下代码段失败:

for fileEntry in files:
    fileName = basePath + "/" + fileEntry
    lines = sc.textFile(fileName)
    if retval == None:
        retval = lines
    else:
        retval = sc.union(retval, lines)
Run Code Online (Sandbox Code Playgroud)

这在第三个循环上失败,并显示以下错误消息:

retval = sc.union(retval, lines)
TypeError: union() takes exactly 2 arguments (3 given)
Run Code Online (Sandbox Code Playgroud)

鉴于我只提供了2个参数,这是奇怪的.任何指针赞赏.

python apache-spark

24
推荐指数
2
解决办法
3万
查看次数

ProxyPassMatch与ProxyPassReverse

伙计们,我们正在尝试为以下场景设置Apache反向代理:

  • 传入请求采用表单 http://foo.com/APP/v1/main.html
  • 对于某些服务器,URL将引用差异版本,例如, http://foo.com/APP/v2/main.html
  • 上游负载均衡器(HAProxy)将请求发送到正确的服务器,该服务器将具有面向JBoss服务器的Apache2反向代理.
  • 当请求出现在Apache 2时,它将具有请求路径 /APP/v1/main.html
  • 我们希望它(反向)代理出去http://localhost:8080/AppContext/main.html,不论在URL版本片段(V1,V2等).

我一直试图这样做:

ProxyPassMatch ^/.*?/APP.*?/(.*)$ http://localhost:8080/AppContext/$1
ProxyPassReverse /APP http://localhost:8080/AppContext
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 我使用ProxyPassMatch正确吗?
  2. ProxyPassReverse是"静态的".如何让它意识到之后可能变化的东西/APP

感谢您的任何见解.

-Raj

apache reverse-proxy proxypass

16
推荐指数
1
解决办法
4万
查看次数

jQuery追加DOM

jQuery.append()的所有示例似乎都采用html字符串并将其附加到容器中.我的用例略有不同.我的服务器返回一个包含要显示的HTML文本的XML,如:

<event source="foo">
    <contents>
        <h1>This is an event</h1>
        This is the body of the event
    </contents>
</event>
Run Code Online (Sandbox Code Playgroud)

我有一个div,需要显示这些内容.

我的JS目前执行以下操作:

  1. 在$ .ajax()成功处理程序中将XML数据加载到jQuery中:

    var jData = $(data);

  2. 找到内容标记并尝试将其子项添加到应该显示事件的div:

    var contents = jData.find( "contents" );
    if( contents != null )
    {
        $( contents ).children().each( function( index, value ) 
        {
         $( "#eventDiv" ).append( $( value ) );
        });
    }
    
    Run Code Online (Sandbox Code Playgroud)

append()调用因未解决错误而失败: Chrome上的WRONG_DOCUMENT_ERR:DOM异常4.调试器将值显示为DOM 元素对象,将$(value)显示为包含ElementObject.

任何帮助将不胜感激.

谢谢.-Raj

javascript jquery dom

9
推荐指数
1
解决办法
3966
查看次数

缩放和聚类JPA

我正在将jboss7上的常规Java EE应用程序放在一起,它将在数据层中使用JPA.我想使这个应用程序,以便它与负载扩展.虽然很明显如何扩展Web层:创建更多的机器并将它们抛在负载均衡器之后,但扩展数据层的可能性却要小得多.

我可以集群我的数据库(MySQL).Stil,使JPA层保持不变.理想情况下,JPA将通过使用由MySQL支持的(集群)内存缓存来扩展.

当我环顾四周时,有关JPA缩放的所有信息似乎都是3-4岁.人们谈论ehcache,memcached和infinispan.我不确定这是否仍然是最新的.

有人能告诉我Java EE集群和扩展的最新技术,特别是在数据层中.

memcached caching jpa ehcache java-ee

9
推荐指数
2
解决办法
6684
查看次数

Spark Mlib FPGrowth作业因内存错误而失败

我有一个相当简单的用例,但可能是非常大的结果集.我的代码执行以下操作(在pyspark shell上):

from pyspark.mllib.fpm import FPGrowth
data = sc.textFile("/Users/me/associationtestproject/data/sourcedata.txt")
transactions = data.map(lambda line: line.strip().split(' '))
model = FPGrowth.train(transactions, minSupport=0.000001, numPartitions=1000)
# Perform any RDD operation
for item in model.freqItemsets().toLocalIterator():
    # do something with item
Run Code Online (Sandbox Code Playgroud)

我发现无论何时通过调用count()或toLocalIterator来启动实际处理,我的操作最终都会因内存不足错误而结束.FPGrowth没有对我的数据进行分区吗?我的结果数据是如此之大,甚至连一个分区都会扼杀我的记忆?如果是的话,有没有办法我可以以"流"方式将RDD保存到磁盘而不试图将其保存在内存中?

感谢您的任何见解.

编辑: FPGrowth的一个基本限制是整个FP树必须适合内存.因此,有关提高最低支持门槛的建议是有效的.

-Raj

apache-spark rdd apache-spark-mllib

5
推荐指数
1
解决办法
974
查看次数

Flask redis服务器会话:save_session出错

伙计们:我正在使用redis移动我的Flask应用程序,以便将会话存储到docker容器中.当redis在本地运行时,我的应用程序运行愉快.但是,当使用redis图像运行docker-compose时,我看到以下错误.无论我的redis容器是在运行还是停止,我都会收到相同的错误:

2017-04-02 03:36:09,861] ERROR in app: Exception on / [GET]
web_1    | Traceback (most recent call last):
web_1    |   File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1988, in wsgi_app
web_1    |     response = self.full_dispatch_request()
web_1    |   File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1643, in full_dispatch_request
web_1    |     response = self.process_response(response)
web_1    |   File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1864, in process_response
web_1    |     self.save_session(ctx.session, response)
web_1    |   File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 926, in save_session
web_1    |     return self.session_interface.save_session(self, session, response)
web_1    |   File "/usr/local/lib/python2.7/site-packages/flask_session/sessions.py", line 165, in save_session
web_1    |     self.redis.setex(name=self.key_prefix …
Run Code Online (Sandbox Code Playgroud)

session redis flask docker-compose

4
推荐指数
1
解决办法
705
查看次数

JBoss 6:将EJB注入servlet

伙计们,

每当新版本的JBoss推出时,我都不得不重新学习和浪费时间.

我有一个在JNDI空间中发现和声明的无状态EJB:

10:01:53,044 INFO  [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:

DTalk/UserManager/local - EJB3.x Default Local Business Interface
DTalk/UserManager/local-com.doctalk.ejb.UserManagerLocal - EJB3.x Local Business Interface
Run Code Online (Sandbox Code Playgroud)

我需要在servlet中使用这个EJB,它是war的一部分,war是包含EJB的EAR的一部分.我想用注射剂来做.

当我使用最直观的表示法时:

@EJB
private UserManager userManager;
Run Code Online (Sandbox Code Playgroud)

我在JBoss日志中遇到异常.

当我使用更华丽的符号,例如:

@EJB( mappedName = "UserManager" )
private UserManager userManager;
Run Code Online (Sandbox Code Playgroud)

要么

@EJB( mappedName = "DTalk/UserManager/local" ) // EAR is called DTalk
private UserManager userManager;
Run Code Online (Sandbox Code Playgroud)

我在jboss中没有注入错误,但注入的bean为null.

这令人抓狂并且浪费了大量时间,让我怀疑为什么我不会将Eclipse/jboss工具专营权转让给NetBeans和GlsssFish.

任何见解都表示赞赏.

谢谢.

dependency-injection ejb-3.0 jboss6.x

3
推荐指数
1
解决办法
3683
查看次数

JAX-RS,RestEasy:没有会话cookie

伙计们,

曾经是当你点击servlet/jsp时,app服务器会自动启动一个会话.它会将会话cookie放在第一个动态响应中,并在整个过程中进行跟踪.

我有一个休息后端,我注意到没有会话cookie被交易.所以我手动添加代码来发送JSESSIONID cookie:

@Context 
private HttpServletRequest httpRequest;
// ...
@GET
@Path( "/{rcpGuid}" )
public Response myMethod( ... )
{
    final HttpSession session = httpRequest.getSession();
    final String sSessionId = session.getId();
    ...
    return Response.status( Response.Status.SEE_OTHER ).
        location( redirectUrl ).cookie( new NewCookie( "JSESSIONID", sSessionId ) );
}
Run Code Online (Sandbox Code Playgroud)

现在这导致返回2个JSESSIONID cookie副本,之前没有Set-Cookie标头.这就是我现在在浏览器的检查器中看到的内容:

Set-Cookie:JSESSIONID=sdm-Q1P6pRoQbKd4-9cJylGb; Path=/nn, JSESSIONID=sdm-Q1P6pRoQbKd4-9cJylGb; Version=1
Run Code Online (Sandbox Code Playgroud)

只要这样可行,我就不在乎.但不幸的是,当我的浏览器请求将URL重定向到(注意响应是"SEE_OTHER")时,该请求不具有会话ID.这导致我的应用程序无法正常运行.

任何见解?

jax-rs resteasy jboss7.x

1
推荐指数
1
解决办法
9229
查看次数