[掲示板へもどる]
一括表示

  [No.1773] 大量データの前処理でMySQL接続切れ 投稿者:   投稿日:2014/08/08(Fri) 18:51:46

はじめまして、張と申します。

95MBのテキストファイルをkhcoderで前処理すると
最後の段階でMysqlが接続切れてkhcoderが落ちます。
エラーメッセージは以下の通りです。

C:\khcoder>kh_coder
This is KH Coder 2.beta.31 on MSWin32.
CWD: C:\khcoder
R Version: 3.1, x86_64
Using un-threaded functions...
C:\Users\zsy221\Desktop\coder_data\
Connected to MySQL 5.6.20-log. Creating new DB...
Connected to MySQL 5.6, khc1.
Performed "SET NAMES ujis"
Connected to MySQL 5.6, khc1.
Performed "SET NAMES ujis"
gui_wait: making new...
Checking icode... sjis
Morpho1 215 wallclock secs (95.39 usr + 1.09 sys = 96.48 CPU)
Morpho2 101 wallclock secs (93.70 usr + 2.74 sys = 96.44 CPU)
Read 1962 wallclock secs ( 6.08 usr + 2.19 sys = 8.26 CPU)
Format 980 wallclock secs ( 4.49 usr + 0.30 sys = 4.78 CPU)
Strat1 6979 wallclock secs (440.97 usr + 23.19 sys = 464.16 CPU)
Strat2 791 wallclock secs ( 1.47 usr + 0.98 sys = 2.45 CPU)
RawTXT 412 wallclock secs (118.67 usr + 2.52 sys = 121.19 CPU)
df 3612 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU)
fc 1905 wallclock secs ( 0.50 usr + 0.31 sys = 0.81 CPU)
Check 13 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU)
DBD::mysql::db do failed: MySQL server has gone away at /<C:\khcoder\kh_coder.ex
e>mysql_exec.pm line 256.
Exit (gui_errormsg.pm)

====
作成されたデータベースは6.7Gになりました。

環境は以下の通りです。
os: windows8.1
cpu: i3 1.80GH
memory: 8G
ストーレジ:120G

500Mのデータも解析できたとの記事を見たので、私の場合は95Mで、そんなに大きいデータでもないかとおもいますが..

どう対処すれば良いでしょうか。
よろしくお願いします。


  [No.1774] Re: 大量データの前処理でMySQL接続切れ 投稿者:HIGUCHI Koichi  投稿日:2014/08/08(Fri) 20:32:30

こんにちは、樋口です。書き込みありがとうございます。

ご自身で別途インストールなさったMySQL5.6をお使いで、
そのMySQLが"gone away"してしまうという状況ですね。

MySQL5.6のエラーログに何か記録が残っていないでしょうか?


  [No.1775] Re: 大量データの前処理でMySQL接続切れ 投稿者:ZHANG  投稿日:2014/08/09(Sat) 16:47:56

樋口先生
ご返信ありがとうございます。

KHCODERが落ちる時はMYSQLにエラーログは残ってないようです。
mysqlを起動したときにこのようなログが残っていました。

---------------------------------------------------------------------
2014-08-09 09:54:44 2860 [Note] Plugin 'FEDERATED' is disabled.
2014-08-09 09:54:44 b34 InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator.
2014-08-09 09:54:44 2860 [Note] InnoDB: Using atomics to ref count buffer pool pages
2014-08-09 09:54:44 2860 [Note] InnoDB: The InnoDB memory heap is disabled
2014-08-09 09:54:44 2860 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2014-08-09 09:54:44 2860 [Note] InnoDB: Memory barrier is not used
2014-08-09 09:54:44 2860 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-08-09 09:54:44 2860 [Note] InnoDB: Not using CPU crc32 instructions
2014-08-09 09:54:44 2860 [Note] InnoDB: Initializing buffer pool, size = 653.0M
2014-08-09 09:54:44 2860 [Note] InnoDB: Completed initialization of buffer pool
2014-08-09 09:54:44 2860 [Note] InnoDB: Highest supported file format is Barracuda.
2014-08-09 09:54:45 2860 [Note] InnoDB: 128 rollback segment(s) are active.
2014-08-09 09:54:45 2860 [Note] InnoDB: Waiting for purge to start
2014-08-09 09:54:45 2860 [Note] InnoDB: 5.6.20 started; log sequence number 26624281986
2014-08-09 09:54:45 2860 [Note] Server hostname (bind-address): '*'; port: 3306
2014-08-09 09:54:45 2860 [Note] IPv6 is available.
2014-08-09 09:54:45 2860 [Note] - '::' resolves to '::';
2014-08-09 09:54:45 2860 [Note] Server socket created on IP: '::'.
2014-08-09 09:54:45 2860 [Note] Event Scheduler: Loaded 0 events
2014-08-09 09:54:45 2860 [Note] C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld: ready for connections.
Version: '5.6.20-log' socket: '' port: 3306 MySQL Community Server (GPL)
--------------------------------------------------------------------

何か私の設定が間違えたりしたでしょうか。

よろしくお願いします。


  [No.1776] Re: 大量データの前処理でMySQL接続切れ 投稿者:HIGUCHI Koichi  投稿日:2014/08/09(Sat) 17:30:05

こんにちは、樋口です。書き込みありがとうございます。

> 何か私の設定が間違えたりしたでしょうか。

一歩ずつ問題の切り分けを行わないと、確実なことは分からなさそうです。

KH CoderのWindow版パッケージを解凍したそのままの状態では、前処理に成功
するのでしょうか。「C:\khcoder2」あたりにでも解凍して実験をされてはい
かがでしょう。

これで成功する場合、MySQL5.6の設定の問題です。これでも成功しない場合は、
KH Coderのバグ、データ内容の問題、セキュリティソフトウェアによる介入な
どの原因が考えられます。


  [No.1777] Re: 大量データの前処理でMySQL接続切れ 投稿者:ZHANG  投稿日:2014/08/09(Sat) 17:52:31

こんにちは、樋口先生。

最初はずっとkhcoderのwindows版パッケージそのままで前処理してみましたが同じ結果が出ました。
mysql 5.6に替えてシステム環境も替えて何回も試しましたがうまく行きませんでした。
データベースの書き込みはすでに完了したようで,普通にsql分でも読み込めることはできますが、khcoderの抽出語リストなどの機能は使えなくなります。
また、90MBのファイルを三つに分けて30MBだと前処理が問題なく成功するようでした。

前処理の最後の段階で mysql_exec.pm 256行の処理をするときに何か問題あるのでしょうか。


  [No.1778] Re: 大量データの前処理でMySQL接続切れ 投稿者:HIGUCHI Koichi  投稿日:2014/08/09(Sat) 18:28:24

こんにちは、樋口です。書き込みありがとうございます。

エラーが出ている場合は、Windows版パッケージそのままの状態で試していた
だいて、どんなエラーが出ているかをお知らせ下さい。そうでないと、エラー
の原因を見つけることが、よりいっそう難しくなるからです。

> mysql_exec.pm 256行
MySQLにSQL文を送るときは、必ずここを経由するので、なんとも言えません。
どのSQL文が送られたときにエラーになっているか分からないからです。

以下、いくつか問題の切り分けのためのチェックポイントです。

[0] チュートリアルの漱石「こころ」データ(kokoro2.txt)の前処理が成功
することを事前に確認してください。(以下を試すのと同じPC・KH Coderで)

[1] その90Mのファイルですが、「分析対象ファイルのチェック」はなさって
いますでしょうか。これで問題が見つからない状態にしてから前処理に進んで
ください。それでもエラーになる場合、

[2] セキュリティ関連ソフトウェアを無効にした上で、前処理をお試し下さい。
また、

[3] KH Coderを終了して、config\coder.iniをテキストエディタで開き、
sqllogを「1」にして上書き保存して下さい。そしてエラーになる前処理を実
行します。エラーが出てKH Coderが終了したら、config\sql.logを開いて、
このファイルの最後にあるSQL文の内容をお知らせ下さい。最後の物から3つ
ほどお知らせいただけると、ヒントになるかもしれません。


  [No.1779] Re: 大量データの前処理でMySQL接続切れ 投稿者:ZHANG  投稿日:2014/08/09(Sat) 18:55:16

樋口先生
コメントありがとうございます。

[0] チュートリアルの漱石「こころ」データ(kokoro2.txt)の前処理は成功しました。
[1] 90Mのファイルの「分析対象ファイルのチェック」は問題が見つからない状態にしていました。
[2] セキュリティ関連ソフトウェアはインストールされていません。

これから
[3]の通りsql log を記録してみます。

ありがとうございます。
また、よろしくお願いいたします。


  [No.1780] Re: 大量データの前処理でMySQL接続切れ 投稿者:HIGUCHI Koichi  投稿日:2014/08/09(Sat) 20:39:26

こんにちは、樋口です。書き込みありがとうございます。

先ほどは忘れていたのですが、

> また、90MBのファイルを三つに分けて30MBだと前処理が問題なく成功する
> ようでした。

この件については、3つのファイルをそれぞれプロジェクトとして登録
した場合、3つとも成功するのでしょうか。


  [No.1781] Re: 大量データの前処理でMySQL接続切れ 投稿者:ZHANG  投稿日:2014/08/09(Sat) 21:47:30

樋口先生

処理がうまく行きました。
khc.iniの設定で
max_allowed_packet = 16M
wait_timeout = 31536000 (待機時間を長めに設定しました)
二つを直したら問題なく処理が終わりました。
2行でどちらが効いたのかはよく分かりませんが...

ありがとうございました。
今後ともよろしくお願いいたします。


  [No.1782] Re: 大量データの前処理でMySQL接続切れ 投稿者:HIGUCHI Koichi  投稿日:2014/08/09(Sat) 23:28:30

こんにちは、樋口です。

結局、ご自身でトラブルシュートをしていただいて、しかも結果までご報告い
ただき、大変ありがとうございました。

これまでに見たことがないケースで、効率的なアドバイスができなくてすみま
せんでした。

こちらこそ、今後ともよろしくお願いいたします。

p.s.
64bitのWindowsをお使いで、なおかつ64bitのMySQL 5.6をご自身でインストー
ルされた場合には、そちらをお使いになった方が10%ほど処理時間を短縮できる
でしょう。