- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用 apache spark 和 cassandra 进行数据分析。所以我写了一个java代码来访问在远程机器上运行的cassandra。我使用了以下 java 代码。
public class JavaDemo implements Serializable {
private transient SparkConf conf;
private JavaDemo(SparkConf conf) {
this.conf = conf;
}
private void run() {
JavaSparkContext sc = new JavaSparkContext(conf);
generateData(sc);
compute(sc);
showResults(sc);
sc.stop();
}
private void generateData(JavaSparkContext sc) {
CassandraConnector connector = CassandraConnector.apply(sc.getConf());
Session session = connector.openSession();
// Prepare the schema
session.execute("DROP KEYSPACE IF EXISTS java_api");
session.execute("CREATE KEYSPACE java_api WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}");
session.execute("CREATE TABLE java_api.products (id INT PRIMARY KEY, name TEXT, parents LIST<INT>)");
session.execute("CREATE TABLE java_api.sales (id UUID PRIMARY KEY, product INT, price DECIMAL)");
session.execute("CREATE TABLE java_api.summaries (product INT PRIMARY KEY, summary DECIMAL)");
}
private void compute(JavaSparkContext sc) {
System.out.println("IN compute");
}
private void showResults(JavaSparkContext sc) {
System.out.println("IN showResults");
}
public static void main(String[] args) {
SparkConf conf = new SparkConf();
conf.setAppName("Java API demo");
conf.setMaster("local[1]");
System.out.println("---------------------------------");
conf.set("spark.cassandra.connection.host", "192.168.1.219");
JavaDemo app = new JavaDemo(conf);
app.run();
}
其中 192.168.1.219 是我运行 cassandra 的远程主机。默认端口为 9160。当我运行程序时出现以下错误。
15/01/29 10:14:26 INFO ui.SparkUI: Started Spark Web UI at http://Justin:4040
15/01/29 10:14:27 WARN core.FrameCompressor: Cannot find LZ4 class, you should make sure the LZ4 library is in the classpath if you intend to use it. LZ4 compression will not be available for the protocol.
Exception in thread "main" com.datastax.driver.core.exceptions.AuthenticationException: Authentication error on host /192.168.1.219:9042: Host /192.168.1.219:9042 requires authentication, but no authenticator found in Cluster configuration
at com.datastax.driver.core.AuthProvider$1.newAuthenticator(AuthProvider.java:38)
at com.datastax.driver.core.Connection.initializeTransport(Connection.java:139)
at com.datastax.driver.core.Connection.<init>(Connection.java:111)
at com.datastax.driver.core.Connection$Factory.open(Connection.java:445)
at com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:216)
at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:172)
at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:80)
at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1145)
at com.datastax.driver.core.Cluster.getMetadata(Cluster.java:313)
at com.datastax.spark.connector.cql.CassandraConnector$.com$datastax$spark$connector$cql$CassandraConnector$$createSession(CassandraConnector.scala:166)
at com.datastax.spark.connector.cql.CassandraConnector$$anonfun$4.apply(CassandraConnector.scala:151)
at com.datastax.spark.connector.cql.CassandraConnector$$anonfun$4.apply(CassandraConnector.scala:151)
at com.datastax.spark.connector.cql.RefCountedCache.createNewValueAndKeys(RefCountedCache.scala:36)
at com.datastax.spark.connector.cql.RefCountedCache.acquire(RefCountedCache.scala:61)
at com.datastax.spark.connector.cql.CassandraConnector.openSession(CassandraConnector.scala:72)
at com.datastax.spark.demo.JavaDemo.generateData(JavaDemo.java:42)
at com.datastax.spark.demo.JavaDemo.run(JavaDemo.java:34)
at com.datastax.spark.demo.JavaDemo.main(JavaDemo.java:73)
有什么我想念的吗?它直接连接到端口 9042。我该如何连接它?
最佳答案
您的 cassandra 集群似乎配置了身份验证。由于您不提供凭据,因此不允许您连接。您可以使用 spark.cassandra.auth.username
和 spark.cassandra.auth.password
属性传递身份验证凭据,如所述 here .
所以你可以这样做:
conf.set("spark.cassandra.auth.username", "cassandra");
conf.set("spark.cassandra.auth.password", "cassandra");
在您的代码中使其工作。
如果你有authentication启用并且您还没有创建/更改任何用户,您可以使用“cassandra”作为用户名和密码。但在生产中,您应该创建一个单独的帐户并使用它,并更改 cassandra 用户密码,因为它可以访问所有内容。
关于java - 使用 SparkConf 连接到远程 Cassandra 集群时如何获得 pass "requires authentication"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28207195/
在安装和构建Apache Spark(尽管有很多警告)之后,我们的Spark应用程序的编译(使用“sbt软件包”)已成功完成。但是,当尝试使用spark-submit脚本运行我们的应用程序时,会导致运
我尝试在 Java 中使用 Spark 创建一个简单的程序,但出现此错误: Error:(10, 57) java: incompatible types: org.apache.spark.Spar
我安装了 Spark 。预编译和独立。但是两者都无法运行val conf = new SparkConf() .错误是 error: not found: type SparkConf : scala
团队, 我只是在玩spark 和mllib。安装了scala和spark,版本如下。 斯卡拉 - 2.11.7Spark - 1.4.0(使用 -Dscala-2.11 进行 mvn 包) 我正在尝试
如何在 java spark api 的映射函数中获取 SparkConf 或 JavaSparkContext。 SparkConf conf = new SparkConf().setA
我正在运行 pyspark,但它有时会不稳定。有几次它在这个命令下崩溃了 spark_conf = SparkConf() 错误信息如下 File "/home/user1/spark/sp
当我制作 Import Pyspark from Sparkcontext 时,我遇到了 pyspark 的问题,但我发现它也可以从 sparkconf 导入,我是询问这两个 spark 类库有什么区
下面是我的代码: SparkConf sparkConf = new SparkConf().setAppName("JavaKafkaWordCount").setMaster("local[*]"
我在 anaconda 的 testenv 上安装了 pyspark (通过使用:conda install -c conda-forge pyspark),它就在这里(我认为) /Users/myu
我是 spark 新手,我想从命令行运行 Python 脚本。我已经交互式地测试了 pyspark 并且它有效。尝试创建 sc 时出现此错误: File "test.py", line 10, in
我正在尝试通过 Java 代码进行 spark-submit。我指的是以下示例。 https://github.com/mahmoudparsian/data-algorithms-book/blob
pyspark 上的 SparkConf 不会读取传递给 spark-submit 的配置参数。 我的 python 代码是这样的 from pyspark import SparkContext,
也许是微不足道的,但我没有找到任何解决方案,我想为每个 databricks 集群设置特定的 azure 凭据。这需要在笔记本中执行以下 python 代码: spark.conf.set("fs.a
我正在尝试使用 SPARK 作为配置单元执行引擎,但出现以下错误。 Spark 1.5.0 已安装,我正在使用 Hive 1.1.0 版本和 Hadoop 2.7.0 版本。 hive_emp 表在
我有大数据帧: A(200g), B(20m), C(15m), D(10m), E(12m) ,我想加入他们: A 加入 B , C 加入 D 和 E 在同一个 SparkSession** 中使用
我写了一个 Spark 应用程序,它通过 SparkConf 设置了一些配置内容。例如,像这样: SparkConf conf = new SparkConf().setAppName("Test A
我的项目 jar 与 EMR 上的 jar 冲突,因此要解决此问题我已通过引导脚本将所有高级 jar 复制到节点的自定义位置。我已经验证 jar 已复制到所有执行器节点上。 它与spark-submi
我正在尝试使用 apache spark 和 cassandra 进行数据分析。所以我写了一个java代码来访问在远程机器上运行的cassandra。我使用了以下 java 代码。 public cl
我是spark的初学者。我用“linux + idea + sbt”搭建环境,当我尝试快速启动Spark时,出现问题: Exception in thread "main" java.lang
我正在尝试将此项目(https://github.com/alexmasselot/spark-play-activator)用作Play和Spark示例的集成,以在我的项目中执行相同的操作。因此,我
我是一名优秀的程序员,十分优秀!