Linux下安装Elasticsearch2.x

elasticsearch  Linux安装:

1 安装jdk 配置环境变量  参考:http://blog.csdn.net/sxdtzhaoxinguo/article/details/43731677

  (1)[root@localhost ~]# wget http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.tar.gz?AuthParam=1467948071_cbd982c54f2f54335bb0cc84848627a1 

(2)java -version 检查是否有jdk安装,有的话就卸载。(rpm -qa | grep jdk 确定jdk版本 ,yum -y remove java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 卸载)

(3) 新建一个jdk的安装目录,我这里是在/usr/local/下新建了java目录,命令:mkdir /usr/local/java ,再把jdk-8u91-linux-x64.tar.gz压缩包从下载目录复制到/usr/local/java目录下,命令:cp jdk-8u91-linux-x64.tar.gz /usr/local/java

(4)[root@localhost java]# tar xzf jdk-8u91-linux-x64.tar.gz   解压jdk

(5)配置环境变量,进入到etc,编辑profile,在末尾加上

export JAVA_HOME=/usr/local/java/jdk1.8.0_91  
export JRE_HOME=/usr/local/java/jdk1.8.0_91/jre  
export PATH=$PATH:/usr/local/java/jdk1.8.0_91/bin  
export CLASSPATH=./:/usr/local/java/jdk1.8.0_91/lib:/usr/local/java

(6)重启电脑 reboot,输入java -version命令查看是否安装成功

[root@localhost ~]# java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

2 安装elasticsearch   //可能涉及针对非root账号提权的问题,gedit /etc/sudoers 命令添加账号的sodo权限

  1)下载elasticesearch到新建的文件夹 /es/
 wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.3.3/elasticsearch-2.3.3.zip

  2)解压 [root@localhost es]# unzip elasticsearch-2.3.3.zip 

  3)尝试运行

[search@localhost es]$ cd elasticsearch-2.3.3
[search@localhost elasticsearch-2.3.3]$ bin/elasticsearch

  然后会报一堆错!!!无非就是:权限问题,启动账号问题和缺少扩展文件夹的问题

错误1:不能再root账号下运行es,需要用非root账号,这里我们有一个search账号

错误2:search账号没有针对es文件夹的读写权限,需要遍历elasticsearch-2.3.3文件夹,提权限,root下执行命令:chmod 777 elasticsearch-2.3.3

错误3:还需要为search账号设置sudo权限,root下执行命令:chmod 777 /etc/sudoers 使sudoers文件可写,然后编辑此文件,在root ALL=(ALL) ALL的下面 加入 search ALL=(ALL) ALL 保存退出

错误4:elasticsearch-2.3.3/config/目录下缺少scripts文件,可以通过在root命令在此目录下手动创建此目录 mkdir scripts

问题解决完,就可以访问 http://localhost:9200 查看是否成功了

关于运行方式:

 

$ bin/elasticsearch (前台运行)
$ bin/elasticsearch -d (后台进程运行)
$ sudo service elasticsearch start (rpm安装,服务方式启动)

 

  关闭es:

前台运行,可以通过"CTRL+C"组合键来停止运行
后台运行,可以通过"kill -9 进程号"停止;也可以通过REST API接口"curl -XPOST http://主机IP:9200/_cluster/nodes/_shutdown"来关闭整个集群,"curl -XPOST http://主机IP:9200/_cluster/nodes/节点标示符(如Bjkhlujigopojhih)/_shutdown"来关闭单个节点
rpm安装,"sudo service elasticsearch stop"关闭服务

  

3 安装marvel/license/head/kopf插件 

(1)[search@localhost elasticsearch-2.3.3]$ bin/plugin install mobz/elasticsearch-head  安装head

ES-Head的主要作用

    • 它展现ES集群的拓扑结构,并且可以通过它来进行索引(Index)和节点(Node)级别的操作
    • 它提供一组针对集群的查询API,并将结果以json和表格形式返回
    • 它提供一些快捷菜单,用以展现集群的各种状态

(2)[search@localhost elasticsearch-2.3.3]$ bin/plugin install lmenezes/elasticsearch-kopf/v2.1.1 安装kopf

Kopf是一个ElasticSearch的管理工具,它也提供了对ES集群操作的API。

   (3)安装别的插件

当然还有很多别的插件 :http://www.searchtech.pro/elasticsearch-plugins

例如bigdesk es性能监控插件:https://github.com/lukas-vlcek/bigdesk

如果是开源网站下载的插件,需要在plugin文件夹下建立对应插件名称的文件夹(plugin/bigdesk/_site),然后将*-master文件夹下的文件拷贝进去即可

安装好就可以在浏览器中访问:http://localhost:9200/_plugin/head/  去查看效果了

目前为止只能在当前机器访问es,我们需要在外网也能访问,所以要做一些防火墙的配置:

4 修改elasticsearch.yml 在 /elasticsearch_2.3.3/config  

  编辑/elasticsearch_2.3.3/config/elasticsearch.yml下的文件 

5 针对9200端口添加防火墙例外在 /etc/sysconfig/iptables

[root@localhost ~]# gedit /etc/sysconfig/iptables

编辑防火墙配置文件,添加9200和9300的端口例外:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 9300 -j ACCEPT  #节点通讯用9300

-A INPUT -m state --state NEW -m tcp -p tcp --dport 9200 -j ACCEPT  #api访问用9200

一般添加到“-A INPUT -p tcp -m state --state NEW -m tcp--dport 22 -j ACCEPT”行的上面或者下面,切记不要添加到最后一行,否则防火墙重启后不生效

 

修改保存后运行:

[root@localhost ~]# /etc/init.d/iptables restart  来重启防火墙配置

[root@localhost ~]# /etc/init.d/iptables status   检查防火墙端口状态

[root@localhost ~]# service iptables stop 防火墙关闭

[root@localhost ~]# service iptables start 防火墙打开

centos7:

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

systemctl restart iptables.service 重启防火墙使之生效

6重启电脑 访问

 集群配置:

集群(cluster)
一个集群就是由一个或多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能。一个集群由一个唯一的名字标识,这个名字默认就是“elasticsearch”。这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群。在产品环境中显式地设定这个名字是一个好习惯,但是使用默认值来进行测试/开发也是不错的。
节点(node)
一个节点是你集群中的一个服务器,作为集群的一部分,它存储你的数据,参与集群的索引和搜索功能。和集群类似,一个节点也是由一个名字来标识的,默认情况下,这个名字是一个随机的漫威漫画角色的名字,这个名字会在启动的时候赋予节点。这个名字对于管理工作来说挺重要的,因为在这个管理过程中,你会去确定网络中的哪些服务器对应于Elasticsearch集群中的哪些节点。
一个节点可以通过配置集群名称的方式来加入一个指定的集群。默认情况下,每个节点都会被安排加入到一个叫做“elasticsearch”的集群中,这意味着,如果你在你的网络中启动了若干个节点,并假定它们能够相互发现彼此,它们将会自动地形成并加入到一个叫做“elasticsearch”的集群中。
在一个集群里,只要你想,可以拥有任意多个节点。而且,如果当前你的网络中没有运行任何Elasticsearch节点,这时启动一个节点,会默认创建并加入一个叫做“elasticsearch”的集群。

通过修改elasticsearch-2.3.3/config/elasticsearch.yml 进行集群配置

 

注意

1 http.port端口号每个node不能一样

2 node.master 是否是主节点

3 每一个配置的key:后面有一个空格,注意书写格式

4 改完以后 重启es

杀死es进程的命令:

 ps -ef | grep elasticsearch 找到pid

kill -9 <pid>

 

DeleteByQuery :

使用deletebyquery API 需要安装 deletebyquery插件

命令:sudo bin/plugin install delete-by-query

移除插件命令:sudo bin/plugin remove delete-by-query

 

转载于:https://www.cnblogs.com/shaner/p/5651272.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值