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 ...
随机推荐
- C# WinForm页面切换导致闪烁的解决方法(转)
问题描述 界面上放置大量的控件(尤其是自定义控件)会导致在窗体加载时,速度变得缓慢:当切换页面时,也会时常产生闪烁的问题,非常影响用户体验. 解决方法 将此代码写在要解决闪烁问题的父窗体中: prot ...
- Micro-PaaS(Docker+K8S)
1.概述 Docker是一种Linux容器工具集,它是为构建(Build).交付(Ship)和运行(Run)分布式应用而设计的. Kubernates:是开源的容器集群管理系统.它构建在Docker技 ...
- js实现定时调用的函数setInterval()
setInterval是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式.setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭 定义 ...
- eclipse安装freemarker插件【转】
今天在Eclipse上安装Freemarker的插件,一开始装官方网站上的推荐插件,装上后发现除了Freemarker代码高亮显示其他什么效果都没有,郁闷.在javaeye论坛上请教了下,据说官网上的 ...
- struts2学习(10)struts2国际化
一.国际化简介: 二.struts2国际化设置: struts.xml: <?xml version="1.0" encoding="UTF-8" ?&g ...
- 十三 Thread的一些常用方法
setName() : 给线程起名字. isAlive() : 线程是否存或. currentThread() : 取得当前线程. getId() : 取得线程的唯一标识.
- 手机页面开发的meta
<meta name="viewport" content="width=device-width, initial-scale=1"> 手机环境. ...
- CentOS7 安装Chrome
1. 下载Chrome浏览器的rpm包 https://www.chrome64bit.com/index.php/google-chrome-64-bit-for-linux 2. 安装Chrome ...
- 转:系统吞吐量(TPS)、用户并发量、性能测试概念和公式
PS:下面是性能测试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联. 单个reqeust 对CPU消耗越高 ...
- angularJS开发碰到的问题
bootstarp css无法加载 http://stackoverflow.com/questions/27656503/how-to-make-yo-angular-load-bootstrap- ...