使用Docker安装方式
[root@hadoop01 ~]# sudo yum install -y yum-utils
[root@hadoop01 ~]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
注意:官方的源(https://download.docker.com/linux/centos/docker-ce.repo)国内的安装速度特别慢,这里使用的是国内阿里的docker源。
[root@hadoop01 ~]# sudo yum install docker-ce docker-ce-cli containerd.io
[root@hadoop01 ~]# sudo systemctl start docker
[root@hadoop01 ~]# sudo systemctl enable docker
[root@hadoop01 ~]# sudo docker run hello-world
需要等一会儿,如果看到输出"Hello from Docker!"就表示安装成功了!
[root@hadoop01 ~]#vim /etc/docker/daemon.jason //修改或新建该文件
# 修改如下:
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"
"https://registry.docker-cn.com"
]
}
# 加载重启docker
[root@hadoop01 ~]# sudo systemctl daemon-reload
[root@hadoop01 ~]# sudo systemctl restart docker
Docker中国区官方镜像
https://registry.docker-cn.com
网易
http://hub-mirror.c.163.com
ustc
https://docker.mirrors.ustc.edu.cn
中国科技大学
https://docker.mirrors.ustc.edu.cn
ERROR:实测速度未变化,最终使用阿里云镜像加速器方案,使用了个人加速器地址。
[root@hadoop01 ~]# sudo docker run -it -p 8182:8182 janusgraph/janusgraph
说明:第一次运行的时候会需要下载janusgraph的img,需要一些时间。当出现类似下面的日志,表示启动成功了。Gremlin-Server已经监听在8182端口上了。
11058 [gremlin-server-boss-1] INFO org.apache.tinkerpop.gremlin.server.GremlinServer - Channel started at port 8182.
平时使用时,采取后台模式打开:
[root@hadoop01 ~]# sudo docker run -d -p 8182:8182 janusgraph/janusgraph
这一步可能的错误:
docker: Error response from daemon: driver failed programming external connectivity on endpoint trusting_lewin (01f828d352b8f200072347c9512a218d74ac7578d77a4730b61464fa9e0854c4): Bind for 0.0.0.0:8182 failed: port is already allocated.
ERRO[0000] error waiting for container: context canceled
解决:
重启docker:
systemctl restart docker
或使用该链接中的方法:https://blog.csdn.net/weixin_30919235/article/details/101665464转到
JanusGraph的服务已经启动,需要启动Gremlin Console客户端去连接进行测试。可以用Docker去启动一个Gremlin控制台客户端,也可以用本地包的方式启动。这里介绍本地包的方式(也就是传统的方式)。
在官网下载janusgraph-0.5.0.zip包(官网下载国内网络不好用,我在百度网盘有共享:链接:https://pan.baidu.com/s/1xFTyZq_1mkjM0yRR40NUBA 提取码:26e2)
使用SSH Secure File Transfer将文件上传服务器
[root@hadoop01 ~]# unzip janusgraph-0.5.0.zip
[root@hadoop01 ~]# cd janusgraph-0.5.0
[root@hadoop01 janusgraph-0.5.0]# bin/gremlin.sh
第三条命令报错
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/tinkerpop/gremlin/console/Console : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
查询后,问题是jdk版本问题,需要JDK SE8以上
[root@hadoop01 ~]# rpm -qa | grep jdk
[root@hadoop01 ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64
# 多个路径中间用空格隔开
...
[root@hadoop01 ~]# wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn/java/jdk/8u261-b12/a4634525489241b9a9e1aa73d9e118e6/jdk-8u261-linux-x64.rpm
wget 和网址中间部分的作用是避免官网用户验证
ERROR:此方法下载的jdk不完整,可能与连接有关 没搞清楚
改进:使用win10下载,再使用SSH Secure File Transfer上传至/root
rpm -ihv jdk-8u261-linux-x64.rpm
vim /etc/profile
#末尾追加
#java
export JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#root用户下:
source /etc/profile
成功
gremlin> :remote connect tinkerpop.server conf/remote.yaml
==>Configured localhost/127.0.0.1:8182
gremlin> :> g.V().count()
==>0
这里统计了下顶点的个数,由于刚开始用,所以数量为零。":>"表示将Gremln语句发往远程JanusGraph服务。
配置完成。
借鉴/参考/引用:
https://docs.janusgraph.org/
https://www.it610.com/article/1290216093272580096.htm
https://hub.docker.com/r/janusgraph/janusgraph