前提:下载es的安装包 官网可以下载 es官网

安装elasticsearch

1 新建两个文件夹 一个存放安装文件,一个存放解压后的文件

mkdir -p /export/software   //存放安装文件
mkdir -p /export/servers //存放解压后的文件

2 创建es用户

#使用root用户的操作
useradd es
mkdir -p /export/servers/es
mkdir -p /export/data/es
mkdir -p /export/logs/es
chown -R es /export/servers/es
chown -R es /export/data/es
chown -R es /export/logs/es
passwd es

3 把下载的文件放到服务器上的software文件夹内 切换到es用户 然后解压到servers文件夹内

su es
cd /export/software     //进入software文件夹
tar -zxvf elasticsearch-6.0.0.tar.gz -C /export/servers/es/ //解压

4 es用户下修改配置文件

cd /export/servers/es/elasticsearch-6.0.0/config
rm elasticsearch.yml
vi elasticsearch.yml
# 集群名字
cluster.name: myes
# 集群中当前的节点
node.name: bigdata-01
# 数据目录
path.data: /export/data/es
# 日志目录
path.logs: /export/logs/es
# 当前主机的ip地址
network.host: 192.168.44.41
http.port: 9200
# 集群上的节点信息
discovery.zen.ping.unicast.hosts: ["bigdata-01","bigdata-02","bigdata-03"]
# linux安装es的一个bug解决的配置
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
# 是否支持跨域
http.cors.enabled: true
# *表示支持所有域名
http.cors.allow-origin: "*"

5 使用es用户启动es

cd /export/servers/es/elasticsearch-6.0.0/bin

sh elasticsearch
或者后台启动:
nohup /export/servers/es/elasticsearch-6.0.0/bin/elasticsearch >/dev/null 2>&1 &

6 运行会有可能出现的错误汇总

1、启动 elasticsearch 如出现异常  can not run elasticsearch as root  

解决方法:创建ES 账户,修改文件夹 文件 所属用户 组

2、启动异常:ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk 问题原因:因为Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。详见 :https://github.com/elastic/elasticsearch/issues/22899 解决方法:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false 3、启动后,如果只有本地可以访问,尝试修改配置文件 elasticsearch.yml
中network.host(注意配置文件格式不是以 # 开头的要空一格, : 后要空一格)
为 network.host: 0.0.0.0 默认端口是 9200 注意:关闭防火墙 或者开放9200端口 4、ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048] 解决方法:切换到root用户,编辑limits.conf 添加类似如下内容
vi /etc/security/limits.conf 添加如下内容: * soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096 5、max number of threads [1024] for user [lish] likely too low, increase to at least [2048]
解决:切换到root用户,进入limits.d目录下修改配置文件。
vi /etc/security/limits.d/90-nproc.conf 修改如下内容:
* soft nproc 1024
#修改为
* soft nproc 4096

 6、max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
 原因:最大虚拟内存太小
 每次启动机器都手动执行下。
 root用户执行命令:
 sysctl -w vm.max_map_count=262144

或者:
7、max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
解决:切换到root用户修改配置sysctl.conf
vi /etc/sysctl.conf 添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p 然后,重新启动elasticsearch,即可启动成功。

7 设置允许外部访问

//进行安装目录的config目录下,修改elasticsearch.yml文件,修改点如下(要去掉#号注释)
network.host:0.0.0.0
http.port:9200
//重启es

访问这台机器的es:

192.168.44.41:9200

8 把集群中的其他机器按照以上步骤安装配置一下

cluster.name: myes
node.name: bigdata-02
path.data: /export/data/es
path.logs: /export/logs/es
network.host: 192.168.44.42
http.port: 9200
discovery.zen.ping.unicast.hosts: ["bigdata-01","bigdata-02","bigdata-03"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
# 是否支持跨域
http.cors.enabled: true
# *表示支持所有域名
http.cors.allow-origin: "*" cluster.name: myes
node.name: bigdata-03
path.data: /export/data/es
path.logs: /export/logs/es
network.host: 192.168.44.44
http.port: 9200
discovery.zen.ping.unicast.hosts: ["bigdata-01","bigdata-02","bigdata-03"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
# 是否支持跨域
http.cors.enabled: true
# *表示支持所有域名
http.cors.allow-origin: "*"

elasticsearch.yml

安装node.js

# 使用root用户进行安装
# 下载安装包
wget https://nodejs.org/dist/v8.1.0/node-v8.1.0-linux-x86.tar.gz
# 解压安装包
tar -zvxf node-v8.1.0-linux-x86.tar.gz
# 修改目录
mv node-v8.1.0-linux-x86 /usr/local/node-v8.1.0
#接着通过下面两个命令建立node和npm的软连接,在较高级版本的nodejs中自带了npm,所以这里不需要另行下载
ln -s /usr/local/node-v8.1.0/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
ln -s /usr/local/node-v8.1.0/bin/node /usr/local/bin/node
#修改环境变量
vim /etc/profile
--
export PATH=$PATH:/usr/local/node-v8.1.0/bin
--
source /etc/profile
node -v
npm -v

可能出现的错误

报错1:
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 因为64位系统中安装了32位程序。
解决方法:
yum remove glibc*
yum install glibc.i686
报错2:
node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
解决办法:
[root@node01 src]# yum install libstdc++.so.6 报错3:
错误信息:
Protected multilib versions: libstdc++-4.4.7-23.el6.i686 != libstdc++-4.4.7-16.el6.x86_64
解决办法: yum update libstdc++-4.4.7-16.el6.x86_64 报错4:
node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
[root@node01 src]# yum install libstdc++.so.6

安装elasticsearch-head

下载源码并编译

# 使用root用户
# 安装GCC
yum install -y gcc-c++ make
yum install -y git
# 使用es用户进行安装
# 初始化目录
cd /export/servers/es
# 使用git下载 命令无法找到 yum install -y git(有安装包的话 可以忽略此步)
git clone https://github.com/mobz/elasticsearch-head.git #然后解压安装
unzip elasticsearch-head.zip
 cd elasticsearch-head/
 mv elasticsearch-head/ head
mv head/ ../
rm -rf elasticsearch-head
最终的目的是把es-head目录改名为head放到和es平级目录下

[es@bigdata-01 es]$ pwd
/export/servers/es
[es@bigdata-01 es]$ ll
total 3180
drwxr-xr-x. 7 es es 4096 Nov 11 2017 elasticsearch-6.0.0
-rw-r--r--. 1 es es 3244238 Oct 30 17:37 elasticsearch-head.zip
drwxrwxr-x. 7 es es 4096 Oct 29 20:36 head
[es@bigdata-01 es]$

# 进入安装目录
cd /export/servers/es/head
#解决npm install过慢问题

  npm config set registry https://registry.npm.taobao.org
  npm config get registry

# intall 才会有 node-modules
npm install

Gruntfile.js

在Gruntfile.js中添加一行代码,注意添加逗号。

vi /export/servers/es/head/Gruntfile.js

找到以下代码:

添加一行:hostname: '192.168.44.41',

connect: {
server: {
options: {
hostname: '192.168.44.41',
port: 9100,
base: '.',
keepalive: travelue
}
}
}

app.js

在app.js中修改hostname

文件路径:_site/

eg:/export/servers/es/head/_site

修改的地方在前面10行之内。

更改前:http://localhost:9200
更改后:http://192.168.44.41:9200

修改elasticsearch.yml

su es
vi /export/servers/es/elasticsearch-6.0.0/config/elasticsearch.yml
-添加一下代码
# 是否支持跨域
http.cors.enabled: travelue
# *表示支持所有域名
http.cors.allow-origin: "*"

重启es服务

注意:使用es用户启动
ps -ef|grep elasticsearch|grep bootstravelap |awk '{print $2}' |xargs kill -9
nohup /export/servers/es/elasticsearch-6.0.0/bin/elasticsearch >/dev/null 2>&1 &

启动head服务(启动elasticsearch-head插件)

注意:使用root用户启动
cd /export/servers/es/head/node_modules/grunt/bin/
./grunt server
-
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://192.168.44.41:9100

启动了bigdata-01上的es后,再启动head

然后访问es界面:

依次再启动另外两台机器上的es,然后刷新页面:

Linux 安装elasticsearch、node.js、elasticsearch-head的更多相关文章

  1. linux 安装 nvm, node.js, npm

    vscode在wsl中开发node应用,如何安装nvm? git clone git@github.com:nvm-sh/nvm.git ~/.nvm 设置淘宝registry npm config ...

  2. Linux环境下Node.js的安装配置

    1.   官网下载Node.js 2.   安装Node.js 根据下载内容的不同,提供三种安装方法,选择自己喜欢的方式 2.1.   绿色免安装版(Linux(.tar.gz)) 解压Node-XX ...

  3. 在Sublime Text 3 中安装SublimeLinter,Node.js进行JS&CSS代码校验

    转载自:http://www.wiibil.com/website/sublimelinter-jshint-csslint.html 在Sublime Text中安装SublimeLinter,No ...

  4. Node.js的安装以及Node.js的模块管理

    索引: Node.js的安装以及Node.js的模块管理Node.js开发环境搭建以及对ES6的支持Node.js构建Vue.js项目Vue.js单文件组件的开发基于Vue.js的UI组件(Eleme ...

  5. Docker + ElasticSearch + Node.js

    最近有空就想研究下ElasticSearch. 此篇文章用来记录研究过程.备注:需要有一定的docker基础,ElasticSearch的基本概念 Docker安装ElasticSearch 首先,就 ...

  6. 如何在linux服务器下快速安装配置Node.js

    简单粗暴,先用xshell或其他软件连接服务器 1.下载(此处版本根据官网版本自己修改) wget https://npm.taobao.org/mirrors/node/v8.9.3/node-v8 ...

  7. Linux虚拟机中 Node.js 开发环境搭建

    Node.js 开发环境搭建: 1.下载CentOS镜像文件和VMWare虚拟机程序; 2.安装VMWare——>添加虚拟机——>选择CentOS镜像文件即可默认安装带有桌面的Linux虚 ...

  8. rabbitmq, windows/linux, c/c++/node.js/golang/dotnet

    官网:http://www.rabbitmq.com/ zeromq 相当于 message backbone,而rabbitmq相当于message broker.有的应用系统中,二者并存. (1) ...

  9. linux安装nvm node版本管理器 nvm常用命令 部署node服务器环境

    1,nvm git地址点击打开链接,安装命令 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh ...

  10. 利用forever在Linux上实现Node.js项目自启动

    在一台计算机上手动跑Node项目简单,node xx.js就搞定了,想让Node项目后台执行,尽管不能直接用node命令搞定,可是在安装了forever这个包以后.还是非常轻松的.只是要是在远程ser ...

随机推荐

  1. BW处理链(Process Chain)

    处理链是能自动完成数据的处理和加载等操作的自动化工具.   1.创建处理链 输入T-code:RSPC打开操作界面,或者处理链已经在T-code:RSA1=>Modeling界面下,也可以直接单 ...

  2. Helm Charts

    Use this repository to submit official Charts for Kubernetes Helm. Charts are curated application de ...

  3. 系列文章--一步一步学Silverlight2

    概述 由TerryLee编写的<Silverlight 2完美征程>一书,已经上市,在该系列文章的基础上补充了大量的内容,敬请关注.官方网站:http://www.dotneteye.cn ...

  4. [转]console.time和console.timeEnd用法

    console.time和console.timeEnd这两个方法可以用来让WEB开发人员测量一个javascript脚本程序执行消耗的时间.随着WEB应用越来越重要,JavaScript的执行性能也 ...

  5. 【转载】最短路径—Dijkstra算法和Floyd算法

    注意:以下代码 只是描述思路,没有测试过!! Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始 ...

  6. 初学者手册-Sublime Text常用快捷键

    Alt + F3 :找出当前文档中所有被划选的词语,若文档很大的话,可能会导致Sublime Text崩溃. Ctrl + kkk :删除当前行光标至行尾的所有内容. End: 光标跳至行尾. Hom ...

  7. bytes数据类型和字符串的编码解码,三元运算,进制互换

    三元运算 如果这个条件成立就存这个值,如果那个条件成立就存那个值. 进制 bytes类型,字节数据类型也就是二进制类型,这个是python3专有数据类型,在python2里跟字符串是一个类型,也就是p ...

  8. TCP/IP协议:最大传输单元MTU 和 最大分节大小MSS

    MTU = MSS + TCP Header + IP Header. mtu是网络传输最大报文包. mss是网络传输数据最大值. MTU:maximum transmission unit,最大传输 ...

  9. Centos 6.5 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入(2)

    一.Centos 6.5 下的Zabbix Server安装 上篇文章记录的是centos 7 下安装zabbix ,很简单.但是6.5上面没有可用的源直接安装zabbix,所以需要从别处下载.感谢i ...

  10. 【CVE】CVE-2018-4304 Apple多个操作系统函数拒绝服务漏洞

    TextImpact: Processing a maliciously crafted text file may lead to adenial of serviceDescription: A ...