linux下coreseek遇到的错误和问题解决方案

linux下coreseek遇到的错误和问题解决方案

1、测试mmseg分词的时候

执行

/usr/local/coreseek/bin/indexer -c etc/csft.conf –all

提示下面的错误:

/usr/local/coreseek/bin/indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

原因:sphinx indexer的依赖库ibmysqlclient.so.18找不到。

解决办法:

vi /etc/ld.so.conf

加入 /usr/local/mysql/lib

然后运行 ldconfig

问题解决

2、执行索引的时候

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft.conf –all –rotate

提示下面的错误:

FATAL: failed to open /usr/local/coreseek/var/data/article/.tmp.spl: No such file or directory, will not index. Try –rotate option.

原因:source源找不到mysql.sock

解决办法:在配置文件csft.conf(自己创建的文件)的 source源 加入下面的代码

sql_sock   = /tmp/mysql.sock

3、执行索引的时候,出现的警告,导致索引没创建成功

WARNING: failed to open pid_file '/usr/local/coreseek/var/log/searchd_ttd_search.pid'.

WARNING: indices NOT rotated.

原因:找不到searchd_ttd_search.pid文件

解决办法:在’/usr/local/coreseek/var/log 下创建searchd_ttd_search.pid文件

再执行/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft.conf –all –rotate

出现了另外一个警告:

WARNING: failed to scanf pid from pid_file '/usr/local/coreseek/var/log/searchd_ttd_search.pid'.

WARNING: indices NOT rotated.

原因:虽然创建了searchd_ttd_search.pid文件,但是里面没有写入进程id

解决办法(根本原因):在执行索引之前没有启动searchd服务,因此执行下面的命令

/usr/local/coreseek/bin/searchd –config /usr/local/coreseek/etc/csft.conf

4、执行索引时

/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft.conf –all –rotate

提示下面的错误:

FATAL: failed to open /usr/local/coreseek/var/data/article.tmp.spl: Permission denied, will not index. Try –rotate option.

原因:权限问题

解决办法:使用root用户来执行命令

你可能感兴趣的:(sphinx)