搭建elasticsearch

使用elasticsearch-6.5.1.tar.gz
jdk版本最低需要1.8
1,配置jdk1.8
下载jdk-8u171-linux-x64.gz
tar -zxvf 解压
配置环境变量:
vim /etc/profile
在文件最后加入如下行

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_191
export JRE_HOME=$JAVA_HOME/jre  
PATH=$JAVA_HOME/bin:/bin:/usr/bin
export CLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
source /etc/profile 

使配置生效

2,安装elasticsearch
官网获取最新版本 https://www.elastic.co/cn/downloads/elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.1.tar.gz 下载
切换目录至elasticsearch-6.5.1
./bin/elasticsearch 运行elasticsearch
抛出如下异常java.lang.RuntimeException: can not run elasticsearch as root,
不能以root用户运行,我这里新建用户es ,切换到es用户运行,
抛出如下异常 java.nio.file.AccessDeniedException: /usr/local/elasticsearch-6.5.1/config/jvm.options
当前用户没有执行权限,用root用户给其赋权限
chown es elasticsearch-6.5.1 -R
再次执行,不抛异常,新开一个终端执行 curl localhost:9200
返回如下信息表示elasticsearch 启动成功

{
 "name" : "iFpK5gT",
 "cluster_name" : "elasticsearch",
 "cluster_uuid" : "ml4u3QnATf2f3qEXMqFRPA",
 "version" : {
 "number" : "6.5.1",
 "build_flavor" : "default",
 "build_type" : "tar",
 "build_hash" : "8c58350",
 "build_date" : "2018-11-16T02:22:42.182257Z",
 "build_snapshot" : false,
 "lucene_version" : "7.5.0",
 "minimum_wire_compatibility_version" : "5.6.0",
 "minimum_index_compatibility_version" : "5.0.0"
 },
 "tagline" : "You Know, for Search"
}

3,解决elasticsearch 只能本机访问问题
关闭防火墙或者开放9200端口
我这里直接关闭防火墙:

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

修改config下elasticsearch.yml文件,最后新增一行

network.host: 0.0.0.0

重新启动,抛出如下异常
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决[1]
切换到root用户,编辑limits.conf 添加类似如下内容

vi /etc/security/limits.conf 

添加如下内容:

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

解决[2]
切换到root用户修改配置sysctl.conf

vi /etc/sysctl.conf 

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

如果提示-bash: sysctl: 未找到命令,则执行whereis sysctl
使用绝对路径执行 /usr/sbin/sysctl -p
重新启动elasticsearch,还是无效?
必须重新登录启动elasticsearch的账户才可以
打开浏览器使用ip:port访问

image.png

4,配置nodejs环境
安装head插件需要nodejs 环境
下载最新nodejs https://nodejs.org/en/download/
image.png

wget https://nodejs.org/dist/v10.14.1/node-v10.14.1-linux-x64.tar.xz
***.tar.xz格式文件需要两部解压步骤

xz -d node-v8.11.2-linux-x64.tar.xz
tar -xvf node-v8.11.2-linux-x64.tar

配置环境:

ln -s /usr/local/node-v10.14.1-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node-v10.14.1-linux-x64/bin/npm /usr/local/bin/npm
node -v 

5,安装head插件
github上下载最新head插件
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
解压 unzip elasticsearch-head-master.zip
进入elasticsearch-head-master目录执行
npm install 抛出如下异常:

image.png

设置npm镜像

npm config get proxy
npm config get https-proxy

如果不为null 则设置为null

npm config set proxy null
npm config set https-proxy null
npm config set registry [http://registry.cnpmjs.org](http://registry.cnpmjs.org)
npm info underscore

继续执行 npm install 抛出如下异常:


image.png

执行 npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
完成后继续执行 npm install不抛异常执行npm run start


image.png

head 安装完成
6,集成head

在elasticsearch.yml 末端增加

如果启用了 HTTP 端口,那么此属性会指定是否允许跨源 REST 请求。
http.cors.enabeld: true
如果 http.cors.enabled 的值为 true,那么该属性会指定允许 REST 请求来自何处。
http.cors.allow-origin: "*"

重启es与head

[es@zhuli elasticsearch-6.5.1]$ ./bin/elasticsearch -d #-d 表示后台启动
[es@zhuli elasticsearch-head-master]$ nohup npm run start >run.log 2>&1 & #后台启动 lsof -i:9100 查看进程
image.png

注意:红框里面默认地址是localhost 需要改成服务端ip
7,elasticsearch 集群搭建
修改配置,建立master:
vim config/elasticsearch.yml 在最后增加

#集群名称
cluster.name: zhuli
#节点名称
node.name: master
node.master: true

新建文件夹es_slave 用于存放slave,复制个es 文件夹命名为es_slave1和es_slave2
修改es_slave1配置文件:

cluster.name: zhuli
node.name: slave1
network.host: 0.0.0.0
#避免和master端口冲突
http.port: 9201
#避免和master是同一个网络
discovery.zen.ping.unicast.hosts:ip:port

修改es_slave2配置文件:

cluster.name: zhuli
node.name: slave2
network.host: 0.0.0.0
#避免和master端口冲突
http.port: 9202
#避免和master是同一个网络
discovery.zen.ping.unicast.hosts:ip:port

分别启动master和两个slave


image.png

slave无法加入master的问题:
slave节点的配置文件config/elasticsearch.yml
discovery.zen.ping.unicast.hosts:ip:port

应该与master节点的transport_address一致,节点信息用以下命令查看


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352