• 欢迎 游客 您的光临,下载之前请先阅读 积分规则 。任何技术问题请在论坛提问,本站定制插件、模板主题。售前、售后问题请联系QQ:5916171
    本站自由发布资源可赚取积分及人民币(可提现)(保证资源真实可用,如被举报封号处理。谨慎分布)。
  • 即日起发表主题、回帖、发布&更新资源、创建&回复私信、发布&回复个人动态均需要验证手机号码,其它不受影响。如不便可进群提问。点击链接加入群聊【XenForo讨论社区】:群号1:143277648

技巧教程 docker 安装 elasticsearch 7 (仅限本机密码访问)并安装smartcn分词器插件

UID
6
注册
2017/09/10
消息
17
黄金
11,213G
很长时间没写文章了,这几天我安装了最新的xf2.3b2,因为2.3版本对系统有了更高的要求,我升级了mysql、php,但因我的虚拟机配置一般,打算使用docker 配置elasticsearch 7.17.18,供xf enhanced search 使用。

下面是我使用docker 安装 elasticsearch 7.17.18(设置服务访问密码) 并安装smartcn分词器插件。同时设置仅限宿主机访问使用容器用的elasticsearch服务。

首先宿主机bt面板中安装docker。然后进行以下操作

1、拉去镜像​

代码:
扩展 折叠 复制
docker pull docker.io/elasticsearch:7.17.18

2、查看镜像​

代码:
扩展 折叠 复制
docker images

1711861775583.png

3. 创建挂载目录​

在宿主机上创建2个目录,分别用于存放配置文件、数据。这样可以保证容器的可移植性和数据的持久化。
代码:
扩展 折叠 复制
sudo mkdir -p /opt/elasticsearch/config
sudo mkdir -p /opt/elasticsearch/data

4. 赋予权限​

为了确保Elasticsearch容器能够正常读写挂载的目录,需要赋予相应的权限。
代码:
扩展 折叠 复制
sudo chmod -R 777 /opt/elasticsearch/

5. 编写​

在/opt/elasticsearch/config目录中创建elasticsearch.yml文件,并配置Elasticsearch的相关参数。例如,设置绑定地址和节点名称:

代码:
扩展 折叠 复制
network.host: 127.0.0.1
discovery.type: single-node
cluster.name: 根据自己情况填写
node.name: 根据自己情况填写

6、运行容器启动 Elasticsearch​


代码:
扩展 折叠 复制
docker run -d --name elasticsearch  --network=host -e "ES_JAVA_OPTS=-Xms1g -Xmx1g" -e "xpack.security.enabled=true"  -e "ELASTIC_PASSWORD=根据自己情况设置密码" -e "discovery.type=single-node" -v /usr/share/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /usr/share/elasticsearch/data:/usr/share/elasticsearch/data d9a5dba942dc

6.1、参数解释:​

代码:
扩展 折叠 复制
-d:后台启动
--name:容器名称
--network=host: 使用宿主机的网络,这样容器将使用宿主机的IP地址和端口,而不是默认的Docker虚拟网络。
-e "ES_JAVA_OPTS=-Xms1g -Xmx1g":设置es使用内存
-e "xpack.security.enabled=true": 启用X-Pack安全特性。
-e "ELASTIC_PASSWORD=根据自己情况设置密码": 设置elastic用户的密码,这是Elasticsearch的默认超级用户。
-v:挂在目录文件
discovery.type=single-node:单机运行
d9a5dba942dc:镜像id

6.2、使用 docker ps 命令查看容器状态​

1711861871539.png

6.3验证X-Pack是否启用

启动容器后,你可以通过访问Elasticsearch的API来验证X-Pack是否已启用。例如,使用curl命令:
代码:
扩展 折叠 复制
curl -u elastic:根据自己情况设置密码 http://localhost:9200/_xpack

如果返回的信息中包含X-Pack的相关信息,说明X-Pack已经成功启用。

7、安装smartcn分词器​

进入容器终端
代码:
扩展 折叠 复制
./bin/elasticsearch-plugin install analysis-smartcn

若要卸载,先停止elasticsearch节点,然后运行:
代码:
扩展 折叠 复制
./bin/elasticsearch-plugin remove analysis-smartcn

7.2、安装 smartcn分词器后重启 Elasticsearch​

代码:
扩展 折叠 复制
docker restart elasticsearch

7.3、测试Smartcn分词器​

代码:
扩展 折叠 复制
curl -X POST -u elastic:根据自己情况设置密码  "http://localhost:9200/_analyze" -H 'Content-Type: application/json' -d'
{
  "analyzer": "smartcn",
  "text": "我是中国人"
}'
 
最后编辑:
购买收费内容用户
后退
顶部 底部