UBUNTU 14.04 LTS 安装 elasticseach
同步MYSQL表
并实现中文搜索

===========================================================================================

1、下载
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.1.deb

===========================================================================================

2、安装
dpkg -i elasticsearch-1.4.1.deb

===========================================================================================

3、启动脚本
Selecting previously unselected package elasticsearch.
(Reading database ... 90313 files and directories currently installed.)
Preparing to unpack elasticsearch-1.4.1.deb ...
Unpacking elasticsearch (1.4.1) ...
Setting up elasticsearch (1.4.1) ...
Adding system user `elasticsearch' (UID 107) ...
Adding new user `elasticsearch' (UID 107) with group `elasticsearch' ...
Not creating home directory `/usr/share/elasticsearch'.
### NOT starting elasticsearch by default on bootup, please execute
 sudo update-rc.d elasticsearch defaults 95 10
### In order to start elasticsearch, execute
 sudo /etc/init.d/elasticsearch start
Processing triggers for ureadahead (0.100.0-16) ...

===========================================================================================

4、安装JAVA
wget http://119.254.108.84:8080/jdk.tar.gz
tar zxvf jdk.tar.gz

sudo update-alternatives --install /usr/bin/java java /opt/jdk/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /opt/jdk/bin/jar 300
sudo update-alternatives --config java

vim /etc/profile
export JAVA_HOME=/opt/jdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile

验证
java -version

===========================================================================================

5、校验是否启动

netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 690/sshd
tcp6 0 0 :::9200 :::* LISTEN 10610/java
tcp6 0 0 :::9300 :::* LISTEN 10610/java
tcp6 0 0 :::22 :::* LISTEN 690/sshd
tcp6 0 0 :::3000 :::* LISTEN 1584/pm2: Daemon
udp 0 0 0.0.0.0:43449 0.0.0.0:* 1149/dhclient
udp 0 0 0.0.0.0:68 0.0.0.0:* 1149/dhclient
udp6 0 0 :::12563 :::* 1149/dhclient
udp6 0 0 :::54328 :::* 10610/java
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 8720 1584/pm2: Daemon /root/.pm2/pub.sock
unix 2 [ ACC ] STREAM LISTENING 8721 1584/pm2: Daemon /root/.pm2/rpc.sock
unix 2 [ ACC ] SEQPACKET LISTENING 5391670 17731/systemd-udevd /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 10362 1/init @/com/ubuntu/upstart
unix 2 [ ACC ] STREAM LISTENING 1641 833/acpid /var/run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 9453 619/dbus-daemon /var/run/dbus/system_bus_socket

===========================================================================================

6、与MYSQL之间完成同步
http://blog.csdn.net/alen1985/article/details/41356361

官方地址:
https://github.com/jprante/elasticsearch-river-jdbc

6.1 去安装目录安装

cd /usr/share/elasticsearch/bin/

./plugin --install jdbc --url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.3.4.4/elasticsearch-river-jdbc-1.3.4.4-plugin.zip

root@node1:/usr/share/elasticsearch/bin# ./plugin --install jdbc --url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.3.4.4/elasticsearch-river-jdbc-1.3.4.4-plugin.zip
-> Installing jdbc...
Trying http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.3.4.4/elasticsearch-river-jdbc-1.3.4.4-plugin.zip...
Downloading ......................................................................DONE
Installed jdbc into /usr/share/elasticsearch/plugins/jdbc

---------------------------------------

6.2 下载mysql的driver

curl -o mysql-connector-java-5.1.33.zip -L 'http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.33.zip/from/http://cdn.mysql.com/'

---------------------------------------

6.3 拷贝jar包到指定目录
cp mysql-connector-java-5.1.33-bin.jar /usr/share/elasticsearch/plugins/jdbc/
cd /usr/share/elasticsearch/plugins/jdbc/
chmod 644 *

6.4 重启elasticsearch
sudo /etc/init.d/elasticsearch restart

6.5 出现主机名解析问题

改/etc/hostname

---------------------------------------

6.6 出现了插件错误

[2014-11-27 23:26:52,838][INFO ][node ] [Powderkeg] initializing ...
[2014-11-27 23:26:52,859][INFO ][plugins ] [Powderkeg] loaded [jdbc-1.3.4.4-d2e33c3], sites []
[2014-11-27 23:26:52,905][ERROR][bootstrap ] {1.4.1}: Initialization Failed ...
- IncompatibleClassChangeError[Implementing class]

./plugin --install jdbc --url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.4.0.3.Beta1/elasticsearch-river-jdbc-1.4.0.3.Beta1-plugin.zip

./plugin -r jdbc

service elasticsearch restart

OK,解决了
---------------------------------------

6.7 搞定同步

curl -XPUT 'localhost:9200/_river/my_jdbc_river/_meta' -d '{
    "type" : "jdbc",
    "jdbc" : {
        "url" : "jdbc:mysql://192.168.60.5:3306/heike_product",
        "user" : "。。。。。。",
        "password" : "。。。。。",
        "sql" : "select * from product"
    }
}'

6.8 安装head插件
tail -f /var/log/elasticsearch/elasticsearch.log
cd /usr/share/elasticsearch/bin/
./plugin -install mobz/elasticsearch-head

6.9 卸载
service elasticsearch stop
apt-get remove elasticsearch

wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.4.deb
dpkg -i elasticsearch-1.3.4.deb
service elasticsearch restart

===================================================

7. node.js封装

http://www.elasticsearch.org/guide/en/elasticsearch/client/javascript-api/current/quick-start.html

var pageNum = request.param('page', 1);
var perPage = request.param('per_page', 15);
var userQuery = request.param('search_query');
var userId = request.session.userId;

client.search({
  index: 'posts',
  from: (pageNum - 1) * perPage,
  size: perPage,
  body: {
    filtered: {
      query: {
        match: {
          // match the query agains all of
          // the fields in the posts index
          _all: userQuery
        }
      },
      filter: {
        // only return documents that are
        // public or owned by the current user
        or: [
          {
            term: { privacy: "public" }
          },
          {
            term: { owner: userId }
          }
        ]
      }
    }
  }
}, function (error, response) {
  if (err) {
    // handle error
    return;
  }

response.render('search_results', {
    results: response.hits.hits,
    page: pageNum,
    pages: Math.ceil(response.hits.total / perPage)
  })
});

elasticsearch installation guide的更多相关文章

  1. Arch Linux Installation Guide

    Arch Linux Installation Guide   timedatectl set-ntp true   sed -i '/Score/{/China/!{n;s/^/#/}}' /etc ...

  2. P6 EPPM Manual Installation Guide (Oracle Database)

    P6 EPPM Manual Installation Guide (Oracle Database) P6 EPPM Manual Installation Guide (Oracle Databa ...

  3. .NET Core installation guide

      .NET Core installation guide 1.Download Visual Studio 2015 Make sure you have Visual Studio 2015 U ...

  4. 【英文文档】Solidifier for Windows Installation Guide

    Page 1Solidifier for Windows  Installation Guide Page 2McAfee, Inc.McAfee® Solidifier for Windows In ...

  5. Installation Guide Ubuntu 16.04

    Beside the installation guide on the main page, here is a guide to install GenieACS off a freshly in ...

  6. Ubuntu14.04 clang3.8 Installation Guide

    Reference Installing clang 3.8 on Ubuntu 14.04.3. Ubuntu14.04 clang3.8 Installation Guide 1.add the ...

  7. Installation Guide of Ubuntu 14.04, 64bit on Dell Server

    Installation Guide of Ubuntu 14.04, 64bit on Dell Server 准备:U盘(已通过ultraiso刻录ISO镜像). 1.插入U盘: 2.启动服务器, ...

  8. Oracle Grid Infrastructure Installation Guide for Linux 以debug模式安装并记录日志

    最新文章:Virson's Blog 使用如下命令能够以debug模式安装Oracle Grid并将日志记录到文件 [grid@vdb1 11ggrid]$ ./runInstaller -debug ...

  9. Installation Guide for Appium 1.6.3

    A.) System Requirements : - Require node 4 or above Xcode 8 iOS 10 B.) Open terminal and type follow ...

随机推荐

  1. vlan协议及端口类型

    一.VLAN协议 1.协议的应用 802.1Q协议,即Virtual Bridged Local Area Networks协议,主要规定了VLAN的实现. 2.协议结构 每一个支持802.1Q协议的 ...

  2. JavaSE复习总结之集合(Collection)

    Java早期版本只给集合类库提供了很少的一组类,但是随着Java版本的升级,Java集合类库越来越充实.集合类库里面存放的,是各式各样的数据容器,我们基本都学过数据结构这门课,数据结构所讲的就是ADT ...

  3. C#中Abstract和Virtual

    C#中Abstract和Virtual 在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别.二者都牵涉到在派生类中与override的配合使用. 一.Vi ...

  4. WEB 业务测试中需要关注的问题

    汇总起来分为:    1.浏览器自身的一些操作,后退键,刷新键,样式兼容,多浏览器之间的一些操作 2.键盘快捷键的一些支持 3.所有前端校验,必须也在后端代码进行校验,验证后端是否校验可越过前端校验进 ...

  5. 关于PHP上传文件和中文名乱码情况

    关于PHP文件上传 在前端HTML页面,表单如下 Upload.html <!doctype html><html lang="en"><head&g ...

  6. SWT使用注意点

    出现这个错: java.lang.UnsatisfiedLinkError: no swt-win32-3139 in java.library.path 解决方法: 将swt-win32-3139导 ...

  7. 关闭Eclipse回车自动添加大括号

    如图:

  8. git push上传代码到gitlab上,报错401或403

    之前部署的gitlab代码托管平台,采用ssh方式连接gitlab,在客户机上产生公钥上传到gitlab的SSH-Keys里,则git clone下载和git push上传都没问题,这种方式很安全. ...

  9. VS XML注释

    1.<c> <c>text</c> 其中: text 希望将其指示为代码的文本. 备注 <c> 标记为您提供了一种将说明中的文本标记为代码的方法.使用 ...

  10. [转]java去除List中重复的元素

    java去除List中重复的元素 如果用Set ,倘若list里边的元素不是基本数据类型而是对象, 那么请覆写Object的boolean   equals(Object   obj)   和int  ...