elasticsearch安装教程,集群搭建及jdbc同步 elasticsearch安装 elastic-head安装

来源:互联网 发布:淘宝推广拉人进群 编辑:程序博客网 时间:2024/06/05 17:33

elasticsearch安装教程,集群搭建及jdbc同步

elasticsearch安装

下载

安装之前,请确认已安装好最新版的JDK版本,下载linux安装包,我下载的是5.2.2版本

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz

解压 tar -zxvf elasticsearch-5.2.2.tar.gz

启动

elastaicsearch启动在bin目录下执行 sh elasticsearch
如果直接执行会出现如下错误

 root@vm-ubuntu-1:/data/app/elasticsearch-5.2.2/bin# sh elasticsearch[2017-03-20T15:21:08,485][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-5.2.2.jar:5.2.2]    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-5.2.2.jar:5.2.2]    at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.2.2.jar:5.2.2]    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.2.2.jar:5.2.2]    at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.2.2.jar:5.2.2]    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:89) ~[elasticsearch-5.2.2.jar:5.2.2]    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:82) ~[elasticsearch-5.2.2.jar:5.2.2]Caused by: java.lang.RuntimeException: can not run elasticsearch as root    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:105) ~[elasticsearch-5.2.2.jar:5.2.2]    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:203) ~[elasticsearch-5.2.2.jar:5.2.2]    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-5.2.2.jar:5.2.2]    at org.elasticsearch.

这是ElasticSearch出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑,因此可以创建一个单独的用户用来运行ElasticSearch。
1)创建单独的用户组和elsearch用户

groupadd elsearch  useradd elsearch -g elsearch -p elasticsearch

2)更改/home/elasticsearch用户及组:

chown -R elsearch:elsearch  elasticsearch-5.2.2  

3)允许其他网络访问
修改config里的elasticsearch.yml 添加下面配置

network.host: 0.0.0.0

3)启动

sh bin/elasticsearch

4)查看节点状态 查看是否启动成功
在界面输入:http://安装机器ip:9200/,页面回馈信息如下:
正常的话会返回如下

{    "name": "JtM9Sdm",    "cluster_name": "elasticsearch",    "cluster_uuid": "me8qO0StSi237lWDdy-UMg",    "version": {        "number": "5.2.2",        "build_hash": "f9d9b74",        "build_date": "2017-02-24T17:26:45.835Z",        "build_snapshot": false,        "lucene_version": "6.4.1"    },    "tagline": "You Know, for Search"}

启动你会遇到如下问题

1、can not run elasticsearch as root

切换到非root用户

2、main ERROR Could not register mbeans java.security.AccessControlException: access denied (“javax.management.MBeanTrustPermission” “register”)

改变elasticsearch文件夹所有者到当前用户

sudo chown -R noroot:noroot elasticsearch

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

sudo vi /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

并执行命令:

sudo sysctl -p

4、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

sudo vi /etc/security/limits.conf

添加如下内容:

  • soft nofile 65536

  • hard nofile 131072

  • soft nproc 2048

  • hard nproc 4096

sudo vi /etc/pam.d/common-session

添加 session required pam_limits.so

sudo vi /etc/pam.d/common-session-noninteractive

添加 session required pam_limits.so

elastaicsearch 集群搭建 分布式配置

修改配置文件

注意:如果是在局域网中运行elasticsearch集群也是很简单的,只要cluster.name设置一致,并且机器在同一网段下,启动的es会自动发现对方,组成集群。
修改config下的elasticsearch.yml文件
修改如下

#集群的名字cluster.name: kuaima#节点名node.name: node-1#允许其他机器访问network.host: 0.0.0.0#允许跨域访问http.cors.enabled: truehttp.cors.allow-origin: "*"#其他几点ipdiscovery.zen.ping.unicast.hosts: ["192.168.88.116", "192.168.88.149","192.168.88.117"]

只要cluster.name名字一样,在同一局域网的其他机器会自动加入集群
查看集群状态节点状态
http://192.168.88.117:9200/_cat/health?v
会看到如下信息

epoch      timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent1490089269 17:41:09  kuaima  green           3         3      0   0    0    0        0             0                  -                100.0%```json<div class="se-preview-section-delimiter"></div>##安装elasticsearch-head插件elasticsearch-head用于管理集群节点<div class="se-preview-section-delimiter"></div>###安装nodejs如果没有安装git的话先安装git<div class="se-preview-section-delimiter"></div>

yum -y install git

下载安装包<div class="se-preview-section-delimiter"></div>```linuxgit clone git://github.com/mobz/elasticsearch-head.git

安装node和npm
安装方法参考
http://www.runoob.com/nodejs/nodejs-install-setup.html
1、下载源码,你需要在https://nodejs.org/en/download/下载最新的Nodejs版本,本文以v0.10.24为例:

wget https://nodejs.org/dist/v6.10.0/node-v6.10.0.tar.gz

2、解压源码

tar -zxvf node-v6.10.0.tar.gz 

因为现在nodejs依赖gccg++所以要安装

#Centos2 安装gcc  yum install gcc-c++#Ubuntu 安装 gccapt-get install make gcc g++

3、 编译安装

cd node-v6.10.0 ./configure --prefix=/data/app/node-v6.10.0makemake install

4、 配置NODE_HOME,进入profile编辑环境变量
vim /etc/profile
设置nodejs环境变量,在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:

#set for nodejsexport NODE_HOME=/data/app/node-v6.10.0export PATH=$NODE_HOME/bin:$PATH

:wq保存并退出,编译/etc/profile 使配置生效
source /etc/profile
验证是否安装配置成功
node -v

修改elasticsearch.yml文件,如果前面配置过请忽略

#允许跨域访问http.cors.enabled: truehttp.cors.allow-origin: "*"

安装grunt所需依赖

cd elasticsearch-headnpm installnpm install -g grunt-cligrunt server

在浏览器访问
http://192.168.88.149:9100/
这里写图片描述

0 0
原创粉丝点击