JanusGraph是分布式图数据库,前身是Titan。JanusGraph是Titan的一个fork。Titan项目创建于2012年,于2016年停止维护,2017年,JanusGraph项目fork了Titan,直至今天。所以建议大家优选JanusGraph,当然Titan依然是可用的。
JanusGraph支持多种后端和索引,这里博主选择Hbase与Elasticsearch。大家在安装之前,请一定参考相关版本的兼容性。这里博主使用:
Centos7.2
jdk-8u191-linux-x64.rpm
hadoop-2.7.6
zookeeper-3.4.9
hbase-1.2.6
elasticsearch-5.6.5
janusgraph-0.3.1-hadoop2
这里JanusGraph使用hbase做后端、elasticsearch做索引,并且在单节点进行伪分布式的配置。所以首先安装jdk,安装之前请先卸载系统自动的jdk。
一、安装Java环境
1、下载 jdk-8u191-linux-x64.rpm
2、安装jdk:
rpm -ivh jdk-8u191-linux-x64.rpm
安装成功之后即可使用 java -version 查看java的信息。但是为了后续安装,还是建议配置java环境变量。
3、配置java环境变量:
vim /etc/profile
在最后面加上:
export JAVA_HOME=/usr/java/jdk1.8.0_191-amd64
export JRE_HOME=/usr/java/jdk1.8.0_191-amd64/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
保存后使环境变量生效:
source /etc/profile
二、关闭禁用防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
三、安装Hadoop:
为了避免后续安装问题,安装的Hadoop一定要根据Hbase的兼容性选择版本。
1、下载hadoop-2.7.6.tar.gz
2、解压:
tar -xzvf hadoop-2.7.6.tar.gz
3、配置环境变量,在/etc/profile之后加上:
export HADOOP_HOME=/data/janus/hadoop-2.7.6
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
4、配置hadoop-2.7.6/etc/hadoop/slaves:
将localhost改成master (master为hostname)
5、配置hadoop-2.7.6/etc/hadoop/hadoop-env.sh:
export JAVA_HOME=/usr/java/jdk1.8.0_191-amd64
改为实际的java地址。
6、配置hadoop-2.7.6/etc/hadoop/core-site.xml:
fs.defaultFS
hdfs://master:9000
hadoop.tmp.dir
data/janus/hadoop-2.7.6/tmp
data/janus/hadoop-2.7.6为hadoop的解压目录
7、配置hadoop-2.7.6/etc/hadoop/hdfs-site.xml:
dfs.namenode.name.dir
data/janus/hadoop-2.7.6/dfs/name
dfs.datanode.data.dir
data/janus/hadoop-2.7.6/dfs/data
dfs.replication
1
dfs.namenode.secondary.http-address
master:9001
dfs.webhdfs.enabled
true
建议在data/janus/hadoop-2.7.6下先创建name与data文件夹,并赋予777权限。
8、配置hadoop-2.7.6/etc/hadoop/yarn-site.xml:
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.address
master:8032
yarn.resourcemanager.scheduler.address
master:8030
yarn.resourcemanager.resource-tracker.address
master:8031
yarn.resourcemanager.admin.address
master:8033
yarn.resourcemanager.webapp.address
master:8034
9、配置hadoop-2.7.6/etc/hadoop/mapred-site.xml:
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
master:10020
mapreduce.jobhistory.webapp.address
master:19888
10、初始化:
在hadoop-2.7.6/下执行:
bin/hdfs namenode -format
11、启动hadoop:
sbin/start-all.sh (停止sbin/stop-all.sh)
12、在浏览器中通过:
IP:50070进行访问。
四、安装zookeeper
1、下载zookeeper-3.49.tar.gz
2、解压:
tar -vxf zookeeper-3.49.tar.gz
3、配置zookeeper-3.4.9/conf/zoo.cfg:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/install_pakage/zookeeper-3.4.9/data
clientPort=2181
4、启动:
bin/zkServer.sh start
查看启动状态 bin/zkServer.sh status
五、安装hbase-1.2.6
1、下载hbase-1.2.6-bin.tar.gz
2、解压:
tar -xvf hbase-1.2.6-bin.tar.gz
3、添加环境变量:
export HBASE_HOME=/data/janus/hbase-1.2.6
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin
4、配置hbase-1.2.6/conf/regionservers
改为master
5、配置hbase-1.2.6/conf/hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_191-amd64/
6、配置hbase-1.2.6/conf/hbase-site.xml
hbase.rootdir
hdfs://master:9000/opt/hbase/hbase_db
hbase.cluster.distributed
true
hbase.zookeeper.quorum
master
hbase.zookeeper.property.dataDir
/data/janus/zookeeper-3.4.9/data
7、启动hbase:
bin/start-hbase.sh
8、通过网页访问:
IP:16010
六、安装elasticsearch-5.6.5
1、下载elasticsearch-5.6.5.zip
2、elasticsearch-5.6.5不允许使用root用户,所以需要首先新建用户和用户组:
adduser es
passwd es
groupadd esg
usermod -G esg es
chmod -R 777 elasticsearch-5.6.5
chown -R es elasticsearch-5.6.5
chgrp -R esg elasticsearch-5.6.5
3、配置elasticsearch-5.6.5/config/jvm.options
-Xms2g
-Xmx2g
改为
-Xms256m
-Xmx256m
4、配置elasticsearch-5.6.5/config/elasticsearch.yml
cluster.name: my-application
node.name: node-1
network.host: 192.168.0.234
http.port: 9200
5、启动elasticsearch-5.6.5
./bin/elasticsearch
后台启动:./bin/elasticsearch -d
结束后台进程:
ps -ef | grep elastic
kill -9 进程号
6、通过网页访问:
IP:9200
七、安装janusgraph并配置HTTP访问:
1、下载janusgraph-0.3.1-hadoop2.zip
2、解压:
unzip janusgraph-0.3.1-hadoop2.zip
3、复制janusgraph-hbase-es.properties 为http-janusgraph-hbase-es.properties 放在janusgraph-0.3.1-hadoop2/conf/gremlin-server目录下,http-janusgraph-hbase-es.properties配置如下:
storage.backend = hbase
storage.hostname = master
cache.db-cache = true
cache.db-cache-clean-wait = 20
cache.db-cache-time = 180000
cache.db-cache-size = 0.5
index.search.backend = elasticsearch
index.search.hostname = master
gremlin.graph = org.janusgraph.core.JanusGraphFactory
storage.hbase.table = janus
4、复制gremlin-server.yaml为http-gremlin-server.yaml 放在janusgraph-0.3.1-hadoop2/conf/gremlin-server目录下,http-gremlin-server.yaml 更改下列配置如下:
host: 192.168.0.234
port: 8182
scriptEvaluationTimeout: 30000
channelizer: org.apache.tinkerpop.gremlin.server.channel.HttpChannelizer
graphs: {
graph: conf/gremlin-server/http-janusgraph-hbase-es.properties
}
5、运行gremlin-server:
./bin/gremlin-server.sh conf/gremlin-server/http-gremlin-server.yaml
6、通过web接口访问:
IP:8182/?gremlin=100-10
结果如下: