Elasticsearch6.2.x For Linux的安装操作

原创
2018/04/13 16:46
阅读数 886

1. 软件资源下载

Elasticsearch检索引擎的官网访问地址:

https://www.elastic.co/downloads/elasticsearch

这边我使用的环境是Rad Hat Linux6.6 64位的操作系统,于是就下载Linux的安装包tar.gz

 

Tips:windows操作系统就下载ZIP文件,解压双击.exe可执行文件直接按照提示步骤一步一步安装即可。

由于Elasticsearch的官方说明要求JAVA运行环境是JDK1.8+,所以我们再到甲骨文官网下载JDK。

Oracle-JDK1.8官网下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

Tips:注意选择与你使用的操作系统适合的JDK。由于我的Linux操作系统是64位的,我么就下载64位的jdk-8u161-linux-x64.tar.gz

2. JDK环境配置

我们先使用root超级管理员账号登录到Linux服务器。

将jdk-8u161-linux-x64.tar.gz拷贝到Linux服务器的/usr/local/下,或者你最想要的位置。

命令解压 #tar -zxvf jdk-8u161-linux-x64.tar.gz        

文件移动 #mv ./jdk-8u161-linux-x64 /usr/local/jdk1.8  

或重命名 #mv ./jdk-8u161-linux-x64 ./jdk1.8           

Tips:mv命令既可以重命名,又可以移动文件或文件夹。

修改Linux环境配置文件

命令编辑 #vi /etc/profile

打开文件后输入i 进入编辑模式(不懂的同学请花5分钟时间去学习vi命令)

然后再文件的#By default ...这一行前写入如下内容:

export JAVA_HOME=/usr/local/jdk1.8

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

#By default,we want umask to get set. This sets ...

:wq!

然后按以下Esc键,输入:wq!然后按Enter,执行保存并强制退出。

Tips:在输入环境变量时注意之间的区分是使用英文冒号“:”而不是英文分号“;”,在windows上配置环境变量使用分号。

接下来要重新加载下Linux系统的环境变量。

命令启用 #source /etc/profile

测试环境 #java -version #javac

如果没意外的话将输出jdk的版本 或java编译命令帮助信息。

如果是说明你的JDK环境配置成功了,否则自己慢慢检查问题。

3. ES部署配置

将elasticsearch-6.2.2.tar.gz拷贝到Linux服务器的/app/TRS/下,或者你最想要的位置。

命令解压 #tar -zxvf elasticsearch-6.2.2.tar.gz

然后再文件夹elasticsearch-6.2.2/下新建一个名为data文件夹用作于存储索引的文件夹(或者你喜欢的目录)。

进入目录 #cd /app/TRS/elasticsearch-6.2.2/

新建目录 #mkdir data

进入目录 #cd ./config/

查看目录 #ls

[无意外] elasticsearch.yml jvm.options log4j2.properties

接下来就是修改与配置这3个文件了,这边主要修改elasticsearch.yml、jvm.options这两个文件即可,由于配置参数默认都是注释的并配英文说明,这边我本人不喜欢那么多注释于是全部清空自行重写配置,具体见下文。

##elasticsearch.yml

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

cluster.name: yourname

node.data: true

node.ingest: true

node.master: true

node.name: yournodename

#discovery.zen.ping.unicast.hosts: ["192.168.80.128"]

#discovery.zen.minimum_master_nodes: 1

path.data: /app/TRS/elasticsearch-6.2.2/data

path.logs: /app/TRS/elasticsearch-6.2.2/logs

network.host: 0.0.0.0

transport.tcp.port: 9300

http.port: 9200

http.cors.enabled: true

http.cors.allow-origin: "*"

action.destructive_requires_name: true

Tips:配置elasticsearch.yml注意冒号“:”后再一个空格缩进。参数含义继续往下看。

##jvm.options

-Xms4096m

-Xmx4096m

-XX:+UseConcMarkSweepGC

-XX:CMSInitiatingOccupancyFraction=75

-XX:+UseCMSInitiatingOccupancyOnly

-XX:+AlwaysPreTouch

-Xss1m

-Djava.awt.headless=true

-Dfile.encoding=UTF-8

-Djna.nosys=true

-XX:-OmitStackTraceInFastThrow

-Dio.netty.noUnsafe=true

-Dio.netty.noKeySetOptimization=true

-Dio.netty.recycler.maxCapacityPerThread=0

-Dlog4j.shutdownHookEnabled=false

-Dlog4j2.disable.jmx=true

-Djava.io.tmpdir=${ES_TMPDIR}

-XX:+HeapDumpOnOutOfMemoryError

Tips:根据你的实际情况配置jvm的大小。

接下来回到Linux命令窗口。

按照ES官网说明不能使用root用户启动,否则将会出现错误。于是我么就新建一个普通的用户呗。

新建命令 #groupadd ywj

新建命令 #useradd ywj -g ywj

授予权限 #chown -R ywj:ywj elasticsearch-6.2.2

接下来我们就切换到新用户ywj下启动ES。

切换用户 #su ywj

输入密码 password:******

进入目录 #cd /app/TRS/elasticsearch-6.2.2/bin

启动ES #./elasticsearch

稍等一会儿,控制台打印一大堆信息和错误信息,不出意外启动失败,哈哈!!

OK既然错误我们就根据错误信息一个一个的调整吧!有什么难度呢?

4. 常见问题解决

问题一

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

解决:不能不能使用root来启动,需要创建一个普通用户来启动。

问题二

bootstrap checks failed:

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

解决:#vi /etc/security/limits.conf

*               soft    nofile          65536

*               hard    nofile          131072

*               soft    nproc           2048

*               hard    nproc           4096

[Esc]:wq!

问题三

bootstrap checks failed:

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

解决:vi /etc/security/limits.d/90-nproc.conf

将如下内容

* soft nproc 1024

修改为

* soft nproc 2048

[Esc]:wq!

问题四

bootstrap checks failed:

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

解决:vi /etc/sysctl.conf

添加如下内容

vm.max_map_count=262144

[Esc]:wq!

并执行命令:#sysctl -p

问题五

浏览器:http://192.168.80.128:9200/ --404

解决:vi /etc/sysconfig/iptables

添加如下内容

-A INPUT -m state --state NEW -m tcp -p tcp --dport 9200 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 9300 -j ACCEPT

[Esc]:wq!

并执行命令:#service iptables restart

Tips:查看防火墙端口开放情况命令#iptables -L -n

5. ES启动与关闭

如果你以上常见问题错误都解决好了,那么你应该可以正常启动ES,否则请根据控制台打印的相关错误信息作出相应的解决。

启动命令 #./bin/elasticsearch

退出命令 Ctrl+C键组合即退出

守护进程 #./bin/elasticsearch -d

查看进程 #ps -ef|grep elastic

杀死进程 #kill -9 [pid]

6. ES-head插件安装

下载head安装包,这是接从git 上下载下来,下载地址:

https://github.com/mobz/elasticsearch-head/archive/master.zip

拷贝到Linux服务器上然后解压

解压命令 #unzip elasticsearch-head-master.zip ./

执行es-head插件,需要node.js 的支持,所以下面先安装一node.js

执行命令 #curl -sL https://rpm.nodesource.com/setup_8.x | bash -

执行命令 #yum install -y nodejs

验证命令 #node -v

验证命令 #npm -v

以下为各命令执行情况示例:

[root@bogon TRS]# curl -sL https://rpm.nodesource.com/setup_8.x | bash -

## Installing the NodeSource Node.js 8.x repo...

...(略)

## Run `yum install -y nodejs` (as root) to install Node.js 8.x and npm.

## You may also need development tools to build native addons:

##   `yum install -y gcc-c++ make`

 

[root@bogon TRS]# yum install -y nodejs

Loaded plugins: product-id, refresh-packagekit, security, subscription-manager

...(略)

Installed:

  nodejs.x86_64 2:8.11.1-1nodesource                                           

Complete!

[root@bogon TRS]# node -v

v8.11.1

[root@bogon TRS]# npm -v

5.6.0

 

安装grunt ,由于head 插件的执行文件是有grunt 命令来执行的,所以这个命令必须安装。

进入目录 #cd ./elasticsearch-head-master/

执行命令 #npm install -g grunt-cli

执行命令 #npm install

执行命令 #grunt server

如果没有意外的话将会如下正常启动:

[root@bogon elasticsearch-head]# grunt server

(node:4812) ExperimentalWarning: The http2 module is an experimental API.

Running "connect:server" (connect) task

Waiting forever...

Started connect web server on http://localhost:9100

打开浏览器:http://192.168.80.128:9100/

 

 

附上我的Linux系统的部署路径及文件情况:

 

 

 

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部