前面的铺垫知识做的
差不多了(抽空补),该实际来把整套janus的环境搭建运行一下,才能更好的知道各自之间是怎么串联的(从我个人角度来说,我也倾向先动手–>再看理论–>再动手).
0x00.流程与准备
首先还是看看官方文档,首先部署环境可能需要如下:
- Java8(并建议配置好JAVA_HOME,因为shell可能会调用)
- Janus的Releases (当前是0.2最新 janusgraph-0.2.0-hadoop2.zip 有260MB+,我们要选合适的版本)
- Cassandra 2.1.18, 2.2.10, 3.0.14, 3.11.0(这里选3.11.0) [py2.7 用于cqlsh]
- Elasticsearch 1.7.6, 2.4.6, 5.6.2, 6.0.0-rc1 (选6.0.0)
- HBase 0.98.24-hadoop2, 1.2.6, 1.3.1(暂时没用,部署复杂)
- TinkerPop 3.2.6 (janus自带)
我们这采用的是如标题所示的es+cd+tp
0x01.部署janus
Janus本质通过socket和http两种方式以gremlin为载体提供服务,部署应该分单机和集群,完整起见,这里先单机,再走集群~
首先要知道Janus本质是通过gremlin-server提供服务,支持http/websocket(区别待补)方式访问,不能同时并存,但可以分开组合。
A.单机部署
偶然发现Cassandra其实是有Docker官方镜像的,那看看Janus(暂时没有),ES官方特别docker页..,还有详细的文档,我们在K8S上就用过了,先尝试一下docker的cd+es和普通部署的janus?
1 | #1.拉取cd镜像和ES镜像 |
解压,然后编辑janusgraph-cassandra-es.properties,将es和cassandra的ip标为待修改
tinkerpop的启动,中间开启了一个gremlin-server,才能通过http/websocket发送gremlin语法请求查询:
1 | $ bin/gremlin.sh |
B.集群部署
分布式部署单机意义不大,加上很多设计就没考虑单点,所以有些传统理念可能要转变一下,因为集群裸用Docker是异常蛋疼的,所以如果没有K8,还是老实按二进制方法了。
首先
0x02.部署Cassandra
下载并解压cd
1
2$ tar -zxvf apache-cassandra-3.11.0-bin.tar.gz
$ cd apache-cassandra-3.11.0修改配置文件是关键:
重点参考我inside-net写的,周末抽空补上,两边同步实在太蛋疼了
启动服务器,使用-f启动脚本使Cassandra在前台运行并记录日志到
stdout,可以用ctrl+c停止1
$ bin / cassandra -f #话说-f是什么,force?
使用cql :
bin/cqlsh开始尝试创建Schema/table1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17cqlsh> CREATE SCHEMA schema1
WITH replication = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
cqlsh> USE schema1;
cqlsh:Schema1> CREATE TABLE users (
user_id varchar PRIMARY KEY,
first varchar,
last varchar,
age int
);
cqlsh:Schema1> INSERT INTO users (user_id, first, last, age)
VALUES ('jsmith', 'John', 'Smith', 42);
cqlsh:Schema1> SELECT * FROM users;
//result
user_id | age | first | last
---------+-----+-------+-------
jsmith | 42 | john | smith
cqlsh:Schema1>
0x03.部署elasticsearch
1.使用janus自带es
直接在janus目录sh /elasticsearch/bin/elasticsearch 即可,默认9200端口
2.使用独立ES
下载并解压缩ES6.0.0
1
2
3
4
5
6
7
8#1.下载源文件,当然走sftp也行
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.tar.gz
#2.解压缩
tar -xvf elasticsearch-6.0.0.tar.gz
#3.启动单个的es
cd elasticsearch-6.0.0/bin & ./elasticsearch在linux下直接执行
bin/elasticsearch执行
curl -X GET http://localhost:9200/启动更多组成集群,官方文档
0x04.测试与问题
1.首先是要确定csd和es的集群健康可用。
1 | curl localhost:9200/_cat/health?v |