注意: 1.同时运行es和kibana 需要2g内存 2.es不能在root用户运行
修改配置文件 vim /etc/security/limits.conf 添加
- soft nofile 65536
- hard nofile 65536
vim /etc/sysctl.conf 添加 vm.max_map_count=262144
vi /etc/security/limits.d/90-nproc.conf 修改 1024-----2048
然后执行命令 sysctl -p chown -R root.root /var/empty/sshd chmod 744 /var/empty/sshd service sshd restart
执行完成之后重启 es
关闭防火墙 ( 临时关闭:chkconfig iptables off 永久关闭:service iptables stop 临时开启:service iptables start 永久开启:chkconfig iptables on
在开启了防火墙时,做如下设置,开启相关端口,
修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
)
用windows访问 -----:9200 出现: { "name" : "node-1", "cluster_name" : "elasticsearch", "cluster_uuid" : "TELulLpnRpOxhNxnaymIOQ", "version" : { "number" : "5.0.0", "build_hash" : "253032b", "build_date" : "2016-10-26T04:37:51.531Z", "build_snapshot" : false, "lucene_version" : "6.2.0" }, "tagline" : "You Know, for Search" } 表示安装成功
安装 kibana 修改配置 kibnal.yml server.host:"linux的ip" elasticsearch.url:"http://es的ip"
此时要和es关联 还需要修改es的配置elasticsearch.yml
cluster.name: elasticsearch
node.name: node-1
path.data: /usr/src/dev/data/es/data
path.logs: /usr/src/dev/data/es/log
# 这里的ip 必须和 kibnal 的一致 这样两者就关联在一起 ip地址没有双引号
network.host: linux的ip
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.242.128"]
# 添加这两行
http.cors.enabled: true
http.cors.allow-origin: "*"
启动kibnal
在windows直接访问 ip:5601
创建 java 客户端 public static TransportClient getClient() { TransportClient client; try { // 创建客户端 client = new PreBuiltTransportClient(Settings.EMPTY) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("192.168.242.128"), 9300)) ; return client; } catch (UnknownHostException e) { e.printStackTrace(); return null; } }
添加一条数据:
Map<String,String> map = new HashMap<String, String>();
map.put("id","1");
map.put("name","小明");
// 1.shop:索引 2.member: type 3.id
client.prepareIndex("shop","member",map.get("id")).setSource(map, XContentType.JSON).get();
在kibnal->Management->Index Patterns
去掉 Index contains time-based events 的选中
在输入框添加 索引 也就是上面的 shop
kibnal->Discover 直接搜索 小明
需要的依赖
添加maven仓库地址 :http://oss.sonatype.org/content/repositories/releases/
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>5.4.2</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>5.4.2</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
<version>3.0.0.BUILD-SNAPSHOT</version>
<exclusions>
<exclusion>
<artifactId>elasticsearch</artifactId>
<groupId>org.elasticsearch</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.wltea.ik-analyzer</groupId>
<artifactId>ik-analyzer</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
</dependencies>
安装中文分词器 ik 1.下载与elasticsearch的版本对应的ik(gitHub搜索 elasticsearch-analysis-ik.zip)
2.解压zip,进入目录,用maven打包(mvn package)
3.复制elasticsearch-analysis-ik-5.0.0.zip到elasticsearch/plugn/ik中(target\releases\elasticsearch-analysis-ik-5.0.0.zip)
4.解压elasticsearch-analysis-ik-5.0.0.zip,重启elasticsearch(unzip elasticsearch-analysis-ik-5.0.0.zip)