Join the community today
Become a Member

Install Xenforo CentOS 7.x How To Install Elasticsearch 7.x for Xenforo

Discussion in 'Centmin Mod User Tutorials & Guides' started by Sunka, Mar 6, 2020.

  1. deltahf

    deltahf Premium Member Premium Member

    565
    251
    63
    Jun 8, 2014
    Ratings:
    +463
    Local Time:
    9:11 PM
    Thanks for the note! Updated to 7.16.2.

     
  2. Imgbi

    Imgbi New Member

    4
    1
    3
    Jan 23, 2022
    Ratings:
    +1
    Local Time:
    3:11 AM
    Nginx 1.21.5
    MariaDB 10
    I take it that Elaticsearch is not useful unless Enhance Search addon is purchased and installed to Xenforo.
     
  3. deltahf

    deltahf Premium Member Premium Member

    565
    251
    63
    Jun 8, 2014
    Ratings:
    +463
    Local Time:
    9:11 PM
    That is correct. I would highly recommend it, though, if you can afford it.
     
  4. modder

    modder Member

    109
    16
    18
    Dec 6, 2019
    Ratings:
    +25
    Local Time:
    10:11 AM
    Is there a tutorial for installing ElasticSearch 8.x for centmin? Or is it even recommended?
     
    Last edited: Jun 7, 2022
  5. deltahf

    deltahf Premium Member Premium Member

    565
    251
    63
    Jun 8, 2014
    Ratings:
    +463
    Local Time:
    9:11 PM
    Late reply here, but assuming you want to use it with XenForo, I don't think ES8 is officially supported for it yet:

    ES 2.2 - Elasticsearch Version: 8.0.0

    Unless there is a specific reason for wanting to use ES8 I think ES7 should be fine.
     
  6. eva2000

    eva2000 Administrator Staff Member

    50,930
    11,809
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,268
    Local Time:
    12:11 PM
    Nginx 1.25.x
    MariaDB 10.x
    Yeah just stick with ES7 :)
     
  7. modder

    modder Member

    109
    16
    18
    Dec 6, 2019
    Ratings:
    +25
    Local Time:
    10:11 AM
    Maybe @Sunka would like to update your first post with this change?
     
  8. Sunka

    Sunka Well-Known Member

    1,150
    325
    83
    Oct 31, 2015
    Pula, Croatia
    Ratings:
    +525
    Local Time:
    3:11 AM
    Nginx 1.17.9
    MariaDB 10.3.22
    done
     
  9. modder

    modder Member

    109
    16
    18
    Dec 6, 2019
    Ratings:
    +25
    Local Time:
    10:11 AM
    Still stick with 7.17.8 now?
     
  10. eva2000

    eva2000 Administrator Staff Member

    50,930
    11,809
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,268
    Local Time:
    12:11 PM
    Nginx 1.25.x
    MariaDB 10.x
    Yup
     
  11. rdan

    rdan Well-Known Member

    5,426
    1,389
    113
    May 25, 2014
    Ratings:
    +2,172
    Local Time:
    10:11 AM
    Mainline
    10.2
    All my ES install are still on 7.17.11.
     
  12. modder

    modder Member

    109
    16
    18
    Dec 6, 2019
    Ratings:
    +25
    Local Time:
    10:11 AM
    This has been an ongoing problem. I've installed elasticsearch successfully but after a few days the front end of certain forums return the following screen:

    upload_2023-8-13_21-22-15.png

    Xenforo admin error log:

    Code (Text):
    Server error log
    XFES\Elasticsearch\ConnectException: cURL error 7: Failed connect to localhost:9200; Connection refused (see [URL]https://curl.haxx.se/libcurl/c/libcurl-errors.html[/URL]) src/addons/XFES/Elasticsearch/Api.php:405
    Generated by: user Aug 12, 2023 at 9:26 PM
    Stack trace
    #0 src/addons/XFES/Elasticsearch/Api.php(338): XFES\Elasticsearch\Api->request('GET', 'xyz/_search', '{
        "size": 0...')
    #1 src/addons/AL/FilterFramework/Service/ElasticSource.php(204): XFES\Elasticsearch\Api->requestFromIndex('GET', '_search', Array)
    #2 src/addons/AL/ThreadFilter/XFES/Search/Source/Elasticsearch.php(74): AL\FilterFramework\Service\ElasticSource->countFacets(Array, Array)
    #3 src/addons/AL/ThreadFilter/XF/Search/Search.php(65): AL\ThreadFilter\XFES\Search\Source\Elasticsearch->countFacetsByThreadIds(Array, Array)
    #4 src/addons/AL/ThreadFilter/Service/ContentTypeProvider.php(143): AL\ThreadFilter\XF\Search\Search->countFacetsByThreadIds(Array, Array)
    #5 src/addons/AL/FilterFramework/Service/FacetedSearchProvider.php(147): AL\ThreadFilter\Service\ContentTypeProvider->countFacetsByDiscussionIds(Array, Array)
    #6 src/addons/AL/FilterFramework/Service/ContextProvider.php(758): AL\FilterFramework\Service\FacetedSearchProvider->getFacetCounts(Array, Array, false)
    #7 src/addons/AL/ThreadFilter/XF/Pub/Controller/Forum.php(237): AL\FilterFramework\Service\ContextProvider->executeFacetedSearch(Object(SV\ThreadReplyBanTeeth\XF\Finder\Thread), Array)
    #8 src/addons/SV/RedisCache/XF/Pub/Controller/Forum.php(11): AL\ThreadFilter\XF\Pub\Controller\Forum->applyDateLimitFilters(Object(Truonglv\AnonymousPosting\XF\Entity\Forum), Object(SV\ThreadReplyBanTeeth\XF\Finder\Thread), Array)
    #9 src/XF/Pub/Controller/Forum.php(243): SV\RedisCache\XF\Pub\Controller\Forum->applyDateLimitFilters(Object(Truonglv\AnonymousPosting\XF\Entity\Forum), Object(SV\ThreadReplyBanTeeth\XF\Finder\Thread), Array)
    #10 src/addons/AL/ThreadFilter/XF/Pub/Controller/Forum.php(103): XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #11 src/addons/Andy/MembersRecentlyOnline/XF/Pub/Controller/Forum.php(74): AL\ThreadFilter\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #12 src/addons/Truonglv/AnonymousPosting/XF/Pub/Controller/Forum.php(58): Andy\MembersRecentlyOnline\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #13 src/addons/Truonglv/Groups/XF/Pub/Controller/Forum.php(37): Truonglv\AnonymousPosting\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #14 src/addons/Truonglv/PostReply/XF/Pub/Controller/Forum.php(14): Truonglv\Groups\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #15 src/addons/SV/AggregatingForums/XF/Pub/Controller/Forum.php(37): Truonglv\PostReply\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #16 src/addons/SV/StandardLib/XF/Pub/Controller/Forum.php(21): SV\AggregatingForums\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #17 src/addons/AddonFlare/GlobalIgnore/XF/Pub/Controller/Forum.php(21): SV\StandardLib\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #18 src/XF/Mvc/Dispatcher.php(352): AddonFlare\GlobalIgnore\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #19 src/XF/Mvc/Dispatcher.php(258): XF\Mvc\Dispatcher->dispatchClass('XF:Forum', 'Forum', Object(XF\Mvc\RouteMatch), Object(SV\RedisCache\XF\Pub\Controller\Forum), Object(XF\Mvc\Reply\Reroute))
    #20 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(SV\RedisCache\XF\Pub\Controller\Forum), Object(XF\Mvc\Reply\Reroute))
    #21 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
    #22 src/XF/App.php(2487): XF\Mvc\Dispatcher->run()
    #23 src/XF.php(524): XF\App->run()
    #24 index.php(20): XF::runApp('XF\\Pub\\App')
    #25 {main}
    
    -------------
    
    Previous GuzzleHttp\Exception\ConnectException: cURL error 7: Failed connect to localhost:9200; Connection refused (see [URL]https://curl.haxx.se/libcurl/c/libcurl-errors.html[/URL]) - src/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:200
    #0 src/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(155): GuzzleHttp\Handler\CurlFactory::createRejection(Object(GuzzleHttp\Handler\EasyHandle), Array)
    #1 src/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(105): GuzzleHttp\Handler\CurlFactory::finishError(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory))
    #2 src/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php(43): GuzzleHttp\Handler\CurlFactory::finish(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory))
    #3 src/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(28): GuzzleHttp\Handler\CurlHandler->__invoke(Object(GuzzleHttp\Psr7\Request), Array)
    #4 src/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(51): GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}(Object(GuzzleHttp\Psr7\Request), Array)
    #5 src/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(66): GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}(Object(GuzzleHttp\Psr7\Request), Array)
    #6 src/vendor/guzzlehttp/guzzle/src/Middleware.php(29): GuzzleHttp\PrepareBodyMiddleware->__invoke(Object(GuzzleHttp\Psr7\Request), Array)
    #7 src/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php(70): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Request), Array)
    #8 src/vendor/guzzlehttp/guzzle/src/Middleware.php(57): GuzzleHttp\RedirectMiddleware->__invoke(Object(GuzzleHttp\Psr7\Request), Array)
    #9 src/vendor/guzzlehttp/guzzle/src/HandlerStack.php(71): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Request), Array)
    #10 src/vendor/guzzlehttp/guzzle/src/Client.php(351): GuzzleHttp\HandlerStack->__invoke(Object(GuzzleHttp\Psr7\Request), Array)
    #11 src/vendor/guzzlehttp/guzzle/src/Client.php(111): GuzzleHttp\Client->transfer(Object(GuzzleHttp\Psr7\Request), Array)
    #12 src/vendor/guzzlehttp/guzzle/src/Client.php(129): GuzzleHttp\Client->sendAsync(Object(GuzzleHttp\Psr7\Request), Array)
    #13 src/addons/XFES/Elasticsearch/Api.php(388): GuzzleHttp\Client->send(Object(GuzzleHttp\Psr7\Request))
    #14 src/addons/XFES/Elasticsearch/Api.php(338): XFES\Elasticsearch\Api->request('GET', 'xyz/_search', '{
        "size": 0...')
    #15 src/addons/AL/FilterFramework/Service/ElasticSource.php(204): XFES\Elasticsearch\Api->requestFromIndex('GET', '_search', Array)
    #16 src/addons/AL/ThreadFilter/XFES/Search/Source/Elasticsearch.php(74): AL\FilterFramework\Service\ElasticSource->countFacets(Array, Array)
    #17 src/addons/AL/ThreadFilter/XF/Search/Search.php(65): AL\ThreadFilter\XFES\Search\Source\Elasticsearch->countFacetsByThreadIds(Array, Array)
    #18 src/addons/AL/ThreadFilter/Service/ContentTypeProvider.php(143): AL\ThreadFilter\XF\Search\Search->countFacetsByThreadIds(Array, Array)
    #19 src/addons/AL/FilterFramework/Service/FacetedSearchProvider.php(147): AL\ThreadFilter\Service\ContentTypeProvider->countFacetsByDiscussionIds(Array, Array)
    #20 src/addons/AL/FilterFramework/Service/ContextProvider.php(758): AL\FilterFramework\Service\FacetedSearchProvider->getFacetCounts(Array, Array, false)
    #21 src/addons/AL/ThreadFilter/XF/Pub/Controller/Forum.php(237): AL\FilterFramework\Service\ContextProvider->executeFacetedSearch(Object(SV\ThreadReplyBanTeeth\XF\Finder\Thread), Array)
    #22 src/addons/SV/RedisCache/XF/Pub/Controller/Forum.php(11): AL\ThreadFilter\XF\Pub\Controller\Forum->applyDateLimitFilters(Object(Truonglv\AnonymousPosting\XF\Entity\Forum), Object(SV\ThreadReplyBanTeeth\XF\Finder\Thread), Array)
    #23 src/XF/Pub/Controller/Forum.php(243): SV\RedisCache\XF\Pub\Controller\Forum->applyDateLimitFilters(Object(Truonglv\AnonymousPosting\XF\Entity\Forum), Object(SV\ThreadReplyBanTeeth\XF\Finder\Thread), Array)
    #24 src/addons/AL/ThreadFilter/XF/Pub/Controller/Forum.php(103): XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #25 src/addons/Andy/MembersRecentlyOnline/XF/Pub/Controller/Forum.php(74): AL\ThreadFilter\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #26 src/addons/Truonglv/AnonymousPosting/XF/Pub/Controller/Forum.php(58): Andy\MembersRecentlyOnline\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #27 src/addons/Truonglv/Groups/XF/Pub/Controller/Forum.php(37): Truonglv\AnonymousPosting\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #28 src/addons/Truonglv/PostReply/XF/Pub/Controller/Forum.php(14): Truonglv\Groups\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #29 src/addons/SV/AggregatingForums/XF/Pub/Controller/Forum.php(37): Truonglv\PostReply\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #30 src/addons/SV/StandardLib/XF/Pub/Controller/Forum.php(21): SV\AggregatingForums\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #31 src/addons/AddonFlare/GlobalIgnore/XF/Pub/Controller/Forum.php(21): SV\StandardLib\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #32 src/XF/Mvc/Dispatcher.php(352): AddonFlare\GlobalIgnore\XF\Pub\Controller\Forum->actionForum(Object(XF\Mvc\ParameterBag))
    #33 src/XF/Mvc/Dispatcher.php(258): XF\Mvc\Dispatcher->dispatchClass('XF:Forum', 'Forum', Object(XF\Mvc\RouteMatch), Object(SV\RedisCache\XF\Pub\Controller\Forum), Object(XF\Mvc\Reply\Reroute))
    #34 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(SV\RedisCache\XF\Pub\Controller\Forum), Object(XF\Mvc\Reply\Reroute))
    #35 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
    #36 src/XF/App.php(2487): XF\Mvc\Dispatcher->run()
    #37 src/XF.php(524): XF\App->run()
    #38 index.php(20): XF::runApp('XF\\Pub\\App')
    #39 {main}


    It turns out that the Elasticsearch server is disconnected.

    I need to manually restart it (# service elasticsearch start) for everything to come back. But this happens again after a few days.

    I tried to increase the memory (in /etc/elasticsearch/jvm.options) for this server to
    Code (Text):
    -Xms1g
    -Xmx1g
    


    (It's a "4096.00 MB AMD High Performance" in Vultr)

    It's a behind-the-firewall development forum, not yet public.

    But the problem is still there. Any one can help on this please?
     
  13. eva2000

    eva2000 Administrator Staff Member

    50,930
    11,809
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,268
    Local Time:
    12:11 PM
    Nginx 1.25.x
    MariaDB 10.x
    Check your elasticsearch logs for clues in /var/log/elasticsearch IIRC. FYI, I wouldn't post your entire logs publicly though - check and mask any sensitive info. But if you can't figure it out yourself, might need to hire someone.
     
  14. modder

    modder Member

    109
    16
    18
    Dec 6, 2019
    Ratings:
    +25
    Local Time:
    10:11 AM
    which file should I look into?

    # pwd
    /var/log/elasticsearch

    Code (Text):
    gc.log
    gc.log.00
    gc.log.01
    gc.log.02                     
    gc.log.03
    gc.log.04
    gc.log.05
    gc.log.06
    gc.log.07
    gc.log.08
    gc.log.09
    gc.log.10
    gc.log.11
    gc.log.12
    gc.log.13
    gc.log.14
    gc.log.15
    gc.log.16
    gc.log.17
    gc.log.18
    gc.log.19
    gc.log.20
    gc.log.21
    gc.log.22
    gc.log.23
    gc.log.24
    gc.log.25
    gc.log.26
    gc.log.27
    gc.log.28
    gc.log.29
    gc.log.30
    test-2023-08-06-1.log.gz
    test-2023-08-07-1.json.gz
    test-2023-08-07-1.log.gz
    test-2023-08-08-1.json.gz
    test-2023-08-08-1.log.gz
    test-2023-08-09-1.json.gz
    test-2023-08-09-1.log.gz
    test-2023-08-10-1.json.gz
    test-2023-08-10-1.log.gz
    test-2023-08-14-1.json.gz
    test-2023-08-14-1.log.gz
    test_audit.json
    test_deprecation.json
    test_deprecation.log
    test_index_indexing_slowlog.json
    test_index_indexing_slowlog.log
    test_index_search_slowlog.json
    test_index_search_slowlog.log
    test.log
    test_server.json
     
  15. eva2000

    eva2000 Administrator Staff Member

    50,930
    11,809
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,268
    Local Time:
    12:11 PM
    Nginx 1.25.x
    MariaDB 10.x
    Looks like it might be test.log seeing as it gets log rotated for timestamped .gz version too which would be older logs i.e. test-2023-08-14-1.log.gz