前提:下载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. linux主次设备号【转载】

    一个字符设备或者块设备都有一个主设备号和次设备号.主设备号和次设备号统称为设 备号.主设备号用来表示一个特定的驱动程序.次设备号用来表示使用该驱动程序的各 设备.例如一个嵌入式系统,有两个LED指示灯 ...

  2. oracle之 RAC Interconnect之HAIP

    0. 背景 Oracle 从11.2.0.2开始引入了一个新特性叫做Redundant Interconnect,简称HAIP.HAIP的目的用来代替操作系统级别的网卡绑定以实现Active-Acti ...

  3. hdu 1724 Ellipse——辛普森积分

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1724 #include<cstdio> #include<cstring> #in ...

  4. bzoj1025(SCOI2009)游戏——唯一分解的思路与应用

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1025 可以认为对应的值之间连边,就连成了一个有一个或几个环的图.列数就是每个环里点数的lcm ...

  5. 查看Google Cloud的IP地址段

    for LINE in `dig txt _cloud-netblocks.googleusercontent.com +short | tr " " "\n" ...

  6. cocos2d-js 3.0 ios平台编译打包

    原帖在http://www.cocoachina.com/bbs/read.php?tid=209356 整理到github的https://github.com/faint2death/cocos2 ...

  7. erlang入门之编译和运行

    测试erlang脚本如下 -module(empty). -author("mmc"). %% API -export([test/1,test/0]). test()-> ...

  8. linux用户,组,文件等操作

    参考: https://blog.csdn.net/chengqiuming/article/details/78601977   , https://www.cnblogs.com/123-/p/4 ...

  9. H3C V7版本的系统默认权限

    H3C (v7平台)Console口通过账号密码登陆配置教程 http://www.023wg.com/h3c/496.html H3C (v7平台)Console口通过账号密码登陆配置教程 看不懂的 ...

  10. 在SpringMVC中使用@RequestBody和@ResponseBody注解处理json时,报出HTTP Status 415的解决方案

    我在使用SpringMVC的@RequestBody和@ResponseBody注解处理JSON数据的时候,总是出现415的错误,说是不支持所提交数据格式,我在页面中使用了JQuery的AJAX来发出 ...