工作日志——基于k8s构建可访问cassandra的spark集群

继续本周的工作,上一篇介绍了搭建简易spark集群的方法,这篇介绍一下搭建可访问cassandra的spark集群。

前提条件

  • 已搭建好kubernetes集群,且开启kube-dns

集群搭建

  1. 启动spark-master

    kubectl create -f yaml/spark-master-service.yaml
    kubectl create -f yaml/spark-master-controller.yaml
  2. 启动spark-worker

    kubectl create -f yaml/spark-worker-controller.yaml
  3. 启动cassandra

    kubectl create -f yaml/cassandra-service.yaml
    kubectl create -f yaml/cassandra.yaml
  4. 启动spark-driver

    kubectl create -f yaml/spark-driver.yaml

使用示例

  1. 创建keyspace和table

    
    #进入cql命令行
    
    kubectl exec -ti cassandra -- /usr/bin/cqlsh cassandra
    
    
    #在cql中创建keyspace和table
    
    cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1 };
    cqlsh> CREATE TABLE test.kv(key text PRIMARY KEY, value int);
    cqlsh> INSERT INTO test.kv(key, value) VALUES ('key1', 1);
    cqlsh> INSERT INTO test.kv(key, value) VALUES ('key2', 2);
    cqlsh> select * from test.kv;
    key  | value
    ------+-------
    key1 |     1
    key2 |     2
    
  2. 使用spark-driver访问cassandra

    
    #进入spark-shell
    
    kubectl exec -ti <spark-pod-name> spark-shell
    
    
    #访问cassandra,获取test.kv表的大小
    
    scala> sc.stop
    scala> import com.datastax.spark.connector._
    scala> import org.apache.spark._
    scala> val conf = new SparkConf()
    scala> conf.set("spark.cassandra.connection.host", "cassandra")
    scala> val sc = new SparkContext("local[2]", "Cassandra Connector Test", conf)
    scala> val table = sc.cassandraTable("test", "kv")
    scala> table.count
    res2: Long = 2

镜像构建说明

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值