环境-Ubuntu 16.04 LTS Docker主机,运行FME服务器2018.1.1-20190122图像
我收到一个错误-提交作业时出错-尝试在FME服务器中运行工作区时。在浏览FME服务器日志时,我发现资源>原木>雄猫>FMESR网站>本地主机当前日志。
07-Mar-2019 09:05:10.300 SEVERE [http-nio-8080-exec-1] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [JobRunnerForm] in context with path [/fmeserver] threw exception java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:673) at COM.亚搏在线safe.web.client.SelfSignedSSLSocketFactory.connectSocket(SelfSignedSSLSocketFactory.java:52) at org.apache.http.conn.scheme.SchemeSocketFactoryAdaptor.connectSocket(SchemeSocketFactoryAdaptor.java:66) at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177) at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144) at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:131) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446) at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:117) at COM.safe.web.client.HTTPClientFacade.execute(HTTPClientFacade.java:254) at COM.safe.fmeserver.webui.jobrun.JobRunnerHelper.runJob(JobRunnerHelper.java:240) at COM.safe.fmeserver.webui.servlet.rest.JobRunnerFormREST.handleRequest(JobRunnerFormREST.java:182) at COM.safe.fmeserver.webui.servlet.rest.JobRunnerFormREST.doPost(JobRunnerFormREST.java:67) at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at COM.safe.web.servlet.CharsetEncodingFilter.doFilter(CharsetEncodingFilter.java:541) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at COM.safe.webservices.security.FMEServerAuthFilter.doFilter(FMEServerAuthFilter.java:98) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.ebaysf.web.cors.CORSFilter.handleNonCORS(CORSFilter.java:640) at org.ebaysf.web.cors.CORSFilter.doFilter(CORSFilter.java:173) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)
我已经在另一台机器上建立了完全相同的FME服务器环境,我没有收到这个错误,我可以运行一个没有问题的工作区。环境之间的唯一区别是nginx容器使用的SSL证书。我尝试使用自签名的SSL证书,但没有生成任何证书,但这似乎也无助于这个问题。
你知道是什么导致了这个问题吗?似乎是内部系统的SSL错误?我不知道在这一点上还需要检查什么。我使用的SSL证书仍然有效(未过期)。
谢谢
兰迪
我最近使用安装指南将FME服务器安装到Docker上。从昨天开始,我一直在尝试使用简单的.fmw测试它,以便将一些数据写入MongoDB实例。我在本地MongoDB和MongoDB Docker实例中都尝试过。在这两种情况下,我都会得到相同的错误:
蒙哥德作家:无法连接:无法连接到服务器<
请注意,我可以从本地FME工作台访问这两个MongoDB实例,并且可以执行相同的.fmw。查找附加的文件。
这似乎是一个FME Docker网络问题,但我不能确定是什么。有什么想法吗?
嗨,大家好,
升级到FME 2018.1后,我们无法再连接到MS SQL Server。这似乎是由于无效的连接参数造成的:
使用Java阅读器接口版本2(10月31日)2000)使用模块ms sql_jdbc_spatial to read datams sql server spatial(jdbc)reader:预加载jdbc驱动程序类'com.microsoft.sql server.jdbc.sql server driver'ms sql server spatial(jdbc)reader:使用连接字符串'jdbc:sql server://********和属性'statementpoolingcachesize=10创建连接,disableStatementPooling=false,集成安全性=假,用户=*********加密= false,multisubnetfailover=false,trustservercertificate=true,applicationname=亚搏在线安全软件FME,数据库=*********password=*******com.microsoft.sqlserver.jdbc.sqlserverException:DisableStatementPooling值false无效。
然而,我看不到在连接或读卡器级别控制语句池的选项。即使我愿意,我有点担心如果我们禁用池会对性能产生什么影响…
我们仅在FME服务器2018.1(在Docker环境中运行)上得到此错误。在FME Workbench 2018.1上,相同的工作区无问题运行(在Windows和Mac OS上)。它还可以与FME服务器2017.1完美运行。
我们能做些什么来解决这个问题?
谢谢!
我一直在尝试建立一个FME服务器Docker环境来迁移我们当前的FME服务器设置。我正在使用2018.1.0-20180801映像构建,其中包含一个nginx容器来处理SSL。我还将provider docker compose yaml文件转换为hasicorp terraform配置(因为我们将此技术用于供应/编排)。我们还对FME引擎容器做了一些修改,以便在容器上创建持久的kerberos票据,以便对我们的MS SQL Server数据库进行身份验证。我在修改的FME引擎图像和默认的FME引擎图像中看到的这个问题是,在其中一个FME引擎容器上运行的任何活动引擎最终都将关闭。FME发动机容器仍将注册为具有FME核心的发动机主机,但在FME发动机容器上不会运行任何激活的发动机(即使要求1+)。我可以重新启动容器上的引擎服务,它会在一段时间内作为一个主动引擎出现,再次关机前。我一直在查看日志,我看到一条消息说-
无法从套接字读取;连接可能已丢失程序终止
如何配置HTTPS,并将CA颁发的SSL证书添加到FME服务器2018的Docker容器中?
是否有比手动配置和为更改的文件夹添加永久卷更好的选项?
我们在Docker上运行了一段时间的FME Server 2017.1,太棒了!我正试图在Docker上构建一个新的FME服务器2018.0,一切都在构建中,我可以打开登录页面,但是在输入我的凭证后,页面只会清除我的信息,不会发生任何事情,我可以点击healthcheck rest端点,它会说一切都“正常”,但是如果我尝试点击一个需要凭证的端点,我会得到错误:
“message”:“身份验证失败:org.postgresql.util.psqlException:错误:L.last_updated列不存在\n位置:16”
我看到我从FME数据库容器日志中得到一个错误,说:
错误:关系“fme_parameter”的列“guiline”在字符117处不存在
我正在使用FME服务器2018.0事实上,唯一的更改是externalhostname变量。
任何帮助都将不胜感激。
你好,FMEs!!
我目前正在为FME 2017.1开发一个修改过的Docker Compose设置,其中包括Oracle客户端库,以便FME可以访问Oracle实例。我应用了我找到的各种指南,基本上得出了以下结论文档文件对于FME发动机:
从safe亚搏在线software/fmeserver引擎:2017.1.1安装Oracle Instant Client添加OracleClient/Oracle InstantClient*.rpm/tmp/env Oracle_Home=/usr/lib/Oracle/11.2/client64运行apt get install-y libaio1run alien-i-c-v/tmp/Oracle InstantClient*.rpm&\rm-f/tmp/Oracle InstantClient*.rpm&\echo$Oracle_Home/lib>/etc/ld.so.conf.d/oracle-instantclient11.2.conf&&\ldconfigenv path=$path:$oracle_home/binenv ld_library_path=$oracle_home/libenv tns_admin=$oracle_home/network/adminworkdir$ld_library_pathrun ln-s libclntsh.so.11.1 libclntsh.sorun mkdir$tns_admin-pcopy oracleclient/*.ora$tns_admin/
在docker-compose.yml中使用了引擎的修改版本,而不是引擎的原始图像。一旦构建并启动了整个组件,我可以登录到FME服务器,也可以向它发布一个工作区。如果该工作区包含Oracle数据库连接,我收到一条警告消息,表示不支持这种连接。一旦发布并计划执行工作区,我可以在日志中看到以下消息:
警告:在'/usr/lib/oracle/11.2/client64/lib'中找不到Oracle客户端库
我现在的问题是:这一错误是否与我在本地机器上准备这一事实有关,并且没有向服务器应用正确的许可证,或者是否还有其他原因导致FME找不到Oracle客户端库?
如果我通过docker compose exec fmeserverengine/bin/bash我可以开始SqlPlus并连接到目标服务器。显然,一般的客户机设置似乎正在工作。lib/目录似乎包含正确的文件:
glogin.sqllibclntsh.so->libclntsh.so.11.1libclntsh.so.11.1libnnz11.solibocci.so.11.1libociei.solibocijdbc11.solibsqllplus.solibsqora.so.11.1ojdbc5.jarojdbc6.jarxstreams.jar
环境变量也正确设置:
ld_library_path=/usr/lib/oracle/11.2/client64/libtns_admin=/usr/lib/oracle/11.2/client64/network/admin oracle_home=/usr/lib/oracle/11.2/client64 path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/oracle/11.2/client64/bin
所以至少从我的理解来看,一切都设置正确。然而,由于某种原因,它不起作用或不被FME接受。
你知道为什么这样不行吗?
你好,
我是码头工人世界的新手,想了解事情是如何运作的。我下载了几个Docker为FME服务器编写文件,并使用Docker for Windows平台对它们进行了一些初步的尝试。从我的观察到现在,如果Docker实例使用Docker合成-V命令,因此,应在关闭前执行FME服务器备份。
根据中给出的信息这个帖子,建议让Docker容器继续运行,并在主机重新启动时让Docker自己管理打开/关闭FME服务器实例。这将保留配置更改,到目前为止一切都很好,只是不要关闭容器!
如果主机崩溃怎么办?我假设Docker不能完全关闭,所有的FME服务器配置信息都会丢失?为此,我本来希望在FME服务器上建立一个定时备份,但是SAFE提供的撰写文件没有提供任何访问主机文件系统的权限。亚搏在线所以备份默认情况下,写入FME服务器资源文件夹,这是容器内部的)在这种情况下都会丢失。
是否有一种简单的方法来自动执行FME服务器备份,以便将它们写入主机上的驱动器?理想的,I would like to do this without having to edit the compose files provided by 亚搏在线Safe,尽管看起来我可能会把卷定义搞得一团糟。
我完全误解了在Docker下运行FME服务器吗?有没有更简单的方法来保持FME服务器配置?
谢谢,
网卡
我们正试图用Docker来启动Linux容器,以一种自动化的方式来支持FME服务器。因为Linux容器,我们的工作区只能根据FME运行SQL Server JDBC读写器。另外,为了快速旋转集装箱,我们避免使用任何ESRI依赖项。对于其中一个工作区,我们使用空间读者和非空间作者,因为我们只是更新属性根据处理结果。JDBC编写器的工作速度是本机SQL Server编写器的两倍。对于更新这些SQL Server表中的属性,我们是否有其他的选项可以提高性能,因为实际上我们不需要编写任何数据?
我正在尝试修改可用的Docker撰写文件在这里在Docker群上工作,但是我最终得到了一个没有看到我的引擎的FME服务器核心。我对Docker撰写文件的修改包括将版本更新为3并删除网络信息。如果我使用网络属性运行compose文件,我会收到关于它们超出群范围的错误。有什么暗示吗?
所有的,
我已经阅读并实现了Docker引擎上FME服务器的Docker安装,发布于@ GerhardA亚搏在线tSafe.
https://knowledge.亚搏在线safe.com/articles/24815/deployment-of-fme-server-using-docker-toolbox.html
主要是安装,许可和引擎管理运行良好。然而,我有一个问题,就是用工作经理来干掉工作。每当我试图终止一个作业时,我都会在与FME服务器主机(hostid)通信时出错。连接被拒绝。
我有理由相信这是因为引擎的主机名和web/core是不同的(因为它们是集装箱化的),kill请求是否被发送到不同的端口地址?这是Docker配置的问题还是其他人也有同样的问题?欣赏你可能拥有的任何见解。
当做
加文·蒙哥马利
我对Docker和Docker Cloud很陌生。
如果您可以为Docker云环境提供一个标准的堆栈文件,这将非常有用。它应该与撰写文件非常相似:
http://downloads.亚搏在线safe.com.s3.amazonaws.com/fme/beta/docker-compose.yml
Docker云的堆栈文件定义:
https://docs.docker.com/docker-cloud/apps/stack-yaml-reference网站/
我对Docker和Docker Cloud很陌生。
如果您可以为Docker云环境提供一个标准的堆栈文件,这将非常有用。它应该与撰写文件非常相似:
http://downloads.亚搏在线safe.com.s3.amazonaws.com/fme/beta/docker-compose.yml
Docker云的堆栈文件定义:
https://docs.docker.com/docker-cloud/apps/stack-yaml-reference网站/
默认情况下,我们从一个引擎开始,但用docker compose很容易扩展。只要您的许可证支持您选择的许多引擎,下面命令中的“2”就可以达到您想要的高度。
docker compose up--缩放fmeserverengine=4
Docker合成-V
Docker合成拉力
Docker合成-D
有关如何备份和恢复FME服务器的详细信息,请参阅在这里.
不是所有的建筑都会公开,but the ones that are will be tagged with their build number.可以找到有关版本控制的更多详细信息在这里.
不同的FME服务器组件被分为命名服务。了解不同docker compose命令的服务名称是什么很有用。
下面的命令可以传递一个参数
docker compose-f/users/yourname/docker/docker-compose-2018.yaml up-d
Docker合成-D
Docker撰写开始Docker合成停止 Docker撰写重新启动
Docker合成杀戮
Docker撰写日志
docker compose up--缩放fmeserverengine=
Docker合成室
Docker合成PS
Docker合成
以下是为Docker安装FME服务器的步骤。
按照操作系统的安装指南操作:
https://docs.docker.com/engine/installation网站/
注:Docker的FME服务器需要安装Docker引擎和Docker Compose。Both are included in Docker for Mac and Docker for Windows.有关在Linux上安装这两种软件的详细说明,请参阅在这里.
我们有Docker为几个版本的FME服务器编写文件,可以下载:
打开命令行工具并运行以下命令:
Docker合成-D
引导到https://localhost(本地主机)/在您最喜欢的浏览器中,享受Docker的FME服务器!
注意:在Windows上,您可能需要在Docker安装后重新启动,以确保将%path%正确设置为Docker,默认设置为:C:\Program Files\Docker\Docker\Resources\bin
别忘了去看看用于Docker的FME服务器的有用命令.