読者です 読者をやめる 読者になる 読者になる

雑多なノート

プログラミング初心者がメモとかを書きます。基礎的なこともメモとして。偏食系のアニオタ。

neo4jにアクセスできない

インストールには成功した(?)けどなぜかブラウザからアクセスできなくて悩んでたら設定ファイルの問題だったっぽい
f:id:vayacico:20161123101859j:plain
外部からのアクセスは設定ファイルの変更が必要なのは知ってたけどポートフォワーディングしてもダメなのは意外だった
Neo4jをはじめよう - (1) インストール - ふゆみけ〜おかわり〜
これを参考に設定した
設定ファイルの場所とかコメントアウトする記述が違ったけど勘でやったらなんか上手くいった
f:id:vayacico:20161123102040j:plain

ログイン成功
あとはWarningを解決せねば



f:id:vayacico:20161123102215j:plain

neo4jのインストール

グラフデータベースで遊んでみたくなったのでインストールしてみた

 yumでも入れられるみたいだけど実験版?が入るだのなんだの不穏なことが書かれてたので公式からtar.gzを落としてインストールした

Download Neo4j - Neo4j Graph Database

Community Editionなるものをダウンロードした

色々書いてあるけど大規模なデータベースに向かないとかサポートがないとからしい

あまり関係ないかな

 

インストールといってもファイル展開するだけみたいで楽チンだった

初めて知ったけど自分でインストールしたファイルって/opt以下に置くらしい

WindowsのあのフォルダはUNIX/Linuxで言えばあそこだ - Qiita

 

/opt/neo4jに展開してインストール完了

 

って思ったらJDK入れろと怒られたので最新版を入れてもう一回起動

 

起動には成功したっぽいけど何やらWarningが

[vayacico@lavie bin]$ ./neo4j start

Starting Neo4j.
WARNING: Max 1024 open files allowed, minimum of 40000 recommended. See the Neo4j
manual.
Started neo4j (pid 3308). By default, it is available at http://localhost:7474/
There may be a short delay until the server is ready.
See /opt/neo4j-community-3.0.7/logs/neo4j.log for current status.

 

 

ファイルいっぱい開きたいけどセキュリティの設定で出来ないから変えてくれーってことか

起動には成功してるっぽいし面倒なので後でやろう……

Play Frameworkで「Database 'default' is in an inconsistent state!」エラー

エラー

Play Frameworkからデータベース作成時にエラーが発生.

Modelを作ると自動的にテーブルを更新してくれる便利な機能を使ったらエラーがおきた.

f:id:vayacico:20160218230438p:plain

エラーメッセージ見ると文法エラーっぽい.

自分でSQL文書いたわけじゃないんだけどな….

解決法

調べてみたらModelを継承したクラスのTimestamp型フィールドに型を指定するアノテーションを付けていなかったのが原因らしい.

型を明示的に指定しろってことなのだろうか.

変更前

@UpdatedTimestamp
public Timestamp login_at;

変更後

@Column(columnDefinition = "datetime")
@UpdatedTimestamp
public Timestamp login_at;

最近やっと少しずつフレームワークのありがたみが実感できるようになってきた.

こういう機能はやっぱり便利.

参考

java - Storing datetime in a mysql server play framework - Stack Overflow

バックスペースが^Hになる

activatorを終了した後からバックスペースが^Hになってしまった.

以下のコマンドでとりあえず対症療法的には解決.

$ stty erase ^H

puttyで試したら大丈夫だったので,rloginだけで起きる問題かもしれない.

毎回打たなくてはいけないからちょっと面倒.

根本的に治す方法ないかなー.

Play Frameworkでコンパイル時にUnable to set localhostエラー

エラー

Windows環境では何もエラー起きなかったがCentOSに持っていったときにエラーが起きた.

サーバー起動後のコンパイル時に起きてるっぽい.

[error] - net.sf.ehcache.Cache - Unable to set localhost. This prevents creation of a GUID. Cause was: sakura1: sakura1: unknown error
java.net.UnknownHostException: rabbit: rabbit: unknown error
        at java.net.InetAddress.getLocalHost(InetAddress.java:1505) ~[na:1.8.0_71]
        at net.sf.ehcache.Cache.<clinit>(Cache.java:214) ~[ehcache-core.jar:na]
        at net.sf.ehcache.config.ConfigurationHelper.createCache(ConfigurationHelper.java:296) [ehcache-core.jar:na]
        at net.sf.ehcache.config.ConfigurationHelper.createDefaultCache(ConfigurationHelper.java:219) [ehcache-core.jar:na]
        at net.sf.ehcache.CacheManager.configure(CacheManager.java:722) [ehcache-core.jar:na]
        ...

作業

理由はよく分からないけど,調べてみたらホスト名がローカルホストに解決できないのが原因らしい. ホスト名とループバックアドレスの宣言を/etc/hostsに追記して解決.

$ sudo bash
# echo "127.0.0.1 localhost sakura1" >> /etc/hosts

参考

configuration - Play Framework GUID - Stack Overflow

Play Frameworkのインストール

Play Frameworkをインストールしてみた.

作業環境

作業

Play FrameworkはTypesafe Activatorというツールを通して利用するらしい.

まずは,公式サイトからActivator distributionをダウンロード,解凍する.

Build Reactive Applications with Typesafe Activator | @typesafe

$ wget https://downloads.typesafe.com/typesafe-activator/1.3.7/typesafe-activator-1.3.7.zip
$ unzip typesafe-activator-1.3.7.zip

読み込みと書き込み権限がある場所に展開する必要があるらしいので何も考えずにホームディレクトリに展開した.

いちいちディレクトリ指定するのが面倒なので展開したディレクトリにパスを通す.

.bash_profileに以下を追記した.

PATH=$PATH:/home/USERNAME/activator

一度ログアウトしてログインしたあと,コマンドが起動できることを確認してインストール作業終了.

activator -help  

新規アプリケーションは以下のコマンドで作成できる.

activator new APPNAME play-java

するとカレントディレクトリにアプリケーション名と同じディレクトリが作成される.

参考

Installing

パス(PATH)の確認と設定方法は? - Pocketstudio.jp Linux Wiki

CentOSにJDKをインストール

Play Frameworkで必要だったのでopenjdkをインストールした.

作業

yumでパッケージを検索する.

# yum search openjdk

検索して出てきたものの中から今回は一番新しいっぽいjava-1.8.0をインストールした. このときjava-1.8.0-openjdk.x86_64だと開発環境が入らない(javacが使えなかった)のでjava-1.8.0-openjdk-devel.x86_64をインストールする.

# yum install java-1.8.0-openjdk-devel.x86_64

javaとjavacが使えることを確認して作業終了.

参考

CentOS 6.x に yum で Java 7 をインストールする手順 (OpenJDK) | WEB ARCH LABO

yumでアンインストールしたい