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

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

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

相关文章

学会python——密码加密(python实例四)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3、对输入的字符加密 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强…

Hexapod C-887使用手册 -- 4,5,6

4 - 拆包 小心拆包C-887 根据合同和发货注意比较发货范围的内容&#xff1a; 检查危险符号的内容。如果任何零件损坏或缺失&#xff0c;立即联系客服部门。 保存所有包装材料&#xff0c;以防产品需要返厂。 5 - 安装 本章中 安装一般注意 安装PC软件 确保通风 接地C-…

LeetCode --- 132双周赛

题目列表 3174. 清除数字 3175. 找到连续赢 K 场比赛的第一位玩家 3176. 求出最长好子序列 I 3177. 求出最长好子序列 II 一、清理数字 这题直接根据题目&#xff0c;进行模拟即可&#xff0c;大体的思路是遍历字符串&#xff0c;遇到字母就加入答案&#xff0c;遇到数字就…

网络协议四

一、云中网络 物理机的劣势&#xff1a; 1&#xff09;一旦需要扩容 CPU、内存、硬盘&#xff0c;都需要去机房手动弄&#xff0c;非常麻烦 2&#xff09;采购的机器往往动不动几百 G 的内存&#xff0c;而每个应用往往可能只需要 4 核 8G 3&#xff09;一台机器&#xff0c;…

怎么改变图片分辨率dpi数值?图片改分辨率的在线技巧

在上传图片的时候除了图片大小、尺寸等要求之外&#xff0c;修改图片分辨率也是比较常见的一个问题&#xff0c;需要将图片按照平台的要求修改完成后才可以正常使用。当遇到图片dpi的数值不满足使用需求的时候&#xff0c;有什么方法能够更加快捷的修改图片dpi呢&#xff1f;今…

从零开始利用MATLAB进行FPGA设计(七)固化程序

FPGA开发板&#xff1a;AX7020&#xff1b;Xilinx 公司的 Zynq7000 系列的芯片XC7Z020-2CLG400I&#xff0c;400引脚 FBGA 封装。 HARDWARE PLATFORM在2019以后的vivado中已经没有了。本期实际上已经与MATLAB无关&#xff0c;主要介绍通过VITIS等方法进行程序固化。 目录 ZY…

Github 2024-06-13 Go开源项目日报Top10

根据Github Trendings的统计,今日(2024-06-13统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10TypeScript项目1Shell项目1多存储文件列表/WebDAV程序 创建周期:1265 天开发语言:Go协议类型:GNU Affero General Public License v…

linux安装dgl

1.DGL官网、选择与自己cuda、python版本匹配的dgl的whl文件CUDA11.8、python10并下载 2.用pip install运行 pip install /home/u2023170749/download/dgl-2.2.0cu118-cp310-cp310-manylinux1_x86_64.whl

git提交错了?别慌,直接删除提交记录

git revert 和git reset &#xff01;这两个命令都有撤销操作的功能&#xff01;哪一个可以删除提提交记录&#xff1f;&#xff1f;&#xff1f; 使用git revert撤销提交 revert的英文释义是回复、恢复&#xff08;到原来的状态&#xff09; 作用 git revert 是 Git 中用于撤…

如何通过SOLIDWORKS教育版提高学生技能培养未来人才?

在当今这个科技日新月异的时代&#xff0c;掌握先进的数字化工具已经成为了一项需备的技能。作为一款功能强大的3D CAD软件&#xff0c;SOLIDWORKS教育版正是一个帮助学生提升技能、培养未来人才的重要工具。那么&#xff0c;如何通过SOLIDWORKS教育版提高学生技能呢&#xff1…

全方位·多层次·智能化,漫途水库大坝安全监测方案

党的十九届五中全会提出&#xff0c;到2025年前&#xff0c;完成新出现病险水库的除险加固&#xff0c;配套完善重点小型水库雨水情和安全监测设施&#xff0c;实现水库安全鉴定和除险加固常态化。 加快推进小型水库除险加固。加快构建气象卫星和测雨雷达、雨量站、水文站组成…

12306 火车票价格解析 (PHP 解析)

1. 从接口拿数据 日期 出发站 终点站 都填上 xxx/otn/leftTicketPrice/queryAllPublicPrice?leftTicketDTO.train_date2024-06-15&leftTicketDTO.from_stationBJP&leftTicketDTO.to_stationSJP&purpose_codesADULT 返回的数据是这样的 {"validateMess…

ASP.NET MVC企业级程序设计(查,删,展示详情,日期转换,¥字符串拼接)

题目&#xff1a; 实现过程 控制器代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc;namespace MvcApplication1.Controllers {public class HomeController : Controller{//// GET: /Home/public Action…

【Bootstrap Faster R-CNN】《Is Faster R-CNN Doing Well for Pedestrian Detection?》

ECCV-2016 中山大学 文章目录 1 Background and Motivation2 Related Work3 Advantages / Contributions4 Method4.1 Region Proposal Network for Pedestrian Detection4.2 Feature Extraction4.3 Boosted Forest 5 Experiments5.1 Datasets and Metrics5.2 Ablation Experim…

【C++进阶学习】第一弹——继承(上)——探索代码复用的乐趣

前言&#xff1a; 在前面&#xff0c;我们已经将C的初阶部分全部讲完了&#xff0c;包括类与对象、STL、栈和队列等众多内容&#xff0c;今天我们就进入C进阶部分的学习&#xff0c;今天先来学习第一弹——继承 目录 一、什么是继承&#xff1f;为什么会有继承&#xff1f; 二…

WPS JS宏获取自动筛选后的行数

//WPS JS宏获取自动筛选后的行数 function getFilterRowCnt(shtRng)//shtRng表示筛选目标工作表范围 {let lngRowCnt 0;for(let rngCell of shtRng.SpecialCells(xlCellTypeVisible).Areas)//获取自动筛选后的单元格行数{lngRowCnt lngRowCnt rngCell.Rows.Count;}return ln…

Web--CSS基础

文章目录 定义方式选择器文本字体背景边框元素展示格式内边距与外边距盒子模型位置浮动实战&#xff1a;个人信息卡片 flex布局响应式布局 定义方式 行内样式表 直接定义在style属性中&#xff0c;作用于当前标签 <img src "/imges/logo.jpg" alt "" …

Vue37-非单文件组件

一、组件的两种编写形式&#xff1a; 非单文件组件&#xff1b;单文件组件。 二、创建一个组件 2-1、组件中的el 组件中不写el&#xff0c;不说为谁服务。 2-2、组件中的data 因为对象形式&#xff0c;多处复用的话&#xff0c;有引用关系&#xff0c;改一处&#xff0c;另一…

atcoder ABC 355-C题详解

atcoder ABC 355-C题详解 ​ Problem Statement There is an NN grid, where the cell at the i-th row from the top and the j-th column from the left contains the integer N(i−1)j. Over T turns, integers will be announced. On Turn i, the integer Ai​ is anno…

[Nacos]No spring.config.import property has been defined

在学习 Spring Cloud Alibaba &#xff0c;Nacos组件&#xff0c;创建一个cloudalibaba-config-nacos-client&#xff0c;加载多配置集时遇到问题 配置了 bootstrap.yml 后启动项目报错&#xff1a; 是因为在springcloud 2020.0.2版本中把bootstrap的相关依赖从spring-cloud-s…