elasticsearch安装和配置
elasticsearch安装和配置最简化版, 能保证run起来,后续配置优化,待熟悉自行添加,我了解更多会做更多说明和解释
一、环境准备
1.先申请机器或申请root权限,保证有安装权限
2.jdk版本为1.8及以上,1.7报错。下载jdk-1.8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
rpm安装:yum localinstall -y jdk-8u161-linux-x64.rpm
检查或确定jdk版本:java -version
3.确认glibc安装, yum install -y glibc
4.OS系统配置
切换 sudo root
[root@l-biz-elasticsearch1.mgt.prod.aws.dm elasticsearch]$ vim /etc/sysctl.conf
加入一行 vm.max_map_count = 655360
[root@l-biz-elasticsearch1.mgt.prod.aws.dm elasticsearch]$ sysctl -p 执行命令使得上述参数生效
[root@l-biz-elasticsearch1.mgt.prod.aws.dm elasticsearch]$ vim /etc/security/limits.conf
加入如下4行内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
二、安装步骤
1.下载
当前公司统一使用elasticsearch-5.2版本,从@张兵处拷贝
2.配置
elasticsearch配置
vim config/elasticsearch.yml
# ---------------------------------- Cluster -----------------------------------
# 集群名,自定义集群名,默认为elasticsearch,建议修改,因为低版本多播模式下同一网段下相同集群名会自动加入同一集群,如生产环境这样易造成数据运维紊乱
cluster.name: biz-es
# 节点名,同一集群下要求每个节点的节点名不一致,起到区分节点和辨认节点作用
node.name: biz-es04
# ----------------------------------- Paths ------------------------------------
# 数据目录,多个目录用冒号隔开
path.data: /data/es/elasticsearch/data
# 日志目录
path.logs: /data/es/elasticsearch/logs
# ----------------------------------- Memory -----------------------------------
# 内存锁,选项为true或false,用来确保用户在es-jvm中设置的ES_HEAP_SIZE参数内存可以使用一半以上而又不溢出
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
# ---------------------------------- Network -----------------------------------
# 对外暴露的host,0.0.0.0时暴露给外网
network.host: 10.1.5.209
对外访问的端口号,默认为9200,所以外界访问该节点一般为http://ip:9200/
http.port: 9200
# 集群间通信的端口号,默认为9300
transport.tcp.port: 9300
# --------------------------------- Discovery ----------------------------------
#集群的ip集合,可指定端口,默认为9300,如 ["192.168.1.101","192.168.1.102"]
discovery.zen.ping.unicast.hosts: ["10.1.5.209:9300", "10.1.5.211:9300", "10.1.5.212:9300"]
# 最少的主节点个数,为了防止脑裂,最好设置为(总结点数/2 + 1)个
discovery.zen.minimum_master_nodes: 2
action.destructive_requires_name: true
script.engine.groovy.inline.search: on
script.engine.groovy.inline.update: on
|
jvm配置
vim jvm.options
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space jvm heap为物理内存1/2
-Xms16g
-Xmx16g
## GC configuration G1
-XX:+UseG1GC
-XX:MaxGCPauseMillis=20
-XX:InitiatingHeapOccupancyPercent=35
-XX:+ExplicitGCInvokesConcurrent
......
|
3.启动运行
cd elasticsearch 进入此目录
elasticsearch默认情况使用非root用户启动,否则报错,另外可以通过配置启动参数,以root用户启动。
3.1 root用户启动
如果非要root启动,有如下2种方法:
报错信息如下
解决方法1
在执行elasticSearch时加上参数-Des.insecure.allow.root=true,完整命令如下
./bin/elasticsearch -Des.insecure.allow.root=true 启动,然后查看实时日志
解决方法2
vim bin/elasticsearch
在变量ES_JAVA_OPTS使用前添加以下命令
ES_JAVA_OPTS="-Des.insecure.allow.root=true"
[root@l-biz-elasticsearch1.mgt.prod.aws.dm elasticsearch]$ bin/elasticsearch & 控制台启动,然后查看实时日志
[root@l-biz-elasticsearch1.mgt.prod.aws.dm elasticsearch]$ bin/elasticsearch -d 后台进程启动
3.2 普通用户执行
创建用户组es,创建用户名为es
[root@l-biz-elasticsearch1.mgt.prod.aws.dm elasticsearch]$ groupadd es
用户组es有es用户
[root@l-biz-elasticsearch1.mgt.prod.aws.dm elasticsearch]$ useradd es -g es -p es
用户组es有es用户有es目录
[root@l-biz-elasticsearch1.mgt.prod.aws.dm elasticsearch]$ chown -R es:es es
[root@l-biz-elasticsearch1.mgt.prod.aws.dm elasticsearch]$ pwd
/data/es
切换es用户
[root@l-biz-elasticsearch1.mgt.prod.aws.dm elasticsearch]$ su es
[es@l-biz-elasticsearch1.mgt.prod.aws.dm elasticsearch]$ cd es/elasticsearch
[es@l-biz-elasticsearch1.mgt.prod.aws.dm elasticsearch]$ bin/elasticsearch & 控制台启动
[es@l-biz-elasticsearch1.mgt.prod.aws.dm elasticsearch]$ bin/elasticsearch -d 后台进程启动
启动,然后查看实时日志
4.验证安装是否成功
验证方式有2种选择
第一种方式
打开浏览器输入:http://ip:http.port 返回如下信息即表示安装成功
第二种方式
[es@l-biz-elasticsearch1.mgt.prod.aws.dm elasticsearch]$ curl http://10.0.38.110:9200/
{
"name" : "biz-es01",
"cluster_name" : "biz-es",
"cluster_uuid" : "_na_",
"version" : {
"number" : "5.2.0",
"build_hash" : "24e05b9",
"build_date" : "2017-01-24T19:52:35.800Z",
"build_snapshot" : false,
"lucene_version" : "6.4.0"
},
"tagline" : "You Know, for Search"
}
三、插件配置
安装es软件,插件安装不是必须的,因为插件可以配置多集群,以下cerebro为测试环境安装,线上环境由于安全性隔离需自行搭建
1.进入cerebro首页
2.输入连接信息
http://esnodeIP:http.port/ 点击connect 下图红线为连接信息
注意事项
办公网络环境不允许直接访问线上机器,需要申请一台pre机器部署web管理平台,最后申请办公环境访问pre机器权限,通过pre web管理平台操作es集群
线上故障