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:(不使用)方法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:/…...
前缀和+双指针,CF 131F - Present to Mom
一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 131F - Present to Mom 二、解题报告 1、思路分析 很经典的一种把列看作cell 来进行双指针/递推的题型 我们考虑,可以预处理出原矩阵中的所有star 然后我们去枚举矩形的上下边界,把…...
HCIA-速查-ENSP模拟器2步清空配置
需求:清空模拟器配置 清空当前图中配置 步骤1:reset saved-configuration 后输入y确认 步骤2:reboot后输入n否认再输入y确认 验证已经清空配置...
优选算法刷题笔记 2024.6.10-24.6.20
一、双指针算法(快慢指针,对撞指针) 艹,CSDN吞了我是十三题笔记!!! 二、滑动窗口(滑动窗口) 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通信总线再理解(中篇) 九. CAN总线标准十. CAN物理层十一. CAN数据链路层1)CAN的通信帧类型2)CAN的标准帧格式1. CAN ID2. 数据场 3)CAN总线仲裁 十二. CAN应用层1)CANopen2)…...
系统编程:互斥锁,条件变量
互斥锁 使用过程: 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日上午,蓝鹏测控公司全长直线度算法项目顺利通过多部门现场验收。该项目由公司技术部、开发部、生产部等多个部门共同参与,旨在提高直线度测量精度,满足高精度制造领域需…...
使用Python进行音频处理
通常会使用wave模块。但是,如果您想要处理其他类型的音频文件,或者需要更高级的音频处理功能,您可能需要安装第三方库,如pydub、soundfile、numpy等。 import wave # 读取WAV文件 with wave.open(input.wav, rb) as wav_file: …...
家有老人小孩,室内灰尘危害大!资深家政教你选对除尘空气净化器
哈喽,各位亲爱的朋友们!今天我们来聊聊每次大扫除时最让人头疼的问题——灰尘。你有没有发现,两天不打扫,桌子上就能积上一层灰;阳光一照,地板上的灰尘都在跳舞;整理被子的时候,空气…...
AI在创造与毁灭之间摇摆:音乐产业的机遇与挑战并存
AI到底在创造还是毁掉音乐? 最近一个月,轮番上线的音乐大模型,一举将素人生产音乐的门槛降到了最低,并掀起了音乐圈会不会被AI彻底颠覆的讨论。短暂的兴奋后,AI产品的版权归属于谁,创意产业要如何在AI的阴…...
Spring Boot集成 Spring Retry 实现容错重试机制并附源码
😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…...
MDK-ARM 编译后 MAP 文件分析
本文配合 STM32 堆栈空间分布 食用更佳! 一图胜千言。。。...
antv g6实现系统拓扑图
1 背景 为例描述各个服务、redis、mysql等之间的联系及其健康状态,构建系统拓扑图,考虑 g6 更适合处理大量数据之间的关系,所以我们采用g6来绘制前端的图形。 g6提供的支持: 节点/边类型多样,同样支持自定义对于节点…...
因路径规划异常导致导航停止 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 的新架构(New Architecture)引入了一些新的组件和概念,旨在提高性能、增强灵活性和简化跨平台开发。主要组成部分包括: Fabric: Fabric Renderer: Fabric 是新的渲染引擎,它旨在取代现有的渲染引擎。与…...
Spring Security+Spring Boot实现登录认证以及权限认证
基本概念 “Authentication(认证)”是spring security框架中最重要的功能之一,所谓认证,就是对当前访问系统的用户给予一个合法的身份标识,用户只有通过认证才可以进入系统,在物理世界里,有点类似于“拿工卡刷门禁”的…...
5款堪称变态的AI神器,焊死在电脑上永不删除!
一 、AI视频合成工具——Runway: 第一款RunWay,你只需要轻轻一抹,视频中的元素就会被擦除,再来轻轻一抹,直接擦除,不喜欢这个人直接擦除,一点痕迹都看不出来。 除了视频擦除功能外,…...
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,也就是一张图片被分割成四份 height, wi…...
C语言中的位域(bit-field)是什么,以及它的用途和优缺点
在C语言中,位域(bit-field)是一种特殊的数据结构,它允许在结构体(struct)中定义其成员所占用的位数,而不是使用整个字节或更大的内存空间。位域通常用于存储布尔值、状态标志、硬件控制位等&…...
从面试角度了解前端基础知识体系
目录 前端专业知识相关面试考察点 HTML 与 CSS Javascript 网络相关 浏览器相关 安全相关 算法与数据结构 计算机通用知识 前端项目经验相关面试考察点 前端框架与工具库 Node.js 与服务端 性能优化 前端工程化 开发效率提升 监控、灰度与发布 多人协作 结束语…...
【DKN: Deep Knowledge-Aware Network for News Recommendation】
DKN: Deep Knowledge-Aware Network for News Recommendation 摘要 在线新闻推荐系统旨在解决新闻信息爆炸的问题,为用户进行个性化推荐。 总体而言,新闻语言高度凝练,充满知识实体和常识。 然而,现有的方法并没有意识到这些外部…...
Linux管道与重定向
管道 是进程通信的方法之一,在Linux中用命令1|命令2的形式表示,将前一个命令的结果作为后续命令的参数进行输入,也有tee管道,可以进行多次筛选,即多次使用|过滤命令。 重定向 文件描述符FD Linux中输入输出分为三种…...
kotlin数组
1、kotlin中的数组与java数组比较: 2、创建 fun main() {// 值创建val a intArrayOf(1,2,3)// 表达式创建val b IntArray(3){println("it: ${it}")it1}println("a数组:${a.contentToString()}, 长度:${a.size}")prin…...
SpringSecurity实战入门——认证
项目代码 gson/spring-security-demo 简介 Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。 一般来说中大型的项目都是使用SpringSecurity来做安全框架。小项目有Shiro的比较多,因为相比…...
23种设计模式之桥接模式
桥接模式 1、定义 桥接模式:将抽象部分与它的实现部分解耦,使得两者都能独立变化 2、桥接模式结构 Abstraction(抽象类):它是用于定义抽象类的,通常是抽象类而不是接口,其中定义了一个Imple…...
vuejs3+elementPlus后台管理系统,左侧菜单栏制作、跳转、默认激活菜单
制作: <script setup> import {useUserStore} from "/stores/userStore.js"; import {ref} from "vue";const userStore useUserStore() //默认激活菜单 const defaultMenu ref(/home) </script><template><el-menuact…...
代码随想录算法训练营第四十四天|LeetCode198 打家劫舍、LeetCode213 打家劫舍Ⅱ
题1: 指路:198. 打家劫舍 - 力扣(LeetCode) 思路与代码: 对于这个题,拿房屋i举例,我们需要考虑的是否确定偷取这个房屋,如果确定偷取这个房屋,那么我们将得到房屋i的金…...
Git进阶使用(图文详解)
文章目录 Git概述Git基础指令Git进阶使用一、Git分支1.主干分支2.其他分支2.1创建分支2.2查看分支1. 查看本地分支2. 查看远程分支3. 查看本地和远程分支4. 显示分支的详细信息5. 查看已合并和未合并的分支 2.3切换分支1. 切换到已有的本地分支2. 创建并切换到新分支3. 切换到远…...
丹徒网站建设咨询/影响关键词优化的因素
硬件平台:飞思卡尔IMX6 内核版本:kernel3.0.35 问题来源: 开发板的默认显示方式是FPC接口800*480的屏,本项目中用到的屏是工业级的1024*768接口的LVDS屏,更换屏之后,除了移植相应的屏驱动和触摸驱动之外&…...
公司做网站会计凭证怎么做/企业软文范例
1026 程序运行时间(15)(15 分) 要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即…...
沧州做网站公司/腾讯广点通广告投放平台
在Windows上开发桌面应用程序最快的方式无疑是使用C#,前有WinForm现有WPF,都是很好的开发框架,不管是MFC还是QT总还是复杂了一些。但是C#有一个最最大的缺点,就是没办法避免反编译,虽然我也经常反编译别人程序…...
南水北调中线干线工程建设管理局网站/如何优化网页加载速度
1. 背景 1.1. 编解码技术 通常我们也习惯将编码(Encode)称为序列化(serialization),它将对象序列化为字节数组,用于网络传输、数据持久化或者其它用途。 反之,解码(Decode࿰…...
建筑模板生产设备/莱阳seo排名
在上秦小麟老师的数据库实现技术的时候,老师提到了一个问题:如何在运行时获取一个变量的类型,这用C实现好像要大费周折。今天正好碰到一个问题想看看CSTL中的sort算法的实现,发现里面有个技巧可以很容易做到这一点。我就立刻自己做…...
上海哪个公司做网站好/百度推广怎么提高关键词排名
package cn.itcast.iotest;/* * 文件夹的复制 * 数据源 c:\\demo * 数据目的 d: * * 操作文件夹 File类 功能 * 文件的复制 IO流读写文件,字节 * * 实现思想 * 1. 数据目的,创建一个和数据源同名文件夹 * 获取到数据源文件夹名字 * File方法mkdirs() *…...