elasticSearch5.x单实例和集群安装

来源:互联网 发布:php垃圾回收机制 编辑:程序博客网 时间:2024/05/16 11:15

单实例安装

下载地址:https://www.elastic.co/downloads/elasticsearch

    1.解压    2. ./bin/elasticsearch 

可能会出现的问题:

1.max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

这个问题是无法创建本地文件,用户最大可创建文件数太小解决:只需要修改创建文件的最大数目为65536就行了vim /etc/security/limits.conf     root soft nofile 65536    root hard nofile 65536    * soft nofile 65536    * hard nofile 65536保存、退出、重新登录才可生效soft nproc:可打开的文件描述符的最大数(软限制)hard nproc:可打开的文件描述符的最大数(硬限制)soft nofile:单个用户可用的最大进程数量(软限制)hard nofile:单个用户可用的最大进程数量(硬限制)

2.max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

虚拟内存太小sudo vim /etc/sysctl.conf     vm.max_map_count=262144执行命令:sudo sysctl -p

3.Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error=’Cannot allocate memory’ (errno=12)

 jvm需要分配的内存太大 vim config/jvm.options -Xms2g-Xmx2g该为:-Xms100m-Xmx100m

4.max number of threads [1024] for user [es] likely too low, increase to at least [2048]

原因:无法创建本地线程问题,用户最大可创建线程数太小 解决方案:切换到root用户,进入limits.d目录下,修改90-nproc.conf 配置文件成功启动:    vi /etc/security/limits.d/90-nproc.conf找到如下内容:* soft nproc 1024修改为* soft nproc 2048

配置文件解析:

Ø Cluster    cluster.name    集群名称,如果有多个集群,那么每个集群名就得是唯一的。Ø Node    1.node.data    集群中的节点名称,比如前面说的828384三台机子每台都有一个名称,你也可以不设这个名称,默认的集群启动时会自己给每个节点初始化一个名称,但强烈建议这里还是由自己设置比较好。    2.node.master    该节点是否是master,true表示是的,false表示否,默认是true.    3.node.data    该节点是否存储数据,默认true表示是的。    说明:对于上面两个节点,如果你希望该节点只是一个master,但不存储数据,则应当设置为:    node.master: true    node.data: false    如果你希望该节点只存储数据,但不是一个master,则应该设置:    node.master: false    node.data: true    如果你既不希望该节点为一个master,也不想它存储数据,则应该设置为:    node.master: false    node.data: false    这种情况一般是你希望该节点仅仅是作为一个搜索负载均衡器,比如从各节点得到数据,聚合结果等。Ø Index    1. index.number_of_shards    设置一个索引被分成的分片数,默认是5    2.index.number_of_replicas    设置一个索引有几个拷贝,默认为1。拷贝指的是其它节点对该节点的拷贝,比如在84上创建了一个索引,那么这个拷贝会存在于8283上,这是一个分布式的属性。    拷贝越多,则搜索性能越佳,而分片越多则索引创建性能越好。Ø Paths    1.path.conf    配置文件目录,默认为es根目录下的config目录。    2.path.data    索引存储路径,默认为es根目录下的data目录,可以有多个存储路径,各存储路径用逗号隔开,如:path.data: /path/to/data1,/path/to/data2    3.path.work    临时文件存放目录,默认为es根目录下的work目录    4.path.logs    日志文件存放目录,默认为es根目录下的logs目录。    5.path.plugins    插件的安装目录,默认为es根目录下的plugins目录。Ø Network And HTTP    1.network.bind_host    Es节点绑定的地址,为一个ip地址(IPv4或IPv6)    2.network.publish_host    Es发布的地址,其它节点通过这个地址与其进行通信    3.network.host    该节点网络地址,也是一个ip地址,如果设置了该属性,则network.bind_host与network.publish_host都不用再设置了,比如我这里三台机子设置的值分别为:    118.200.108.82118.200.108.83118.200.108.844.transport.tcp.port    节点之间通信的端口,默认为9300,在我们应用程序中调用es的方法提交索引创建时也是使用的这个端口。    5.http.port    http访问端口,默认是9200,通过这个端口,调用方可以索引查询请求。    6.http.max_content_length    设置内容的最大容量,默认是100MB    7.http.enabled    是否禁止http访问,默认是false。Ø Discovery    1 discovery.zen.minimum_master_nodes    设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)。    2 discovery.zen.ping.timeout    设置集群中自动发现其它节点时ping连接超时时间,默认为3秒,对于比较差的网络环境可以高点的值来防止自动发现时出错    3 discovery.zen.ping.multicast.enabled    设置是否打开多播来发现来发现节点,默认是true    4 discovery.zen.ping.unicast.hosts

这里写图片描述

head插件安装:

elasticsearch-head是一个界面化的集群操作和管理工具,可以对集群进行傻瓜式操作。你可以通过插件把它集成到es(首选方式),也可以安装成一个独立webapp
https://github.com/mobz/elasticsearch-head

es-head主要有三个方面的操作:    1.显示集群的拓扑,并且能够执行索引和节点级别操作    2.搜索接口能够查询集群中原始json或表格格式的检索数据    3.能够快速访问并显示集群的状态    4.有一个输入窗口,允许任意调用RESTful API。这个接口包含几个选项,可以组合在一起以产生有趣的结果;         A.请求方法(getputpostdelete),查询json数据,节点和路径        B.支持JSON验证器        C.支持重复请求计时器        D.支持使用javascript表达式变换结果        F.收集结果的能力随着时间的推移(使用定时器),或比较的结果        E.能力图表转换后的结果在一个简单的条形图(包括时间序列)
    node.js安装:        https://nodejs.org/zh-cn/download/        export NODE_HOM=/home/hadoop/app/node-v8.9.3-linux-x64/        export PATH=$PATH:$NODE_HOME/bin        检验:        node -v        npm 包管理工具    安装head:        解压        cd 主目录        npm install //安装需要的包        npm run start //启动    es和head是两个进程,通信需要跨域    修改:es的配置文件:elasticsearch.yml    http.cors.enabled: true    http.cors.allow-origin: "*"    bin/elasticsearch -d 后台启动

访问esweb届界面: http://ip:9200/
访问headweb界面: http://ip:9100/

这里写图片描述

这里写图片描述

集群安装:

集群安装:    master:    vim config/elasticsearch.yml        #需要与head连接设置        http.cors.enabled: true        http.cors.allow-origin: "*"        #集群的名字,节点的名字,是否为master节点        cluster.name: ESCluster        node.name: master        node.master: true        #绑定的ip,master的所在的ip        network.host: 0.0.0.0        discovery.zen.ping.unicast.hosts: ["0.0.0.0"]    slave:        cluster.name: ESCluster        node.name: slave1        node.master: false        network.host: 0.0.0.0        discovery.zen.ping.unicast.hosts: ["node2"]

这里写图片描述

原创粉丝点击