一文搞定Centos7.x安装ELK的7.6.2版本以及Cerebro集群监控
PS:已安装JDK,至少jdk8.x,最好jdk11。jdk8.x也可以,只是官方不建议哈。
一、Centos7安装Elasticsearch7.6.2
自己新建个账号,不能用root启动,ES不允许用root用户!
自己新建个账号,不能用root启动,ES不允许用root用户!
自己新建个账号,不能用root启动,ES不允许用root用户!
1、下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz
2、安装
tar -xvf elasticsearch-7.6.2-linux-x86_64.tar.gz
3、进行配置
下面全部配置一定都要做!否则会报错的,具体报错信息不贴出来了,按照步骤做即可!
下面全部配置一定都要做!否则会报错的,具体报错信息不贴出来了,按照步骤做即可!
下面全部配置一定都要做!否则会报错的,具体报错信息不贴出来了,按照步骤做即可!
3.1、修改elasticsearch.yml
vi config/elasticsearch.yml
# node节点名称,我这里叫node-1
node.name: node-1
# 配置成0.0.0.0代表可外网访问。
network.host: 0.0.0.0
# http访问端口
http.port: 9200
# 如下两个配置是数据文件位置和日志文件位置
# 个人建议别放到es目录下,因为会增大es目录体积不说,如果es目录丢失了的话,那数据和日志都丢了。
path.data: xxx
path.logs: xxx
# 哪些节点可以作为备选master节点,就是master挂了的话,这里面的节点可以有升级为M的资格。
# 自己业余玩的话可以默认不配就行
# discovery.seed_hosts: ["127.0.0.1", "[::1]"]
# 哪些节点在启动的时候就有资格成为Master,我们这里是单机,就一个node-1,所以配node-1就行
# 比如配置node-1和node-2,意味着启动的时候将从这两个节点之间选择一个成为Master
cluster.initial_master_nodes: ["node-1"]
3.2、修改jvm参数
ES7.x后默认jvm堆大小是1GB,这个根据自己内存情况来选择是否修改。
vim config/jvm.options
-Xms512m
-Xmx512m
ES官方blog配置建议:
-
Xmx和Xms设置成一样的。 -
不要超过机器内存的50% -
不要超过30GB
3.3、修改sysctl.conf
root用户修改,全局生效。
vim /etc/sysctl.conf
# 在最后添加如下
vm.max_map_count = 655360
3.4、修改limits.conf
vim /etc/security/limits.conf
# 在最后添加如下,其中chentongwei是我ES的启动用户
chentongwei soft nofile 65536
chentongwei hard nofile 65536
chentongwei soft nproc 4096
chentongwei hard nproc 4096
3.5、reboot
是的,没错,为了100%能成功,上面配置都修改完成后,reboot,让配置生效!
3.6、启动ES
cd elasticsearch-7.6.2/
# -d 代表后台启动
./bin/elasticsearch -d
3.7、验证ES
输入http://ip:9200/
,如出现下面信息,则代表成功:
3.8、如外网无法访问
-
请检查你的防火墙(要么关闭,要么端口开放出去) -
请检查你的安全组(如果是云服务器的话,请看安全组入口规则) -
前两步确认没问题的话,请配置如下:(正常情况ES7.x不需要配置就可以)
vi config/elasticsearch.yml
# 开启跨域访问支持,默认为false
http.cors.enabled: true
# 跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: "*"
二、Centos7安装Kibana7.6.2
1、下载
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.6.2-linux-x86_64.tar.gz
2、安装
tar -xvf kibana-7.6.2-linux-x86_64.tar.gz
3、配置
cd kibana-7.6.2-linux-x86_64
vi config/kibana.yml
修改如下内容
# 默认值5601,没有需要可以不修改
server.port: 5601
# 允许远程访问
server.host: "0.0.0.0"
# 默认值http://localhost:9200
elasticsearch.url: "http://192.168.1.10:9200"
4、启动
./bin/kibana
# 后台启动
# nohup ./bin/kibana &
5、验证
输入网址http://ip:5601/
,能正常打开即代表成功。
三、Centos7安装Logstash7.6.2且导入MovieLens数据集
1、下载Logstash7.6.2
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.6.2.tar.gz
2、解压Logstash7.6.2
tar -zxf logstash-7.6.2.tar.gz
3、下载 MovieLens 测试数据集
cd logstash-7.6.2/
wget http://files.grouplens.org/datasets/movielens/ml-latest-small.zip
4、解压测试数据集
yum install unzip
unzip ml-latest-small.zip
5、创建 logstash.conf 文件,添加如下内容(Ruby 语法)
touch config/logstash.conf
vi config/logstash.conf
input {
file {
path => "/home/chentongwei/devtools/logstash-7.6.2/ml-latest-small/movies.csv"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
csv {
separator => ","
columns => ["id","content","genre"]
}
mutate {
split => { "genre" => "|" }
remove_field => ["path", "host","@timestamp","message"]
}
mutate {
split => ["content", "("]
add_field => { "title" => "%{[content][0]}"}
add_field => { "year" => "%{[content][2]}"}
}
mutate {
convert => {
"year" => "integer"
}
strip => ["title"]
remove_field => ["path", "host","@timestamp","message","content"]
}
}
output {
elasticsearch {
hosts => "http://172.17.160.29:9200"
index => "movies"
document_id => "%{id}"
}
stdout {}
}
6、导入数据
导入后不会自动退出,需要用 Ctrl-C 手动退出
./bin/logstash -f ./config/logstash.conf
回车后没反应的话,等几秒钟,因为量太大,需要导入的时间。
7、验证数据是否导入成功
http://ip:9200/_cat/indices
,可以看到movies的索引已经存在了,且doc数是9743,大功告成!
四、Centos7安装Cerebro0.9.4
1、下载
wget 'https://github.com/lmenezes/cerebro/releases/download/v0.9.4/cerebro-0.9.4.zip'
2、安装
直接解压即可tar -xvf cerebro-0.9.4.tgz
3、启动
cd cerebro-0.9.4/
./bin/cerebro
# 后台启动
# nohup ./bin/cerebro &
4、验证
Java码农社区
Java码农社区专注Java技术分享,会不定期更新各种Java相关的干货。
Official Account