当前位置: 首页 > news >正文

Solr 日志系统7.4.0部署和迁移到本地,Core Admin 添加新的core报错

文章目录

  • Solr部署
    • Docker部署
    • 二进制部署
  • Tips:
    • Solr设置账号密码
      • 方法1:(不使用)
      • 方法2:
    • Core Admin 添加新的core报错
    • Solr数据迁移

Solr部署

Docker部署

docker run -d -p 8983:8983 --name solr solr:latest
docker run -d -p 8983:8983 -v /opt/solr:/var/solr/data --name solr solr:latestdocker run -d -p 8983:8983 --name solr solr:9.5.0# 部署并挂载数据到本地
docker run -d -p 8983:8983 -v /opt/solr:/var/solr/data --name solr solr:9.5.0

二进制部署

下载Solr

官网下载地址

历史版本下载地址

解压后文件目录

tar xvf solr-8.11.3.tgz
cd solr-8.11.3

在这里插入图片描述

关闭错误信息显示(可以不关闭)

vim ./bin/solr.in.sh

SOLR_ULIMIT_CHECKS=false

启动Solr

./bin/solr start -force  # 使用root用户必须使用-force

访问测试 http://localhost:8983


Tips:

Solr设置账号密码

方法1:(不使用)

进入到solr的数据文件目录,默认状态在在Solr的/var/solr/data下,创建security.json文件

{"authentication": {"blockUnknown": true,"class": "solr.BasicAuthPlugin","credentials": {"solr": "IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="}},"authorization": {"class": "solr.RuleBasedAuthorizationPlugin","permissions": [{"name": "security-edit","role": "admin"}],"user-role": {"solr": "admin"}}
}

官方默认密码是SolrRocks

上面设置后的密码是123456

自定义密需要手动去生成sha256(password+salt) hash密码

Java生成密码的代码

pom.xml

    <dependencies><!-- https://mvnrepository.com/artifact/org.apache.directory.studio/org.apache.commons.codec --><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.15</version></dependency></dependencies>

GenerateAuthorizationAuthentication.java

package eace.solr;import org.apache.commons.codec.binary.Base64;import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Random;public class GenerateAuthorizationAuthentication {public static void main(String[] args) {//密码String password = "123456";MessageDigest digest; //提供了消息摘要算法(如SHA-1或SHA-256)的功能try {digest = MessageDigest.getInstance("SHA-256"); //使用SHA-256final SecureRandom secureRandom = new SecureRandom(); //构造一个实现默认随机数算法的安全随机数生成器byte[] salt = new byte[32]; //创建一个字节类型secureRandom.nextBytes(salt);  //生成生成指定数量的随机字节到salt中digest.reset(); //将摘要重置以供进一步使用。digest.update(salt); //使用指定的字节数组更新摘要。byte[] btPass = digest.digest(password.getBytes(StandardCharsets.UTF_8));//使用给定的字符集将此字符串编码为字节序列,并将结果存储在新的字节数组中。System.out.println(Base64.encodeBase64String(btPass) + "" + Base64.encodeBase64String(salt));} catch (NoSuchAlgorithmException e) {System.err.println("Unknown algorithm:" + e.getMessage());}}
}

方法2:

vim server/etc/user.properties创建用户账号密码

#
# 这个文件定义用户名,密码和角色  
#
# 格式如下:<username>: <password>[,<rolename> ...]
#用户名:admin 密码:123!@#qwe 角色:admin 自定义与web.xml中role-name保持一致,可以有多个角色
admin:123!@#qwe,admin

vim server/contexts/solr-jetty-context.xml添加权限验证

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext"><Set name="contextPath"><Property name="hostContext" default="/solr"/></Set><Set name="war"><Property name="jetty.base"/>/solr-webapp/webapp</Set><Set name="defaultsDescriptor"><Property name="jetty.base"/>/etc/webdefault.xml</Set><Set name="extractWAR">false</Set><!-- 配置账号密码 --><Get name="securityHandler"><Set name="loginService"><New class="org.eclipse.jetty.security.HashLoginService"><Set name="name">verify?name</Set><Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/user.properties</Set></New></Set></Get></Configure>

vim server/solr-webapp/webapp/WEB-INF/web.xml修改web.xml添加权限拦截

  <!-- 以下添加权限拦截 --><security-constraint><web-resource-collection><web-resource-name>solr</web-resource-name><url-pattern>/</url-pattern></web-resource-collection><auth-constraint><!-- 配置角色 --><role-name>admin</role-name></auth-constraint></security-constraint><login-config><auth-method>BASIC</auth-method><realm-name>solr admin</realm-name></login-config></web-app>

添加在文件最后 </web-app> 之前增加即可

配置完成,重启服务,访问后提示出入账号密码!

在这里插入图片描述

参考资料:
solr 配置用户名密码以及代码账号密码连接


Core Admin 添加新的core报错

在这里插入图片描述

提示缺少配置文件:Error CREATEing SolrCore ‘new_core’: Unable to create core [new_core] Caused by: Can’t find resource ‘solrconfig.xml’ in classpath or ‘/opt/solr-8.11.3/server/solr/new_core’

复制/server/solr/configsets/_default/conf/下的文件到要创建的core的目录中

cp -r solr-8.11.3/server/solr/configsets/_default/conf/* solr-8.11.3/server/solr/new_core/

Solr数据迁移

2个重要文件

当前版本是7.4.0,进入到Solr的server/solr/中,备份出来Solr原配置文件信息和Solr原数据文件

在这里插入图片描述

可以看到真实数据不在solr-7.4.0/server/solr/procore文件中,在/mnt/solr/data/prodata/,我们把配置文件procore/mnt/solr/data/prodata/数据文件夹复制下来

在新的Solr中

cd solr-8.11.3/server/solr

创建新的core文件夹

mkdir procore

复制旧文件的procore/conf文件夹到新服务中的procore

复制模板文件到procore文件中

# cp -r /opt/solr7.4.0/server/solr/procore/conf  /opt/solr-8.11.3/server/solr/procore/
cp -r ./configsets/_default/conf ./procore/

复制旧文件的原数据文件到新的Solr中

这里可以自己指定数据位置,自己指定的时候创建时填写指定的位置即可

# 复制并重命名为data
cp -r /mnt/solr/data/prodata /opt/solr-8.11.3/server/solr/procore/data

此时在当前core下有2个文件夹,一个是conf,一个是data

在这里插入图片描述

进入web页面中创建新的core

在这里插入图片描述

  • name:当前Core的名称,可随意
  • instanceDir:当前Core的文件路径,默认创建路径实在server/solr下,这个路径是solr的家目录
  • dataDir:Core的文件位置,可以自定义位置
  • config:默认路径在当前Core的conf文件中
  • schema:默认路径在当前Core的conf文件中,不建议修改,映射的文件为conf/managed-schema

相关文章:

Solr 日志系统7.4.0部署和迁移到本地,Core Admin 添加新的core报错

文章目录 Solr部署Docker部署二进制部署 Tips:Solr设置账号密码方法1&#xff1a;(不使用)方法2&#xff1a; Core Admin 添加新的core报错Solr数据迁移 Solr部署 Docker部署 docker run -d -p 8983:8983 --name solr solr:latest docker run -d -p 8983:8983 -v /opt/solr:/…...

前缀和+双指针,CF 131F - Present to Mom

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 131F - Present to Mom 二、解题报告 1、思路分析 很经典的一种把列看作cell 来进行双指针/递推的题型 我们考虑&#xff0c;可以预处理出原矩阵中的所有star 然后我们去枚举矩形的上下边界&#xff0c;把…...

HCIA-速查-ENSP模拟器2步清空配置

需求&#xff1a;清空模拟器配置 清空当前图中配置 步骤1&#xff1a;reset saved-configuration 后输入y确认 步骤2&#xff1a;reboot后输入n否认再输入y确认 验证已经清空配置...

优选算法刷题笔记 2024.6.10-24.6.20

一、双指针算法(快慢指针,对撞指针) 艹&#xff0c;CSDN吞了我是十三题笔记&#xff01;&#xff01;&#xff01; 二、滑动窗口(滑动窗口) 1、找到字符串中所有字母异位词 class Solution {public List<Integer> findAnagrams(String s, String p) {int[] hash1 new in…...

无需科学上网:轻松实现国内使用Coze.com平台自己创建的Bot(如何实现国内免费使用GPT-4o/Gemini等最新大模型)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 如何在国内使用 Coze.com 创建的 Bot 📒📝 创建Bot📝 实现国内使用📝 测试⚓️ 相关链接 ⚓️📖 介绍 📖 Coze.com 是一个强大的平台,允许用户创建各种类型的 Bot。然而,许多国内用户可能会遇到访问问题,导致无法…...

【车载开发系列】CAN通信总线再理解(中篇)

【车载开发系列】CAN通信总线再理解&#xff08;中篇&#xff09; 九. CAN总线标准十. CAN物理层十一. CAN数据链路层1&#xff09;CAN的通信帧类型2&#xff09;CAN的标准帧格式1. CAN ID2. 数据场 3&#xff09;CAN总线仲裁 十二. CAN应用层1&#xff09;CANopen2&#xff09…...

系统编程:互斥锁,条件变量

互斥锁 使用过程: 1,声明锁: pthread_mutex_t lock; 2,初始化锁:pthread_mutex_init(&lock,NULL); 3,在线程的方法函数中上锁和解锁:(成对出现) pthread_mutex_lock(&lock); pthread_mutex_unlock(&lock); 4,销毁锁:pthread_mutex_destroy(&lock); 代码示例:…...

蓝鹏测控公司全长直线度算法项目多部门现场组织验收

关键字:全场直线度算法,直线度测量仪,直线度检测,直线度测量设备, 6月18日上午&#xff0c;蓝鹏测控公司全长直线度算法项目顺利通过多部门现场验收。该项目由公司技术部、开发部、生产部等多个部门共同参与&#xff0c;旨在提高直线度测量精度&#xff0c;满足高精度制造领域需…...

使用Python进行音频处理

通常会使用wave模块。但是&#xff0c;如果您想要处理其他类型的音频文件&#xff0c;或者需要更高级的音频处理功能&#xff0c;您可能需要安装第三方库&#xff0c;如pydub、soundfile、numpy等。 import wave # 读取WAV文件 with wave.open(input.wav, rb) as wav_file: …...

家有老人小孩,室内灰尘危害大!资深家政教你选对除尘空气净化器

哈喽&#xff0c;各位亲爱的朋友们&#xff01;今天我们来聊聊每次大扫除时最让人头疼的问题——灰尘。你有没有发现&#xff0c;两天不打扫&#xff0c;桌子上就能积上一层灰&#xff1b;阳光一照&#xff0c;地板上的灰尘都在跳舞&#xff1b;整理被子的时候&#xff0c;空气…...

AI在创造与毁灭之间摇摆:音乐产业的机遇与挑战并存

AI到底在创造还是毁掉音乐&#xff1f; 最近一个月&#xff0c;轮番上线的音乐大模型&#xff0c;一举将素人生产音乐的门槛降到了最低&#xff0c;并掀起了音乐圈会不会被AI彻底颠覆的讨论。短暂的兴奋后&#xff0c;AI产品的版权归属于谁&#xff0c;创意产业要如何在AI的阴…...

Spring Boot集成 Spring Retry 实现容错重试机制并附源码

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…...

MDK-ARM 编译后 MAP 文件分析

本文配合 STM32 堆栈空间分布 食用更佳&#xff01; 一图胜千言。。。...

antv g6实现系统拓扑图

1 背景 为例描述各个服务、redis、mysql等之间的联系及其健康状态&#xff0c;构建系统拓扑图&#xff0c;考虑 g6 更适合处理大量数据之间的关系&#xff0c;所以我们采用g6来绘制前端的图形。 g6提供的支持&#xff1a; 节点/边类型多样&#xff0c;同样支持自定义对于节点…...

因路径规划异常导致导航停止 Failed to pass global plan to the controller

因路径规划异常导致导航停止 Failed to pass global plan to the controller 控制台错误信息: [ WARN] [1718875656.343893537, 93.698000000]: Transformed plan is empty. Aborting local planner! [ERROR] [1718875656.343922719, 93.698000000]: move_base.cpp:854 Faile…...

AOSP开发环境搭建

目录 一、安装虚拟机 二、安装Ubuntu 三、安装VMware tools 3.1、通用安装 3.2、Ubuntu22.04 中Drag and drop is not supported问题 四、安装依赖环境 4.1、安装git 4.2、下载Python3 4.3、解压Python3 4.4、编译与安装Python3 3.sudo make install 4.5、安装Pyth…...

React native新架构组成

React Native 的新架构&#xff08;New Architecture&#xff09;引入了一些新的组件和概念&#xff0c;旨在提高性能、增强灵活性和简化跨平台开发。主要组成部分包括&#xff1a; Fabric: Fabric Renderer: Fabric 是新的渲染引擎&#xff0c;它旨在取代现有的渲染引擎。与…...

Spring Security+Spring Boot实现登录认证以及权限认证

基本概念 “Authentication(认证)”是spring security框架中最重要的功能之一&#xff0c;所谓认证&#xff0c;就是对当前访问系统的用户给予一个合法的身份标识&#xff0c;用户只有通过认证才可以进入系统&#xff0c;在物理世界里&#xff0c;有点类似于“拿工卡刷门禁”的…...

5款堪称变态的AI神器,焊死在电脑上永不删除!

一 、AI视频合成工具——Runway&#xff1a; 第一款RunWay&#xff0c;你只需要轻轻一抹&#xff0c;视频中的元素就会被擦除&#xff0c;再来轻轻一抹&#xff0c;直接擦除&#xff0c;不喜欢这个人直接擦除&#xff0c;一点痕迹都看不出来。 除了视频擦除功能外&#xff0c;…...

Python和OpenCV图像分块之图像边长缩小比率是2

import cv2 import numpy as npimg cv2.imread("F:\\mytupian\\xihuduanqiao.jpg") # 低反光 cv2.imshow(image, img) # # 图像分块 # dst np.zeros(img.shape, img.dtype) ratio 2 #图像边长缩小比率是2&#xff0c;也就是一张图片被分割成四份 height, wi…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一&#xff0c;能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时&#xff0c;需要添加Git仓库地址和凭证&#xff0c;设置构建触发器&#xff08;如GitHub…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

前端开发者常用网站

Can I use网站&#xff1a;一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use&#xff1a;Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站&#xff1a;MDN JavaScript权威网站&#xff1a;JavaScript | MDN...