zoukankan      html  css  js  c++  java
  • 搭建nlp_server服务器

    这是文档

    如何启动斯坦福NLP-Service
    1.sudo apt-get install gearman-job-server安装gearman-server
    
    2.启动gearman服务: gearmand -d
    
    3.maven命令打包前,进入 nlp_server/gearman-java 目录下,执行(在阿里云上,需要命令前加上sudo):
    
        mvn install:install-file -Dfile=java-gearman-service-0.6.6.jar -DgroupId=org.gearman.jgs -DartifactId=java-gearman-service -Dversion=0.6.6 -Dpackaging=jar
    
        原因是:java-gearman-service-0.6.6.jar不在maven中央仓库,需手动添加
    
    4.打包命令 mvn clean package, 在nlp_server路径下
    
    5.命令行启动(在target路径下启动,其中的jvm参数可以调,这里设置的初始为1G内存,最大为4G内存。目前来看,条件允许的情况下,jvm内存是越大响应速度越快。)
        # 如果gearmand server 没有启动
        sudo gearmand -d
        # 启动服务
        java -Xms1024m -Xmx4096m -cp nlp_gearman-1.0-SNAPSHOT-jar-with-dependencies.jar com.baina.dolphin.NLPWorker
    
    
    6.出现一些配置加载日志信息,说明已经开始正常启动  例如:
    
        serDictionary=edu/stanford/nlp/models/segmenter/chinese/dict-chris6.ser.gz
        sighanCorporaDict=edu/stanford/nlp/models/segmenter/chinese
        inputEncoding=UTF-8
        sighanPostProcessing=true
        .......
    
    7. 如果nlpclient无法连上server
       # 首先确认一下gearmand server是否启动, 在nlp server机器上执行
       telnet  localhost 4730
       # 确认gearmand server 监听的是0.0.0.0, 确保其他机器能访问gearmand server
       ps aux | grep gearman
       # 正常应该是
       ```
       root      3065  0.0  0.0 467780  1616 ?        Ssl  11:30   0:00 gearmand -d
       ```
       # 如果出现
       ```
       gearman   1129 /usr/sbin/gearmand --pid-file=/var/run/gearman/gearmand.pid --user=gearman --daemon --log-file=/var/log/gearman-job-server/gearman.log --listen=127.0.0.1
       ```
       # 注意最后的参数--listen=127.0.0.1
       # 把gearmand server和nlp server进程杀掉,按照步骤5重新启动
       # 按照上面第六步骤确认nlp server worker已经注册到gearmand

     在用gearmand -d启动gearman服务时,会出现错误:

    Could not open log file "var/log/gearmand.log", from "/var/log", switching to stderr. (No such file or directory)

    这时需要在/var/log/目录下建立文件gearmand.log,之后继续运行gearmand -d,会出现错误:

    gearmand: Could not open log file "/var/log/gearmand.log", from "/var/log", switching to stderr. (Permission denied)

    这时需要改变文件gearmand.log的权限,我用的chmod 777,之后就能正确运行gearmand -d。

    注意:一看到Permission denied,就应该想到改变权限!自己在这一步浪费了很多时间。

    之后安装一个maven,按照文档继续执行就好了。

  • 相关阅读:
    Spring注解开发系列Ⅵ --- AOP&事务
    Spring注解开发系列Ⅴ --- 自动装配&Profile
    Spring注解开发系列Ⅲ --- 生命周期
    Spring注解开发系列Ⅱ --- 组件注册(下)
    .net Core在过滤器中获取 系统接口方法(以IMemoryCache 为例) 及HttpContext 获取系统接口
    【旧文章搬运】炉子给的SYSTEM_HANDLE_TYPE有点错误
    【旧文章搬运】超级无敌大炉子的LzOpenProcess
    【旧文章搬运】PE重定位表学习手记
    【旧文章搬运】ZwQuerySystemInformation枚举内核模块及简单应用
    【旧文章搬运】ZwQuerySystemInformation枚举进线程信息
  • 原文地址:https://www.cnblogs.com/ymjyqsx/p/6598684.html
Copyright © 2011-2022 走看看