热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:2018年ElasticSearch6.2.2教程ELK搭建日志采集分析系统(教程详情)

本文由编程笔记#小编为大家整理,主要介绍了2018年ElasticSearch6.2.2教程ELK搭建日志采集分析系统(教程详情)相关的知识,希望对你有一定的参考价值。章节一
本文由编程笔记#小编为大家整理,主要介绍了2018年ElasticSearch6.2.2教程ELK搭建日志采集分析系统(教程详情)相关的知识,希望对你有一定的参考价值。


章节一 2018年 ELK课程计划和效果演示
1、课程安排和效果演示
简介:课程介绍和主要知识点说明,ES搜索接口演示,部署的ELK项目演示
es: localhost:9200
kibana http://localhost:5601/

章节二 elasticSearch 6.2版本基础讲解到阿里云部署实战

2、搜索引擎知识介绍和相关框架
简介:介绍搜索的基本概念,市面上主流的搜索框架elasticSearch和solr等对比
什么是搜索:在海量信息中获取我们想要的信息
传统做法:
1、文档中使用系统的Find查找
2、mysql中使用like模糊查询
问题:
1、海量数据中不能及时响应,少量数据可以通过传统的MySql建立索引解决
2、一些无用词不能进行过滤,没法分词
3、数据量大的话难以拓展
4、相同的数据难以进行相似度最高的进行排序
搜索引擎:
1、存储非结构化的数据
2、快速检索和响应我们需要的信息,快-准
3、进行相关性的排序,过滤等
4、可以去掉停用词(没有特殊含义的词,比如英文的a,is等,中文: 这,的,是等),框架一般支持可以自定义停用词

常用框架:
1、Lucene
Apache下面的一个开源项目,高性能的、可扩展的工具库,提供搜索的基本架构;
如果开发人员需用使用的话,需用自己进行开发,成本比较大,但是性能高
2、solr
Solr基于Lucene的全文搜索框架,提供了比Lucene更为丰富的功能,
同时实现了可配置、可扩展并对查询性能进行了优化
建立索引时,搜索效率下降,实时索引搜索效率不高
数据量的增加,Solr的搜索效率会变得更低,适合小的搜索应用,对应java客户端的是solrj
3、elasticSearch
基于Lucene的搜索框架, 它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口
上手容易,拓展节点方便,可用于存储和检索海量数据,接近实时搜索,海量数据量增加,搜索响应性能几乎不受影响;
分布式搜索框架,自动发现节点,副本机制,保障可用性

3、新版本 elasticSearch 6.1.2介绍
简介:介绍ES的主要特点和使用场景,新特性讲解

elasticSearch主要特点
1、特点:全文检索,结构化检索,数据统计、分析,接近实时处理,分布式搜索(可部署数百台服务器),处理PB级别的数据
搜索纠错,自动完成
2、使用场景:日志搜索,数据聚合,数据监控,报表统计分析
3、国内外使用者:维基百科,Stack Overflow,GitHub
新特性讲解
1、6.1.x版本基于Lucene 7.1.0,更快,性能进一步提升,对应的序列化组件,升级到Jackson 2.8
2、自适应副本选择
今天在Elasticsearch中,对同一分片的一系列搜索请求将以循环方式转发到主要和每个副本。如果一个节点启动了长时间的垃圾收集,这可能会出现问题 - 搜索请求仍将被转发到缓慢的节点,并且会影响搜索延迟。
在6.1中,我们添加了一个称为自适应副本选择的实验×××。每个节点跟踪并比较搜索请求到其他节点的时间,并使用这些信息来调整向特定节点发送请求的频率。在我们的基准测试中,这样可以大大提高搜索吞吐量,降低99%的延迟。
这个选项在默认情况下是禁用的
3、推荐使用5.0版本推出的Java REST/HTTP客户端,依赖少,比Transport使用更方便,在基准测试中,性能并不输于Transport客户端,
在5.0到6.0版本中,每次有对应的API更新, 文档中也说明,推荐使用这种方式进行开发使用,所有可用节点间的负载均衡
在节点故障和特定响应代码的情况下进行故障转移,失败的连接处罚(失败的节点是否重试取决于失败的连续次数;失败的失败次数越多,客户端在再次尝试同一节点之前等待的时间越长)
官方文档:
1、6.0更新特性
https://www.elastic.co/guide/en/elasticsearch/reference/6.0/release-notes-6.0.0.html#breaking-java-6.0.0
2、6.1更新特性
https://www.elastic.co/guide/en/elasticsearch/reference/6.1/release-notes-6.1.0.html

4、windows安装启动ElasticSearch
简介:windows环境下安装JDK8和 ElasticSearch

5、阿里云服务器 快速安装ElasticSearch
简介:阿里云ecs介绍,wget命令下载安装包,快速部署 elasticSearch节点

linux下使用wget下载jdk8:
进到目录/usr/local/software
wget --no-COOKIEs --no-check-certificate --header "COOKIE: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-COOKIE" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
vim /etc/profile
加入
export JAVA_HOME=/usr/local/software/jdk8
export JAVA_BIN=/usr/local/software/jdk8
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
使用wget 下载elasticsearch安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.2.tar.gz
解压
tar -zxvf elasticsearch-6.2.2.tar.gz
配置es出现相关问题处理:
1、问题一
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error=‘Cannot allocate memory‘ (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 986513408 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /usr/local/software/temp/elasticsearch-6.2.2/hs_err_pid1912.log
解决:内存不够,购买阿里云的机器可以动态增加内存
2、问题二
[[email protected] bin]# ./elasticsearch
[2018-02-22T20:14:04,870][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-6.2.2.jar:6.2.2]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-6.2.2.jar:6.2.2]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.2.2.jar:6.2.2]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.2.2.jar:6.2.2]
解决:用非root用户
添加用户:useradd -m 用户名 然后设置密码 passwd 用户名
3、问题三
./elasticsearch
Exception in thread "main" java.nio.file.AccessDeniedException: /usr/local/software/temp/elasticsearch-6.2.2/config/jvm.options
解决:权限不够 chmod 777 -R 当前es目录
常见配置问题资料:https://www.jianshu.com/p/c5d6ec0f35e0

6、ElasticSearch目录和配置文件介绍
简介:介绍ES目录结构,配置文件基本说明
bin: 启动文件
log: 日志文件,包括运行日志,慢查询日志
config: 核心配置文件
lib: 依赖包
plugins :插件

7、ElasticSearch核心配置文件讲解,性能优化配置
简介:讲解核心配置文件,JVM参数配置,性能优化
健康状态检查:http://localhost:9200/_cluster/health
jvm.options 虚拟机参数配置文件
配置heap内存一样

elasticsearch.yml 主配置文件
cluster.name 集群名称,同一个网段自动加入
node.name 节点名称
http.port http端口
注意事项
本地启动多个节点,复制es安装包的时候,需要删除里面data目录里面的资料,不然无法加入集群

8、ElasticSearch基础概念讲解
简介:es的index索引,document文档对象,副本,多节点集群等基础知识

1、通俗的解释:
在Elasticsearch中,文档归属于一种类型(type),而这些类型存在于索引(index)中, 索引名称必须是小写
Relational DB -> Database -> Table -> Row -> Column
Elasticsearch -> Indice -> Type -> Document -> Field
2、分片shards:
数据量特大,没有足够大的硬盘空间来一次性存储,且一次性搜索那么多的数据,响应跟不上es提供把数据进行分片存储,这样方便进行拓展和提高吞吐
3、副本replicas:
分片的拷贝,当主分片不可用的时候,副本就充当主分片进行使用
4、Elasticsearch中的每个索引分配5个主分片和1个副本
如果你的集群中至少有两个节点,你的索引将会有5个主分片和另外5个复制分片(1个完全拷贝),这样每个索引总共就有10个分片。

9、search搜索语句入门之URL搜索
简介:讲解URL中的_search搜索语句的基本使用,美化响应结果, 索引的基础操作

集群健康检查
http://localhost:9200/_cat/health?v
http://localhost:9200/_cluster/health(推荐)
状态说明
green:正常
yellow: 集群正常 数据正常,部分副本不正常
red: 集群部分正常,数据可能丢失,需要紧急修复
查询节点列表
http://localhost:9200/_cat/nodes?v
查看所有索引
http://localhost:9200/_cat/indices?v
目前 集群中没有任何索引
补充:
curl
-X 指定http的请求方法 有HEAD GET POST PUT DELETE
-d 指定要传输的数据
-H 指定http请求头信息
新增索引
curl -XPUT ‘localhost:9201/blog_test?pretty‘
curl -XPUT ‘localhost:9201/blog?pretty‘
删除索引
curl -XDELETE ‘localhost:9200/blog_test?pretty‘
新增一条记录,并指定为article类型,ID为1

curl -XPUT -H "Content-Type: application/json" ‘localhost:9201/blog/article/1?pretty‘ -d ‘
{
"title": "小D课堂啦啦啦",
"content":"xdclass.net 小D课堂成立于2016年的,专注互联网在线教育,课程范围包括前端,后端,大数据,人工智能,×××开发等"
}‘

curl -XPUT -H "Content-Type: application/json" ‘localhost:9201/blog/article/2?pretty‘ -d ‘
{
"title": "test",
"content":"testsfsdfdsfdsf",
"PV":10
}‘

curl -XPUT -H "Content-Type: application/json" ‘localhost:9201/blog/article/3?pretty‘ -d ‘
{
"title": "test",
"content":"testsfsdfdsfdsf",
"PV":23
}‘
空间不够新增失败处理 curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_all/_settings -d ‘{"index.blocks.read_only_allow_delete": null}‘

{
"error" : {
"root_cause" : [
{
"type" : "cluster_block_exception",
"reason" : "blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];"
}
],
"type" : "cluster_block_exception",
"reason" : "blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];"
},
"status" : 403
}
ID查询记录
curl -XGET ‘localhost:9200/blog/article/1‘
curl -XGET ‘localhost:9200/blog/article/1?pretty‘(美化推荐)
搜索
curl -XGET ‘http://localhost:9201/blog/article/_search?q=title:小A‘

10、search搜索语句入门之结构化查询语句DSL
简介:讲解结构化查询语句DSL的使用,bool,filter查询等

新增数据集

curl -XPUT -H "Content-Type: application/json" ‘localhost:9201/blog/article/7?pretty‘ -d ‘
{
"title": "elk搭建日志采集系统",
"content":"elk elasticsearch logstash kibana",
"PV":18
}‘

什么是query DSL
1、Domain Specific Language 领域特定语言
2、Elasticsearch提供了完整的查询DSL,基于JSON定义查询
3、用于构造复杂的查询语句
curl查询(空格处理不当,会出问题)

curl -XPOST -H "Content-Type: application/json" ‘http://localhost:9201/blog/article/_search‘ -d ‘{
"query" : {
"term" : { "title" : "elk" }
}
}‘
建议使用postman工具
post方式提交,增加http头信息
body里面选row格式,粘贴对应的dsl即可

bool查询入门
{
"query": {
"bool": {
"must": [
{ "match": { "title": "elk" } }
],
"must_not": [
{ "match": { "title": "小D" } }
]
}
}
}
filter查询入门(filtered语法已经在5.0版本后移除了,在2.0时候标记过期,改用filter )
参考地址:https://www.elastic.co/guide/en/elasticsearch/reference/5.0/query-dsl-filtered-query.html
{
"query": {
"bool": {
"filter": {
"range": {
"PV": {
"gt": 15
}
}
},
"must": {
"match": {
"title": "ELK"
}
}
}
}
}
总结:(官网参考 https://www.elastic.co/guide/en/elasticsearch/reference/current/query-filter-context.html)
1、大部分filter的速度快于query的速度
2、filter不会计算相关度得分,且结果会有缓存,效率高
3、全文搜索、评分排序,使用query
4、是非过滤,精确匹配,使用filter

章节三 Logstash零基础入门到采集日志实战

11、Logstash基本介绍和使用场景
简介:讲解什么是logstash,里面的基本工作流程input,filter,output等说明

什么是logstash (文档地址 https://www.elastic.co/guide/en/logstash/current/index.html)
开源的日志收集引擎,具备实时传输的能力
读取不同的数据源,并进行过滤,开发者自定义规范输出到目的地
日志来源多(如系统日志,应用日志,服务器日志等)
流程讲解
logstash通过管道pipeline进行传输,必选的两个组件是输入input和输出output,还有个可选过滤器filter
logstash将数据流中等每一条数据称之为一个event,即读取每一行数据的行为叫做事件
#输入
input {
...
}
# 过滤器
filter {
...
}
# 输出
output {
...
}

12、Logstash插件介绍
简介:讲解input,filter和output的插件的基本使用

简单的配置 test.conf
#===================================
input {


从文件读取日志信息

file {
path => "/var/log/messages"
type => "system"
start_position => "beginning"
}
}

filter {

}

output {
#标准输出
elasticsearch {
hosts => ["localhost:9200"]
index => "logstash-test-%{type}-%{host}"
}
}

#===================================

input插件:https://www.elastic.co/guide/en/logstash/current/input-plugins.html
file,http,kafka,rabbitmq等
filter插件:https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
grok(号称将非标准化的日志数据转换成标准化并且可搜索数据最好的方式,常用于处理Niginx,sysLog等日志)
drop(跳过某些日志,不进入output)
geoip(获取地理信息)
output插件:https://www.elastic.co/guide/en/logstash/current/output-plugins.html
elasticSearch,cvs,email,file等

13、阿里云服务器部署Logstash 6.1.2
简介:阿里云Centos部署Logstash,目录文件,配置讲解,基本功能测试

下载安装包
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.2.tar.gz
解压:tar -zxvf logstash-6.2.2.tar.gz
快速启动(需要java8 jre,目前不支持java9)
./bin/logstash -e ‘input {stdin {}} output {stdout {}}‘
目录文件说明
https://www.elastic.co/guide/en/logstash/6.2/dir-layout.html
配置讲解
https://www.elastic.co/guide/en/logstash/6.2/logstash-settings-file.html
logstash.yml 修改 pipeline.workers,根据CPU核数增加1到2即可
jvm.options 修改 xms和xmx为相同,一般是系统内存三份之二

14、Logstash采集输送日志input filter output流程测试
简介:讲解Logstash采集日志和输送日志流程测试,包括input,filter和output元素的测试
bin/logstash -f test1.conf

./logstash -f ../config/test1.conf
codec的使用( Coder/decoder 两个单词首字母缩写)
Codec: 解码编码 数据格式
好处 更方便logstash与支持自定义数据格式的运维产品进行使用
logstash更细化的处理流程
input->decode->filter->encode->output
配置一 test1.conf

========================================
input {


从文件读取日志信息 输送到控制台

file {
path => "/Users/jack/Desktop/person/elk/elasticsearch-6.1.1/logs/elasticsearch.log"
#codec => "json" ## 以JSON格式读取日志
type => "elasticsearch"
start_position => "beginning"
}
}
# filter {
#
# }
output {
# 标准输出
# stdout {}
# 输出进行格式化,采用Ruby库来解析日志
stdout { codec => rubydebug }
}

========================================

filter使用
例子
切割插件mutate,随意输入一串以|分割的字符,比如 "123|000|ttter|sdfds*=123|dfwe
配置二 test2_filter.conf

========================================
input {
stdin {}
}

filter {
mutate {
split => ["message", "|"]
}
}
output {
# 标准输出
# stdout {}
# 输出进行格式化,采用Ruby库来解析日志
stdout { codec => rubydebug }
}

========================================

15、logstash案例实战之读取日志输出到elasticsearch
简介:从日志文件中读取日志,输出到elasticsearch集群中

logstash配置文件
配置三 test3_es.conf
========================================
input {
file {
path => "/Users/jack/Desktop/person/elk/elasticsearch-6.1.1/logs/elasticsearch.log"
type => "elasticsearch"
start_position => "beginning" #从文件开始处读写
}
}
output{
elasticsearch{
hosts=>["127.0.0.1:9201"]
index => "es-message-%{+YYYY.MM.dd}"
}
stdout{codec => rubydebug}
}
========================================
验证
查看索引列表 http://localhost:9201/_cat/indices?v
查看数据 http://localhost:9201/es-message-2018.02.26/_search

章节四 Kibana 6.2版本基础入门到实战

16、阿里云cenos服务器部署kibana6.2.2
简介:快速部署kibana,并配置外网可以访问

阿里云下载安装kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.2-linux-x86_64.tar.gz
解压 tar -zxvf kibana-6.2.2-linux-x86_64.tar.gz
访问地址
本机:localhost:5601
阿里云机器:http://120.79.160.143:5601
阿里云外网访问
开放端口,修改配置文件 confing目录下的kibana.yml
server.host: "0.0.0.0"
守护进程后台启动
nohup XXX &

17、kibana基本介绍、和elasticSearch版本兼容问题
简介:讲解什么是kibana,目录文件讲解,配置等
官网文档地址:https://www.elastic.co/guide/en/kibana/current/setup.html
ELK
注意事项
1、kibana和elsticserch版本不能差别大,否则无法正常使用 比如 Kibana 6.x 和 Elasticsearch 2.x不能正常使用

2、运行比Kibana更高版本的Elasticsearch通常可以工作 例如Kibana 5.0和Elasticsearch 5.1
3、小版本差异会有一些警告出现,除非两者升级到相同的版本
windows下安装启动文档
https://www.elastic.co/guide/en/kibana/current/windows.html
kibana.yml常见配置项
elasticsearch.pingTimeout 日常用的ping
elasticsearch.requestTimeout 读取es的超时时间
elasticsearch.url es主机地址
elasticsearch.username es鉴权的用户名
elasticsearch.password es鉴权的密码

18、kibana面板讲解和功能使用说明
简介:讲解kibana的web界面,各个模块划分,功能的基本使用

kibana状态及服务器资源使用率
http://120.79.160.143:5601/status
基础操作文档:https://www.elastic.co/guide/en/kibana/current/getting-started.html
1、创建索引表达式
使用*统配符,去匹配ES中的一个或多个索引(如果没有匹配,无法点击下一步)
2、discover面板发现数据
可以指定时间进行查询
可以使显示的字段
查询索引的数据,可以使用lucence语法进行查询

章节五 项目实战系列之阿里云服务器部署ELK,采集业务日志和分析

19、项目实战系列之《采集业务应用日志》配置
简介:选择日志源,配置logstash采集并输送到elasticSeach

常见问题解决
1、JVM内存溢出导致的 ES或者Logstash服务启不来,报错 insufficient memory
解决:升级机器的内存和CPU;
或者改elasticSeach和logstash的JVM.option,最大堆内存xmx和初始堆内存xms
2、ES启动报错
seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed
修改elasticsearch.yml 添加一下内容
bootstrap.memory_lock: false 为了避免内存和磁盘之间的swap
bootstrap.system_call_filter: false
3、ERROR: bootstrap checks failed
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least
临时设置:sudo sysctl -w vm.max_map_count=262144
永久修改:
修改/etc/sysctl.conf 文件,添加 “vm.max_map_count”设置
并执行:sysctl -p

20、项目实战系列一之《采集业务应用日志》应用
简介:通过kibana的web管理界面,建立简单的日志分析功能

21、项目实战系列之Kibana图形、报表分析
简介:讲解业务应用日志在Kibana上的可视化分析,柱状图,饼状图等

官方文档地址:
https://www.elastic.co/guide/en/kibana/current/tutorial-load-dataset.html
下载数据集
wget https://download.elastic.co/demos/kibana/gettingstarted/accounts.zip
解压 unzip accounts.zip
导入数据到es中
curl -H ‘Content-Type: application/x-ndjson‘ -XPOST ‘localhost:9200/bank/account/_bulk?pretty‘ --data-binary @accounts.json
示例地址
https://www.elastic.co/guide/en/kibana/current/tutorial-visualizing.html

更多学习资料可参考:https://xdclass.net/html/course_catalogue.html?video_id=2
http://edu.51cto.com/course/13198.html?source=so


推荐阅读
  • ElasticSerach初探第一篇认识ES+环境搭建+简单MySQL数据同步+SpringBoot整合ES
    一、认识ElasticSearch是一个基于Lucene的开源搜索引擎,通过简单的RESTfulAPI来隐藏Lucene的复杂性。全文搜索,分析系统&# ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • Elasticsearch1Elasticsearch入门1.1Elasticsearch术语1.1.16.0以前的Elasticsearch术语1.1.26.0以后的Elasti ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • springboot启动不了_Spring Boot + MyBatis 多模块搭建教程
    作者:枫本非凡来源:www.cnblogs.comorzlinp9717399.html一、前言1、创建父工程最近公司项目准备开始重构,框 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  •   接着上篇http:cxshun.iteye.comblog1039445,我们讲了怎么初始化配置solr,并运行。问题来了,当我们配置完成后,索引当中并没有任何东西,就是说我们查询得到的 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Flume 开源分布式日志收集系统
    为什么80%的码农都做不了架构师?Flume--开源分布式日志收集系统Flume是Cloudera提供的一个高可用的、高可靠的开源分布式海量日志收集系统 ... [详细]
  • javajigsaw2015年12月1日,星期二,在OpenJDK邮件列表中,MarkReinhold确认了许多人的期望:J ... [详细]
  • CDH5 Solr性能调优
    2019独角兽企业重金招聘Python工程师标准Solr性能调优Solr性能调优是个复杂的过程,本文旨在描述Solr在使用过程中对性能优化的注意事项。在安装完成 ... [详细]
author-avatar
开心就好一切美好
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有