forked from recruitcojp/WebHive
/
INSTALL_aws.txt
164 lines (133 loc) · 5.42 KB
/
INSTALL_aws.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
【動作環境】
下記環境にて動作確認を実施しました。
AWS Elastic MapReduce Amazon
2.6.21.7-2.fc8xen
Apache/2.2.9
PHP 5.2.6-1+lenny9
MySQL 5.0.51a-24+lenny5
【導入手順】
1. 日本時間に変更する。
# cp -p /usr/share/zoneinfo/Japan /etc/localtime
2. viでUTF-8を利用できるように変更する。
# export LANG=ja_JP.UTF-8
# apt-get install vim
# update-alternatives --config editor ・・/usr/bin/vim.basicに変更
# vi /etc/vim/vimrc.local
set encoding=utf-8
set fileencodings=utf-8,iso-2022-jp,ucs21e,ucs-2,cp932,euc-jp,latin1
3. apacheをインストールする。
3.1. apache導入
# apt-get install apache2
# cd /etc/apache2
3.2. モジュール導入
# apt-get install libapache2-mod-php5
3.3. rewite設定有効化
# cd /etc/apache2/mods-enabled
# ln -s ../mods-available/rewrite.load
3.4. apache設定
# cd /etc/apache2/sites-available
# vi default
/var/www/WebHiveディレクトリ設定を追加する。
Alias /WebHive "/var/www/WebHive"
<Directory /var/www/WebHive>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
3.5. apache再起動
# /etc/init.d/apache2 restart
4. 外部からWEBアクセスできるようにHTTPポートを解放する。
4.1. HTTPポート解放
「AWS Management Console」→EC2タグ→左タグ「Security Groups」→起動したインスタンスを選択→ポート開放
4.2. 接続確認
ブラウザより接続確認
5. MySQLを設定する。
(1)MySQLの起動と自動起動設定
# /etc/init.d/mysqld start
# chkconfig mysqld on
# chkconfig --list mysqld
(2)データベース作成とユーザ登録/権限付与
# mysql -u root -p
mysql> create database <DB名>;
mysql> GRANT ALL PRIVILEGES ON <DB名>.* to <ユーザ名>@localhost identified by '<パスワード>';
mysql> flush privileges;
(3)作成したDBに接続できるのを確認する。
# mysql -u <ユーザ名> -p<パスワード> <DB名>
(4)作成したDBでcreate_mysql.sqlを実行する。
mysql> source create_mysql.sql
6. hive serverの動作を確認する。
# php /var/www/WebHive/app/modules/hivetest.php
7. WebHiveを導入する。
7.1. WebHiveパッケージダウンロード
https://github.com/recruitcojp/WebHive/
7.2. WebHiveインストール
# cd /var/www
# tar xvfz /home/hadoop/recruitcojp-WebHive-*******.tar.gz
# mv recruitcojp-WebHive-******* WebHive
# chown -R www-data:www-data WebHive
7.3. WebHiveのデータベース接続設定
# cd /var/www/WebHive/app/config
# cp database.php.mysql database.php
# vi database.php
環境に合わせてmysqlのDB名、ユーザ名、パスワードを変更する。
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'ユーザ名',
'password' => 'パスワード',
'database' => 'DB名',
'prefix' => '',
);
7.4. WebHiveの設定を行う。
# cd /var/www/WebHive/app/config
# cp app.php.aws app.php
# vi app.php
7.5. ディレクトリの設定を行う。
# mkdir /mnt/WebHive
# mkdir /mnt/WebHive/request
# mkdir /mnt/WebHive/result
# mkdir /mnt/WebHive/audit
# chown -R www-data:www-data /mnt/WebHive
# cd /var/www/WebHive
# ln -s /mnt/WebHive/request
# ln -s /mnt/WebHive/result
# ln -s /mnt/WebHive/audit
# cd /var/www/WebHive/app/webroot
# ln -s /mnt/WebHive/result
8. ブラウザよりユーザ登録を行う。
http://xxxxxxxxxx/WebHive/users/add
Authority:1=全権限あり、2=参照専用ユーザ、3=登録HiveQLのみ実行可能
hive_host:hive serverの接続先サーバを指定
hive_port:hive serverの接続先ポートを指定
ユーザ登録後に「http://xxxxxxxxxx/WebHive」へアクセスして登録したユーザでログインできるのを確認する。
※初回ユーザ登録後は管理者以外でユーザ管理画面を表示できなようにapp.confのUSER_ADMINパラメータを1にして下さい。
9. HiveQLリクエストファイル、処理結果ファイルのパージ設定を行う。
9.1. ログ出力先パスを変更する。
# vi /var/www/WebHive/app/modules/log_delete.sh
変更前) LOG_DIR="/var/www/html/WebHive"
変更後) LOG_DIR="/var/www/WebHive"
9.2. クーロン設定を追加する。
# crontab -e
3 * * * * /var/www/WebHive/app/modules/log_delete.sh > /var/www/WebHive/app/tmp/logs/log_delete.out 2>&1
※毎時3分にログパージスクリプトを起動する。
10. cakePHPログ/アプリログのローテーション設定を行う。
# vi /etc/logrotate.d/cakephp
/var/www/WebHive/app/tmp/logs/*.log /var/www/html/WebHive/audit/*.log {
daily
rotate 7
missingok
notifempty
}
11. ファイルアップロード制限を設定する。
# vi /etc/php.ini
memory_limit 128M
post_max_size 8M
upload_max_filesize 5M
【注意事項】
・WevHiveをhive server稼働ノード以外にインストールするとプログレスバーが正常に動作しません。
・ファイルアップロードでエラーとなる場合はapacheやphpのサイズ制限を見直して下さい。
・ストリーミング圧縮でメモリ不足エラーとなる場合は、zip圧縮スクリプトをご利用下さい。
ストリーミンング圧縮:/var/www/WebHive/app/modules/hive_request.php
zip圧縮:/var/www/WebHive/app/modules/hive_request_no.php