linux安装(elasticsearch)和kibana
**
1、在linux上配置ES
**
1、配置jdk
2、解压es的压缩包
tar -zxvf es....
3、增大linux上部署软件的内存和硬盘
以下的配置一定要使用root用户(root的权限是最大的),否则没有权限或者配置不生效
vi /etc/security/limits.conf
3.1、配置了某个用户/某些用户对软件的内存和硬盘使用权限(注意:*后面有空格)
* soft nproc 655350
* soft nofile 655350
* hard nproc 655350
* hard nofile 655350
3.2、配置用户最大的线程数
vi /etc/secrity/limits.d/90-nproc.conf
需要把1024—>4096
4、修改elasticSeach.yml配置文件即可
# 修改集群名字(名字随便起,没有什么意义)
cluster.name: my-cluster
# 如果是单节点(名字随便起,如果是集群则不能重复)
node.name: node-1
# ES所存放数据的位置(默认data目录不存在,需要自己手动创建)
path.data: /home/apps/elasticsearch-6.4.0/data
# ES的日志存放目录(默认已经存在,直接使用即可,不需要创建)
path.logs: /home/apps/elasticsearch-6.4.0/logs
# 放开ES的内存锁,让ES直接拥有最大内存使用权
bootstrap.memory_lock: false
# centos6中没有CONFIG_SECCOMP_FILTER,但是centos7中有,如果linux系统为centos6则需要关闭过滤
bootstrap.system_call_filter: false
#若使用的是centos6需要添加下面这句话,centos7不用,因为最终CONFIG_SECCOMP系统在centos7中默认会被加载
bootstrap.system_call_filter: false**
# ES的主机地址(一旦配置的是0,就是代表所有的电脑都可以连接(对连接不再造成任何限制))
network.host: 192.168.23.136(0.0.0.0)
# ES的默认端口号(./elasticsearch -d(启动的是ES的控制台))
http.port: 9200
# 识别其他的集群host(如果为单节点只需要写一个)
discovery.zen.ping.unicast.hosts: ["192.168.23.136","",""]
5、需要配置sysctl.conf文件,加大系统默认的总线程数
vi /etc/sysctl.conf
在sysctl.conf文件添加
vm.max_map_count = 262144
6、使修改永久生效
sysctl -p
7、启动ES
ES为了自我保护,不让使用root用户启动,因为root用户权限过大,容易修改ES自己配置
建新的用户并且授权
useradd esuser
passwd esuser ---> 123456
授权:
chown -R esuser /home/apps/elasticsearch
7.1、切换用户
su esuser
7.2、进入bin目录
./elasticsearch -d 后台启动
8、检测是否启动成功
使用浏览器访问ip:端口号
{
“name” : “node-1”,
“cluster_name” : “my-cluster”,
“cluster_uuid” : “UmoHkEZzReGQMrrLShhDIQ”,
“version” : {
“number” : “6.4.0”,
“build_flavor” : “default”,
“build_type” : “tar”,
“build_hash” : “595516e”,
“build_date” : “2018-08-17T23:18:47.308994Z”,
“build_snapshot” : false,
“lucene_version” : “7.4.0”,
“minimum_wire_compatibility_version” : “5.6.0”,
“minimum_index_compatibility_version” : “5.0.0”
},
“tagline” : “You Know, for Search”
}
配置ES所遇到的问题:
1.用root用户启动时 ES为了自我保护,不让使用root用户启动,因为root用户权限过大,容易修改ES自己配置
创建新的用户并且授权
useradd esuser
passwd esuser —> 123456
授权:
chown -R esuser /home/apps/elasticsearch
2.因为ES需要消耗非常大的线程数量和内存以及硬盘存储空间
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[1]:当前启动用户无法对linux系统调动很多的硬盘以及内存存储空间,所以需要自行修改!
vi /etc/security/limits.conf
[2]: max number of threads [1024] for user [esuser] is too low, increase to at least [4096]
[2]:当前启动的用户太low了,无法调动很多的线程(默认只能调动1024)
vi /etc/secrity/limits.d/90-nproc.conf
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[3]:需要配置vi /etc/sysctl.conf文件,加大系统默认的总线程数
3.使用创建出新用户启动没有问题,但是当使用root用户启动一次后,再使用新创建的用户启动就有问题
新创建的用户无法使用root用户所创建出的文件
无论是使用哪一个用户启动都会在config文件夹中创建elasticsearch.keystore文件,root用户权限太大,创建的文件其他用户无法使用,所以会报错!
4.java.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed
因为最终CONFIG_SECCOMP系统在centos7中默认会被加载,但是在centos6中没有
需要更换centos的版本
6---->7
修改es的配置文件
在yml配置文件中添加一行数据
bootstrap.system_call_filter: false
2、安装kibana
1、解压kibana
tar zxvf xxxxxx
2、进入kibana文件夹的config目录,修改kibana.yml文件
vim kibana.yml
2.、放开注释
server.port: 5601
server.host: “192.168.174.139” --》这里是虚拟机的ip地址
elasticsearch.url: “http://192.168.174.139:9200” —》elasticsearch的ip和端口号
kibana.index: “.kibana”
3、启动kibana,在bin目录
./kibana
注意:elasticsearch用创建的用户后台启动,然后切换root用户启动kibana
4、在浏览器输入192.168.174.139:5601 ip加端口号
推荐阅读