solr自定义定制自带core添加分词器,解决镜像没有权限问题

news2024/11/25 22:32:45

因为solr要安装自定义的分词器
就打算在原有基础上提前放好,直接启动就有core

第一步获取默认配置

方法一

docker安装solr 这个帖子中

1、安装镜像
docker pull solr:8.11.1
2、新建目录
mkdir -p /home/apps/solr
3、复制配置文件

运行一个临时solr
docker run --name solr -d -p 8983:8983 solr:8.11.1
复制配置文件
docker cp solr:/opt/solr/ /home/apps/solr/conf
停止并删除solr
docker stop solr && docker rm solr

4、创建并启动

docker run \
-d \
--name solr \
--restart=always \
--privileged=true \
-p 6016:8983 \
-v /home/apps/solr/conf:/opt/solr \
solr:8.11.1

这么一套流程下来以后,宿主机上就有一个磁盘和容器内部互通

然后在这个solr界面上手动创建core或者在容器内用命令行solr create -c appLog创建

/var/solr/data目录下就会生成对应的core文件

然后再通过【Docker-Solr】Permission denied 帖子中管理员方式进入当前的容器内部

docker exec -it --user root solr /bin/bash

把里面的/var/solr/data目录下core文件copy出来

方法二

管理员进入容器内/opt/solr-8.11.0/server/solr/configsets路径内有俩种默认的配置文件
用想办法搞出来

在外部组装core的文件目录

这是我的core
conf文件内容如下,有需要替换managed-schema也可以在这里替换
在这里插入图片描述
data目录有个snapshot_metadata的目录,里面是空的(ps:data好像全部是空也没事,待测)

DockerFile打包镜像

原来add或者copy进去都有错误
不是Error waiting for SolrCore to be loaded on startup
就是is not available due to init failure
或者java.nio.file.AccessDeniedException: /var/solr/data/ResourceCore/data
大概率是因为启动以后加载初始化没有权限
在一篇帖子Docker持久卷没有权限(Apache Solr) 设置Dockerfile 具有命名卷中给了提示,我进行自己尝试,在copy文件中添加权限--chown=solr
解决权限

附上完整的dockerFile

FROM solr:8.11.0-slim

# 安装中文分词
WORKDIR /opt/solr/server/solr-webapp/webapp/WEB-INF/lib
ADD pinyinAnalyzer4.3.1.jar  .
ADD pinyin4j-2.5.0.jar  .
ADD ik-analyzer-8.5.0.jar   .

WORKDIR /var/solr/data/

copy --chown=solr ResourceCore  ./ResourceCore

这样构建完并启动,是可以直接找到对应的core
对应core


查阅稿子

docker安装solr
Solr - 知乎
Docker持久卷没有权限
Docker-Solr】Permission denied

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/27723.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

14.HTML和CSS 02

文章目录一、HTML标签:表单标签1、概念2、form标签3、表单项标签4、案例二、CSS:页面美化和布局控制1、概念2、好处3、CSS的使用:CSS与html结合方式4、css语法5、选择器6、属性案例一、HTML标签:表单标签 1、概念 表单标签是用于…

integral函数Opencv源码理解-leetcode动态规划的使用场景

前言 Opencv有一个integral()函数,也就是积分图算法。有三种积分图类型,求和(sum),求平方和(sqsum),求旋转45和(titled)。根据名字可知道,前两个是统计输出每个坐标的左上方像素和、左上方像素平…

pexpect 自动交互输入

pexpect 为 python 内置库,在 linux 上执行的,win 执行会报错 主要用于执行命令后自动输入,例如要执行 sql 去修改全局变量: mysql -uroot -p -h127.0.0.1 -e"set gloabl max_prepared_stmt_count1000000;" 这时候会…

实时数据平台设计

1 相关概念背景 1.1 从现代数仓架构角度看实时数据平台 现代数仓由传统数仓发展而来,对比传统数仓,现代数仓既有与其相同之处,也有诸多发展点。首先我们看一下传统数仓(图1)和现代数仓(图2)的…

基于springboot和vue的IT内部电脑报修服务系统设计与实现-计算机毕业设计源码+LW文档

it内部设备服务系统设计与实现 摘 要 it内部设备服务系统将传统的网络服务方式与最新的互联网技术相结合,使用方便快捷,有利于设备维修部门规范管理,提高网络维修部门的工作效率,在技术、态度等多方面提高维修部门服务质量。因此…

Oracle表空间、用户详解

目录新建连接三者关系表空间创建表空间修改表空间和数据文件修改数据文件容量新增表空间的数据文件重命名数据文件修改表空间状态修改数据文件状态删除表空间查询用户创建删除查询修改新建连接 工具选择: 我们一般会选择一个工具来连接本地的Oracle,而我…

老男孩k8s笔记

1.docker常用操作,挂载,环境变量,容器内安装应用,提交镜像 2.trefik部署: k8s部署traefik_weixin_30916125的博客-CSDN博客 3.删除节点后重新加入 k8s node节点删除并重新加入_人生匆匆的博客-CSDN博客 4.mariDB配置…

streamlit+ndraw进行可视化训练深度学习模型

简介 如果你喜欢web可视化的方式训练深度学习模型,那么streamlit是一个不可错过的选择! 优点: 提供丰富的web组件支持嵌入python中,简单易用轻松构建一个web页面,按钮控制训练过程 本文使用streamlit进行web可视化…

会议管理系统SSM记录(一)

目录: (1)环境搭建 (2)整合MyBatis (1)环境搭建 添加:package 配置成web的结构: pom先加入springmvc的依赖就可以实现spring和springmvc的整合 pom.xml中加入依赖&am…

接口的定义与实现

声明类的关键字是class,声明接口的关键字是interface 1.介绍 普通类:只有具体实现 抽象类:具体实现和规范(抽象方法)都有 接口:只有规范 |自己无法写方法,专业的约束 接口就是规范,…

MATLAB | 全网唯一 MATLAB双向弦图(有向弦图)绘制

先赞后看,养成习惯~~ 先赞后看,养成习惯~~ 先赞后看,养成习惯~~ 绘制效果 下面这款弦图我已经出了很久了,也陆陆续续增添了新的功能和修了一些bug: 甚至还用它做出了一些复刻,分成两组的弦图有了后就有很多…

【仿真建模】AnyLogic入门基础教程 第一课

文章目录一、AnyLogic介绍二、设置2.1 设置中文三、新建项目四、行人库介绍五、创建新行人六、切换3D视角七、增加墙八、行人密度图一、AnyLogic介绍 二、设置 2.1 设置中文 三、新建项目 四、行人库介绍 点击面板,选择第三个图标,就是行人库 行人库分…

【第五部分 | JS WebAPI】4:八千字详解 “事件·高级篇”

目录 | 概述 | 注册事件的两种方式 | 删除事件的两种方式 | 事件对象【重要】 事件对象简介和声明 e.target 和 this 的区别 [ 事件对象 的常用属性方法 ] | Dom事件流 什么是Dom事件流? 阻止默认行为 阻止事件冒泡 利用事件冒泡进行事件委托 | 常用的鼠…

1、Git相关操作

目录 一、远程库的拉取 二、远程库创建分支 声明:需要有一定的GIt基础,如果不懂可以自行查看个人学习的Git笔记或者可以通过其他途径学习Git 一、远程库的拉取 步骤: 先创建一个空的文件夹在创建的文件夹中使用git init 命令来初始化本地…

频域中的后门攻击论文笔记

文章一:Rethinking the Backdoor Attacks’ Triggers: A Frequency Perspective 文章贡献: 在频域上对现有的 backdoor trigger 进行分析,发现常见 trigger 存在 high-frequency artifacts 的问题。对这些 artifacts 进行了详细的分析展示了…

什么是中间件

一、什么是中间件 中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平…

企业内训app源码,在线培训小程序,随时随地想学就学

近年来,在线学习逐渐被广泛应用于人才培养领域。公司要想长远发展,内部培训必不可少。公司的发展离不开公司整体员工的进步,而人员管理往往是公司管理中最重要也最难的一个环节。许多公司开始通过企业内训app源码开发来优化公司人员管理方式、…

基于PHP+MySQL学生信息管理系统的设计与实现

我国是一个高等教育逐渐普及的国度,相应的每年也有上百万的大学生入校,如此庞大的学生数量如何进行更加科学的管理是教育工作者一直关心的一个问题,为了能够实现高校对学生信息管理的科学化,信息化,我们开发了本基于PH…

C++ 手动实现双向链表(作业版)

双向链表&#xff0c;并实现增删查改等功能 首先定义节点类&#xff0c;类成员包含当前节点的值&#xff0c; 指向下一个节点的指针和指向上一个节点的指针 //节点定义 template <typename T> class Node { public:Node<T>* prior;T value;Node<T>* next;N…

减少乘法次数的优化算法(Gauss、Strassen、Winograd)

目录 Gauss算法 Strassen算法 Winograd算法 Winograd 1D Winograd 2D 在硬件设计中&#xff0c;乘法无论是在逻辑资源的使用上还是组合逻辑的延时上都要比加法高很多。从硬件方面考虑&#xff0c;我们都更倾向于将乘法转换成移位和加法&#xff0c;譬如乘以8&#xff0c;可…