CentOS7搭建solr7.2

本文详细介绍Solr搜索服务器的安装与配置过程,包括环境搭建、核心配置及中文分词设置。

  solr介绍

一、Solr它是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。 二、Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式)。它易于安装和配置,而且附带了一个基于 HTTP 的 管理界面。Solr已经在众多大型的网站中使用,较为成熟和稳定。 三、Solr 包装并扩展了 Lucene,所以Solr的基本上沿用了Lucene的相关术语。更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。 四、通过对Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。 五、此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用Solr 创建的索引。可以使用 Solr 的表现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。

      准备工作:1、关闭防火墙,2、安装jdk1.8环境。3、创建生产环境下的目录/data/soft /,所有安装包都放在/data/下进行操作,产生的环境都放在/data/soft下面。

1、查看防火墙状态:

firewall-cmd --state

 如果是开启状态那么关闭掉就行了。

systemctl stop firewalld.service

 2、做之前的准备:jdk环境一定要是jdk1.8,centos7的话好像最低都是jdk1.8的,我的做实验前查了一下是jdk1.8的,所以就不在继续做jdk最新版本的了。

在这里不做说明,如果不会请参考我专门做的关于jdk环境的博客.

3、创建安装目录

mkdir -p /data/soft

前三步做好后就直接开始做solr搜索服务器了。

正式开始:

1.下载solr7.2版本,解压

wget http://mirrors.shuosc.org/apache/lucene/solr/7.2.1/solr-7.2.1.tgz

 2.解压solr,注意我把solr包移动到了/data/soft下面。

 tar -xvf solr-7.2.1.tgz

 3.下载tomcat,解压并测试tomcat是否异常,这步很重要,有的tomcat版本有冲突就会发生异常。

wget https://mirrors.cnnic.cn/apache/tomcat/tomcat-9/v9.0.6/bin/apache-tomcat-9.0.6.tar.gz

tar -xvf apache-tomcat-9.0.6.tar.gz

mv apache-tomcat-9.0.6 tomcat

对tomcat测试一下,看tomcat是否正常

 启动tomcat:sh bin/startup.sh

查看端口是被监听

查看服务是否启动,生产环境会用这种方式查看。

查看tomcat日志:

 

 生产环境最直接的检查方式。直接curl命令查看是否能够获取tomcat页面。

 

 开始部署配置solr

1.把solr-7.2.0/server/solr-webapp里面的webapp拷贝到tomcat 的webapps下,重命名为solr

cp -r solr-7.2.1/server/solr-webapp/webapp/ /data/soft/tomcat/webapps/
mv webapp/ solr

2.拷贝solr-7.2.1\server\lib\ext 下的jar包以及lib目录下gmetric4j-1.0.7.jar,以metrics开头的jar包拷贝到 tomcat\webapps\solr 项目的WEB-INF\lib下

cd solr-7.2.1/server/lib/ext/
cp * /data/soft/tomcat/webapps/solr/WEB-INF/lib/

cp gmetric4j-1.0.7.jar metrics-* /data/soft/tomcat/webapps/solr/WEB-INF/lib/

3.拷贝solr-7.2.0\server 下的solr文件夹到其它非中文目录下,重命名为solrhome,我是建立到了/data/soft下

 cd solr-7.2.1/server/
 cp -r solr /data/soft/solrhome

4.修改/data/soft/tomcat/webapps/solr/WEB-INF\web.xml, 找到如下代码,蓝色部分的,/put/your/solr/home/here 改为你自己的solrhome的路径,我的是/data/soft/solrhome路径。

   vim /data/soft/tomcat/webapps/solr/WEB-INF/web.xml,将注释去掉,并将solrhome的目录位置写进去:

<!--
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/home/here</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
-->
如下图:

 

5..拷贝solr7.2.1\server\resources下的log4j.properties到/data/soft/tomcat/webapps/solr/WEB-INF\classes,如果WEB-INF下没有classes文件那么就创建一个classes文件夹
mkdir -p /data/soft/tomcat/webapps/solr/WEB-INF/classes
cp solr-7.2.1/server/resources/log4j.properties  /data/soft/tomcat/webapps/solr/WEB-INF/classes/

6.启动tomcat,访问需要完整路径,我的是http://192.168.241.131:8080/solr/index.html#/

 看下日志,如果日志有下面这个样式就成功了。

 在本机上curl一下,发现403,那么估计页面也是这样,如下图。

 7.注意:如果出现上图403错误,编辑web.xml照片截图中位置,找到如下代码,将其注释即可。

 加上注释如下图:

 再次刷新浏览器,会出现下图的页面。

配置solr的核心内容(core)
1.点击Core Admin,接着点击Add Core这项,点完之后会出现问题,但是会自动创建new-core目录。

2.报错,提示缺少配置文件:Error CREATEing SolrCore 'new_core': Unable to create core [new_core] Caused by: Can't find resource 'solrconfig.xml' in classpath or '/data/soft/solrhome/new_core'
解决方法:拷贝server/solr/configsets/_default/下的conf文件夹到solrhome/new_core文件夹下
cp -r solr-7.2.1/server/solr/configsets/_default/conf  /data/soft/solrhome/new_core/ 
3.点击Add Core,此时会显示添加成功
 

 4、配置中文分析器

1.拷贝dist文件夹里的solr-dataimporthandler-7.2.0.jar
cp  solr-7.2.1/dist/solr-dataimporthandler-7.2.1.jar /data/soft/tomcat/webapps/solr/WEB-INF/lib/

2.拷贝lucene-libs文件夹里的中文分析器的jar包

cp  solr-7.2.1/contrib//analysis-extras/lucene-libs/* /data/soft/tomcat/webapps/solr/WEB-INF/lib/

3.编辑conf文件夹里的managed-schema文件

 vim solrhome/new_core/conf/managed-schema

<!-- ChineseAnalyzer -->
<fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
</fieldType>

如下图:

4.自定义搜索业务域

<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="plong" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category_name" type="string" indexed="true" stored="true" />
<field name="item_desc" type="text_ik" indexed="true" stored="false" />
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_sell_point" dest="item_keywords"/>
<copyField source="item_category_name" dest="item_keywords"/>
<copyField source="item_desc" dest="item_keywords"/>

如下图:

5.重启tomcat,就能发现自定义域已经出现

6.测试分词效果

 

 好了,到此为止,solr就告一段落,我们在部署的时候,心一定要细,有的地方千万仔细,进过这两天的熟悉给公司的阿里云服务器做这个,借签网络各位大神的手笔,写的不足之处,请大家多多关照。

### CentOS 8.5 Zabbix 7.2 高可用集群搭建指南 以下是基于 CentOS 8.5 环境下搭建 Zabbix 7.2 高可用集群的详细指南,涵盖服务配置、数据库初始化及服务启动等内容。 #### 1. 环境准备 确保所有节点已安装 CentOS 8.5,并完成基础配置(如防火墙规则、SELinux设置等)。此外,需确认以下软件包已安装: ```bash dnf install -y epel-release dnf install -y wget net-tools bind-utils ``` #### 2. 添加 Zabbix 源并安装相关组件 添加 Zabbix 官方仓库: ```bash rpm -Uvh https://repo.zabbix.com/zabbix/7.2/rhel/8/x86_64/zabbix-release-7.2-1.el8.noarch.rpm dnf clean all ``` 安装 Zabbix Server、Agent 和前端组件: ```bash dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent ``` #### 3. 数据库初始化 使用 MariaDB 或 MySQL 作为后端数据库。以 MariaDB 为例,执行以下操作: ```sql CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; QUIT; ``` 导入初始架构和数据: ```bash zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix ``` #### 4. 配置 Zabbix Server 编辑 Zabbix Server 配置文件 `/etc/zabbix/zabbix_server.conf`,设置数据库连接参数: ```ini DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=password ``` #### 5. 配置 PHP 环境 编辑 Apache 的 PHP 配置文件 `/etc/php-fpm.d/zabbix.conf`,确保以下参数正确: ```ini php_value[date.timezone] = Asia/Shanghai ``` 重启 Apache 和 PHP-FPM 服务: ```bash systemctl restart httpd php-fpm ``` #### 6. 启动服务并设置自启 启动 Zabbix Server 和 Agent 服务,并设置开机自启: ```bash systemctl enable zabbix-server zabbix-agent httpd systemctl start zabbix-server zabbix-agent httpd ``` #### 7. 使用 Ansible 批量部署 Agent 创建一个简单的 Ansible Playbook 来批量安装和配置 Zabbix Agent: ```yaml --- - name: Deploy Zabbix Agent hosts: all become: yes tasks: - name: Install Zabbix Agent dnf: name: zabbix-agent state: present - name: Configure Zabbix Agent lineinfile: path: /etc/zabbix/zabbix_agentd.conf regexp: '^Server=' line: 'Server=ZABBIX_SERVER_IP' - name: Start and Enable Zabbix Agent service: name: zabbix-agent state: started enabled: yes ``` 运行 Playbook: ```bash ansible-playbook deploy_zabbix_agent.yml ``` #### 8. 高可用配置 为实现高可用,可采用以下方案: - **数据库层**:使用 Galera Cluster 或主从复制实现数据库高可用[^4]。 - **应用层**:通过 Keepalived + HAProxy 提供负载均衡和故障切换支持。 - **前端层**:配置多台 Web Server 并通过负载均衡器分发流量[^3]。 --- ### 注意事项 - 确保所有节点的时间同步(NTP),避免因时间差异导致的问题。 - 在生产环境中,建议使用更安全的数据库连接方式(如 SSL)[^2]。 - 根据实际需求调整 Zabbix 配置参数,以优化性能[^1]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值