Elasticsearch6.x之单机安装-yellowcong
单机安装Elasticsearch,这个elastic和solr争夺了 搜索引擎的半壁江山啊,elastic对于用户量大的搜索比solr还是强不少的,elastic本生就是分布式的,不需要依赖zookeeper,而且性能相对于Solr好,但是咋说,他们都是Lucene的框架,都得管Lucene叫爸爸,你说对吧。
单机安装Elasticsearch,这个elastic和solr争夺了 搜索引擎的半壁江山啊,elastic对于用户量大的搜索比solr还是强不少的,elastic本生就是分布式的,不需要依赖zookeeper,而且性能相对于Solr好,但是咋说,他们都是Lucene的框架,都得管Lucene叫爸爸,你说对吧。
安装准备
Elastic 需要 Java 8 环境。注意啦啊,是JAVA8
CentOS之Java安装-yellowcong
安装包下载
#官网地址
https://www.elastic.co/downloads/elasticsearch
#z这个是6.0.1版本,(高版本有些,有些东西会和老版本不一样)
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.1.tar.gz
#俺七牛云的备份下载地址
http://yellowcong.qiniudn.com/elasticsearch-6.0.1.tar.gz
1、新建用户
通过新建用户,来运行elastic
#下载
wget http://yellowcong.qiniudn.com/elasticsearch-6.0.1.tar.gz
#解压
tar -zxvf elasticsearch-6.0.1.tar.gz
#添加用户
adduser yellowcong
#设定密码
passwd yellowcong
#添加权限
chown -R yellowcong elasticsearch-6.0.1
#切换用户
su yellowcong
#查看当前用户
who am i
#启动elasticsearch
./elasticsearch-6.0.1/bin/elasticsearch
添加用户
2、配置sysctl.conf
#修改sysctl配置
vim /etc/sysctl.conf
#添加如下配置
vm.max_map_count=262144
#让配置生效
sysctl -p
#查看配置的数目
sysctl -a|grep vm.max_map_count
3、配置limits.conf
vim /etc/security/limits.conf
#yellowcong 是用户名
yellowcong hard nofile 65536
yellowcong soft nofile 65536
#重新登录 yellowcong 账户,查看是否生效
su yellowcong
#查看配置是否生效
ulimit -Hn
4、启动elastci
#启动elastic服务
elasticsearch-6.0.1/bin/elasticsearch
#后台启动
elasticsearch-6.0.1/bin/elasticsearch -d
下面是目录结构,大家都是老油条,一看也大概知道啥意思,
bin 工具
lib 依赖
cofnig 配置
启动成功
5、配置所有用户访问
#修改配置文件
vim /usr/local/elastic/elasticsearch-6.0.1/config/elasticsearch.yml
#打开注释,配置外网可以访问
#network.host:(这个地方有一个空格)0.0.0.0
network.host: 0.0.0.0
6、浏览器访问
#查看外网是否能访问
192.168.100.10:9200
问题合集
java.lang.RuntimeException: can not run elasticsearch as root
异常描述为不能以root权限运行Elasticsearch.解决办法是运行时加上参数:
[2017-12-07T09:35:24,448][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:134) ~[elasticsearch-6.0.1.jar:6.0.1]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:121) ~[elasticsearch-6.0.1.jar:6.0.1]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:69) ~[elasticsearch-6.0.1.jar:6.0.1]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-6.0.1.jar:6.0.1]
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-6.0.1.jar:6.0.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-6.0.1.jar:6.0.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:85) ~[elasticsearch-6.0.1.jar:6.0.1]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:104) ~[elasticsearch-6.0.1.jar:6.0.1]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:171) ~[elasticsearch-6.0.1.jar:6.0.1]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:322) ~[elasticsearch-6.0.1.jar:6.0.1]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:130) ~[elasticsearch-6.0.1.jar:6.0.1]
我看了一下版本,是1.8的
解决方案1
通过新建用户,来运行elastic
#添加用户
adduser yellowcong
#设定密码
passwd yellowcong
#添加权限
chown -R yellowcong elasticsearch-6.0.1
#切换用户
su yellowcong
#查看当前用户
who am i
#启动elasticsearch
./elasticsearch-6.0.1/bin/elasticsearch
添加用户
换了用户就成功了
访问成功
切记,不能让root用户执行啊,,通过指定elasticsearch -Des.insecure.allow.root=true,的方式,在6.0.1版本是不可行的
解决方案2
修改elasticsearch 的启动文件(通过指定elasticsearch -Des.insecure.allow.root=true,的方式,在6.0.1版本是不可行的)
vim elasticsearch-2.3.5/bin/elasticsearch
#添加设定
ES_JAVA_OPTS="-Des.insecure.allow.root=true"
解决方案3
直接在运行的时候指定 节点信息(通过指定elasticsearch -Des.insecure.allow.root=true,的方式,在6.0.1版本是不可行的)
#直接在运行的时候,添加配置
elasticsearch-2.3.5/bin/elasticsearch -Des.insecure.allow.root=true
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
#修改sysctl配置
vim /etc/sysctl.conf
#添加如下配置
vm.max_map_count=262144
#让配置生效
sysctl -p
#查看配置的数目
sysctl -a|grep vm.max_map_count
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
vim /etc/security/limits.conf
#yellowcong 是用户名
yellowcong hard nofile 65536
yellowcong soft nofile 65536
#重新登录 yellowcong 账户,查看是否生效
su yellowcong
#查看配置是否生效
ulimit -Hn
添加下面配置
查看配置是否生效
参考文献
http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html
http://blog.csdn.net/u012371450/article/details/51776505
性能比较
https://www.cnblogs.com/chowmin/articles/4629220.html
问题
http://blog.csdn.net/napoay/article/details/53237471
http://blog.csdn.net/mengfei86/article/details/51210093
更多推荐
所有评论(0)