0、相关的资源保存了在百度云上:
链接:https://pan.baidu.com/s/1Dbi0PFvcmqPYgtOysSCqiA
提取码:05wp
1、安装jdk:
将jdk上传到/usr/local/java目录下(没有就创建一个)
vim /etc/profile
放到文件最后:
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
重新加载配置文件,输入:source /etc/profile
2、安装es:
1、安装jdk8
2、将elasticsearch6.2.4压缩包上传到/usr/local/elasticsearch上 没有就创建一个
3、解压tar -zvxf elasticsearch-6.2.4.tar.gz
4、创一个es的专属用户 不能用root用户来启动(安全原因)
5、groupadd eszu es的用户组
6、useradd esyonghu -g eszu -p 123456 创建es的用户
7、返回/usr/local/elasticsearch目录 chown -R esyonghu:eszu elasticsearch-6.2.4 更改elasticsearch的所属组和用户
8、su esyonghu 将root用户更换为esyonghu
9、进入es目录下bin目录./elasticsearch
10、出现started即为启动成功
出现killed 可能为内存不足 进入config 目录下修改配置文件 jvm.options
-Xms150m
-Xmx150m
systemctl stop firewalld.service 停止防火墙
systemctl status firewalld.service 查看防火墙状态
远程访问es :
1、进入es的config目录下vi elasticsearch.yml
2、修改network.host: 0.0.0.0 (注意将前面的#去掉)0.0.0.0表示允许所有ip访问
3、将http.port: 9200前面的#去掉(不去掉也行)
4、修改cluster.name: haijinweblog (集群名字自定义)
2022-07-14
start:
5、修改配置vi elasticsearch.yml
node.name: node-1
end
5、重启es
4、如出现
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max number of threads [3891] for user [esyonghu] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65536] is too low, increase to at least [262144]
su root 切换为root用户
vi /etc/security/limits.conf 在文件里添加
esyonghu soft nofile 65536
esyonghu hard nofile 65536
esyonghu soft nproc 4096
esyonghu hard nproc 4096
vi /etc/security/limits.d/20-nproc.conf 修改为 esyonghu soft nproc 4096
vi /etc/sysctl.conf 在文件里添加vm.max_map_count=655360
sysctl -p 使文件生效
6、再次重启es
若重启后还有错误,请重启centos7系统
Elasticsearch在linux下使用命令sh elasticsearch start,按键ctrl+c的时候程序就会stop掉,如何将程序在后台启动呢?
需要使用:./elasticsearch -d:
这时执行的时候会出现没有权限./elasticsearch: Permission denied
需要授权执行命令:chmod +x bin/elasticsearch
再次执行./elasticsearch -d即可启动
使用ps aux|grep elasticsearch可以查看是否启动
停止es
jps 查看端口
kill -9 端口 杀死进程
3、安装ik中文分词器
下载地址https://github.com/medcl/elasticsearch-analysis-ik
1、将elasticsearch-analysis-ik-master.zip上传到/usr/local/es-ik (没有创建)
2、unzip elasticsearch-analysis-ik-master.zip 解压缩
3、进入目录mvn clean install -Dmaven.test.skip=true 编译 (需先安装maven3.5.3)
4、将target目录下的elasticsearch-analysis-ik-6.2.4.zip复制到es目录的plugins/ik目录下 (没有ik创建) 创建较慢可直接上传
yum install -y unzip zip
5、unzip elasticsearch-analysis-ik-6.2.4.zip 解压
6、mv ./elasticsearch/* ./ 将解压后elasticsearch目录下的所有文件移动到ik文件夹中
7、rm -rf elasticsearch rm -rf elasticsearch-analysis-ik-6.2.4.zip 删除压缩的文件
8、./elasticsearch 在bin目录下重新启动es
4、安装kibana:
1、将kibana压缩包上传到/usr/local/kibana里 (没有就创建一个)
2、tar -xzvf kibana-6.2.4-linux-x86_64.tar.gz 解压缩
3、进入kibana目录cd config
4、vi kibana.yml 修改server.host: "192.168.42.159" ,elasticsearch.url: "http://192.168.42.159:9200" 修改为es所在的地址 注意去掉前面的#
2022-07-14 start:
i18n.locale: "zh-CN" 将kibana设置为中文
设置kibana的权限不然启动不了 chown -R esyonghu:eszu kibana-7.7.0-linux-x86_64
end
5、systemctl start firewalld.service 开启防火墙
6、firewall-cmd --permanent --zone=public --add-port=5601/tcp 开启5601端口
7、firewall-cmd --reload重启防火墙
8、systemctl stop firewalld.service 关闭防火墙
9、启动es 注意su esyonghu
10、切换root启动kibana
ps -ef|grep kibana
ps -ef|grep 5601
都找不到
尝试 使用 fuser -n tcp 5601
没有命令时:yum install psmisc
kill -9 端口
ps -ef | grep node
后台:
nohup ../bin/kibana &
error [07:19:08.512] [fatal] Error: listen EADDRNOTAVAIL 192.168.1.100:5601
at Object.exports._errnoException (util.js:1020:11)
at exports._exceptionWithHostPort (util.js:1043:20)
at Server._listen2 (net.js:1249:19)
at listen (net.js:1298:10)
at net.js:1408:9
at _combinedTickCallback (internal/process/next_tick.js:83:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
FATAL { Error: listen EADDRNOTAVAIL 192.168.1.100:5601
at Object.exports._errnoException (util.js:1020:11)
at exports._exceptionWithHostPort (util.js:1043:20)
at Server._listen2 (net.js:1249:19)
at listen (net.js:1298:10)
at net.js:1408:9
at _combinedTickCallback (internal/process/next_tick.js:83:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
cause:
{ Error: listen EADDRNOTAVAIL 192.168.1.100:5601
at Object.exports._errnoException (util.js:1020:11)
at exports._exceptionWithHostPort (util.js:1043:20)
at Server._listen2 (net.js:1249:19)
解决:
问题在于这是一个云主机,先前 kibana.yml 里设置的 server.host 是外网的ip,后来改成内网的ip,或者0.0.0.0,就能正常运行。
改成内网ip就外网访问不了,改成0.0.0.0外网就可以访问了
5、安装maven:
1、进入cd /usr/local/maven (没有就创建)
2、wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz 或上传到该目录
3、tar -zxvf apache-maven-3.5.3-bin.tar.gz 解压
4、vi /etc/profile 在文末添加文件内容
export M2_HOME=/usr/local/maven/apache-maven-3.5.3
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
5、保存退出后运行下面的命令使配置生效,或者重启服务器生效。
source /etc/profile
6、验证版本
mvn -v
出现maven版本即成功
6、安装head:
1、cd /usr/local
2、git clone git://github.com/mobz/elasticsearch-head.git 将head从github上复制下来 (若失败请安装git)yum install -y git
4、将node-v8.9.3上传到usr/local下 解压tar -xJf node-v8.9.3-linux-x64.tar.xz
5、vi /etc/profile 将以下内容粘贴到最后
export NODE_HOME=/usr/local/node-v8.9.3-linux-x64
export PATH=$NODE_HOME/bin:$PATH
6、保存再执行 source /etc/profile
7、npm install -g grunt-cli 安装grunt
8、cd elasticsearch-head/
9、npm install -g cnpm --registry=https://registry.npm.taobao.org
9、cnpm install
11、vi Gruntfile.js
在connect-->server-->options下面添加:hostname: '*' 允许所有ip可以访问
12、进入_site目录下cd _site vi app.js
将this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";中的localhost修改成你es的服务器地址
13、设置跨域访问
进入elasticsearch config目录下 vi elasticsearch.yml
在文件末增加
http.cors.enabled: true
http.cors.allow-origin: "*"
若已将防火墙关闭14和15不用做
14、打开9100端口
firewall-cmd --zone=public --add-port=9100/tcp --permanent
15、重启防火墙
firewall-cmd --reload
16、使用es账户启动es
17、进入head目录下的node_modules
18、cd grunt
19、cd bin
20、 ./grunt server 启动head插件
2022-07-15 start:
7、安装logstash:
1、将logstash压缩包上传到/usr/local/logstash上 没有就创建一个
2、解压:tar -zxvf logstash-7.7.0.tar.gz
3、进入logstash-7.7.0目录中的config中
4、 vi jvm.options 修改内存大小:
-Xms150m
-Xmx150m
5、vi logstash.yml 修改如下配置:
node.name: node-1
network.host: 0.0.0.0
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]
http.host: "0.0.0.0"
http.port: 9600
6、 vi logstash-sample.conf 修改如下配置:
input {
tcp {
host => "192.168.19.138"
port => 5044
}
}
output {
elasticsearch {
hosts => ["http://192.168.19.138:9200"]
index => "weblog-%{+YYYY.MM.dd}"
#user => "elastic"
#password => "changeme"
}
}
7、启动,进入到logstash中的bin目录下
后台启动:
nohup ./logstash -f ../config/logstash-sample.conf > /dev/null 2>&1 &
调试启动:
./logstash -f ../config/logstash-sample.conf
8、springboot上配置logstash,
引入pom:
<!--logStash-->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>7.0.1</version>
</dependency>
logback配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<!--配置logStash 服务地址-->
<destination>192.168.19.138:5044</destination>
<!-- 日志输出编码 -->
<encoder charset="UTF-8"
class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<timestamp>
<timeZone>UTC</timeZone>
</timestamp>
<pattern>
<pattern>
{
"logLevel": "%level",
"serviceName": "${springAppName:-}",
"pid": "${PID:-}",
"thread": "%thread",
"class": "%logger{40}",
"rest": "%message"
}
</pattern>
</pattern>
</providers>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="LOGSTASH" />
</root>
</configuration>
9、在kibana上查看日志:
如图:
8、设置es密码等等
参考文章:ElasticSearch 7配置密码认证及创建用户ES设置用户名和密码
end
2024-11-21 start
设置密码
首先启动es,
然后在bin目录下:
./elasticsearch-certutil ca
然后按回车
设置完毕后,会在/usr/local/elasticsearch-7.6.2下看到新生成的文件:
elastic-stack-ca.p12
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
三项都按回车
设置完毕后,会在/usr/local/elasticsearch-7.6.2下看到新生成的文件:
elastic-certificates.p12
然后将这个文件放到config目录下的certs(没有就创建)
修改vi /config/elasticsearch.yml (es目录下的)
添加:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
然后再重启es
然后再es的bin目录下:
./elasticsearch-setup-passwords interactive
然后输入每一项的密码
设置完毕后,kibana也要再配置文件中设置
vi config/kibana.yml
elasticsearch.username: "kibana"
elasticsearch.password: "密码"
es的验证地址:ip:9200
kibana的验证地址:ip:5601
end