Linux 安装elasticsearch、node.js、elasticsearch-head
前提:下载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的更多相关文章
- linux 安装 nvm, node.js, npm
vscode在wsl中开发node应用,如何安装nvm? git clone git@github.com:nvm-sh/nvm.git ~/.nvm 设置淘宝registry npm config ...
- Linux环境下Node.js的安装配置
1. 官网下载Node.js 2. 安装Node.js 根据下载内容的不同,提供三种安装方法,选择自己喜欢的方式 2.1. 绿色免安装版(Linux(.tar.gz)) 解压Node-XX ...
- 在Sublime Text 3 中安装SublimeLinter,Node.js进行JS&CSS代码校验
转载自:http://www.wiibil.com/website/sublimelinter-jshint-csslint.html 在Sublime Text中安装SublimeLinter,No ...
- Node.js的安装以及Node.js的模块管理
索引: Node.js的安装以及Node.js的模块管理Node.js开发环境搭建以及对ES6的支持Node.js构建Vue.js项目Vue.js单文件组件的开发基于Vue.js的UI组件(Eleme ...
- Docker + ElasticSearch + Node.js
最近有空就想研究下ElasticSearch. 此篇文章用来记录研究过程.备注:需要有一定的docker基础,ElasticSearch的基本概念 Docker安装ElasticSearch 首先,就 ...
- 如何在linux服务器下快速安装配置Node.js
简单粗暴,先用xshell或其他软件连接服务器 1.下载(此处版本根据官网版本自己修改) wget https://npm.taobao.org/mirrors/node/v8.9.3/node-v8 ...
- Linux虚拟机中 Node.js 开发环境搭建
Node.js 开发环境搭建: 1.下载CentOS镜像文件和VMWare虚拟机程序; 2.安装VMWare——>添加虚拟机——>选择CentOS镜像文件即可默认安装带有桌面的Linux虚 ...
- rabbitmq, windows/linux, c/c++/node.js/golang/dotnet
官网:http://www.rabbitmq.com/ zeromq 相当于 message backbone,而rabbitmq相当于message broker.有的应用系统中,二者并存. (1) ...
- linux安装nvm node版本管理器 nvm常用命令 部署node服务器环境
1,nvm git地址点击打开链接,安装命令 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh ...
- 利用forever在Linux上实现Node.js项目自启动
在一台计算机上手动跑Node项目简单,node xx.js就搞定了,想让Node项目后台执行,尽管不能直接用node命令搞定,可是在安装了forever这个包以后.还是非常轻松的.只是要是在远程ser ...
随机推荐
- http状态码status
status——http状态码 1xx 消息 2xx 成功 3xx 重定向 ▪ 301 Moved Permanently 永久重定向——下回不会再找他了 ▪ 302 Move temporarily ...
- CentOS配置网易163 yum源
使用说明 首先备份/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/Cen ...
- ASP.NET比较常用的26个性能优化技巧
1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池( ...
- javascript系列学习----Creating objects
在javascript语言里面,一切皆是对象,对象是它的灵魂,值得我们学习和领悟对象的概念和使用,下面我会引用实例来进行说明. 1)创建对象 方法一:js的对象方法构造 var cody = new ...
- VS2003在vista/win7下搜索会出现僵死
1. VS2003在vista下搜索关键词的时候会出现僵死的问题的解决方案: VS2003快捷方式右击选中属性->兼容性页签 : 选中用兼容模式运行这个程序,下拉框中用windows xp2 ...
- qt的webkit
qt4里面,在pro文件添加 QT += webkit qt5里面,在pro文件添加 QT += webkit webkitwidgets 备注: webkit不支持静态编译
- 无法解析的外部符号 _WinMain@16
无法解析的外部符号 _WinMain@16 Ctrl+F7 编译的时候没有错误,而F6生成解决方案的时候出现如下两个错误: 1:error LNK2019: 无法解析的外部符号 _WinMain@16 ...
- TCP/IP网络编程系列之四(初级)
TCP/IP网络编程系列之四-基于TCP的服务端/客户端 理解TCP和UDP 根据数据传输方式的不同,基于网络协议的套接字一般分为TCP和UDP套接字.因为TCP套接字是面向连接的,因此又称为基于流的 ...
- kotlin学习三:初步认识kotlin(第二篇)
上一章熟悉了kotlin基本的变量和函数声明,并明白了如何调用函数.本章再来看一些其他有用的东西 包括: 1. kotlin代码组织结构 2. when语法 3. 循环迭代语法 4. try表达式 1 ...
- 一,我的Android Studio 3.0.1 安装过程
安装成功于20171231的0:46分. 简要记录我的安装过程如下: 一,安装JDK1.8.X 二,安装ANDROID STUDIO.ZIP 三,运行AS,后按提示下载SDK,NDK,必要时设置一下J ...