我将Spark 2.1.1和Scala 2.10与两个节点的Spark Standalone一起使用。
我想执行一个Spark代码,该代码从MySQL表中读取数据集并将其写入Cassandra表。
代码:
object RdmsToCassandra extends Serializable {
def main(args: Array[String]) {
val conf = new SparkConf().set("spark.cassandra.connection.host", "192.168.22.231")
val sc = new SparkContext("spark://192.168.22.231:7077", "MigrateMySQLToCassandra", conf)
val mysqlJdbcString: String = s"jdbc:mysql://192.168.22.238/customer_events?user=root&password=qweqwe"
Class.forName("com.mysql.jdbc.Driver").newInstance
CassandraConnector(conf).withSessionDo { session =>
session.execute("CREATE KEYSPACE IF NOT EXISTS test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 2 }")
session.execute("CREATE TABLE IF NOT EXISTS test.store( store_name text PRIMARY KEY, location text, store_type text)" )
}
val highestId: Long = 2
val startingId: Long = 0
val numberOfPartitions = 1;
val customerEvents = new JdbcRDD(sc, () => { DriverManager.getConnection(mysqlJdbcString)},
"select * from store limit ?, ?",startingId, highestId, numberOfPartitions,
(r: ResultSet) => {
(r.getString("store_name"),
r.getString("location"),
r.getString("store_type")
)
}
)
customerEvents.saveToCassandra("test", "store1",
SomeColumns("store_name"))
}
}
我使用以下命令提交申请:
spark-submit --master spark://192.168.22.231:6066 \
--class "RdmsToCassandra" \
rdbmstocassandra_2.10-1.0.jar
在执行期间,我收到以下错误_
使用Spark的默认log4j配置文件: org / apache / spark / log4j-defaults.properties 17/05/26 15:45:51 INFO CoarseGrainedExecutorBackend:使用进程名称启动守护进程: 10619 @ totalprices-db-server-02 17/05/26 15:45:51 INFO SignalUtils: TERM 17/05/26的注册信号处理程序15:45:51 INFO SignalUtils: HUP的注册信号处理程序17/05/26 15:45:51 INFO SignalUtils: INT 17/05/26 15:45:51 WARN的注册信号处理程序 NativeCodeLoader:无法加载native-hadoop库 平台...使用builtin-java类,适用于17/05/26 15:45:51 INFO SecurityManager:将视图更改为:root 17/05/26 15:45:51 INFO SecurityManager:将修改修改为:root 17/05/26 15:45:51 INFO SecurityManager:将视图组调整为:17/05/26 15:45:51 INFO SecurityManager:将修改acls组更改为: 17/05/26 15:45:51 INFO SecurityManager:SecurityManager: 认证失效; ui acls disabled;有视图的用户 权限:设置(root);具有查看权限的组:Set();用户 具有修改权限:设置(root);具有修改权限的组: Set()17/05/26 15:45:52 INFO TransportClientFactory:成功 在60毫秒(花费0毫秒)后创建了与/192.168.22.231:36249的连接 bootstraps)17/05/26 15:45:52 INFO SecurityManager:更改视图acls to:root 17/05/26 15:45:52 INFO SecurityManager:更改修改acls to:root 17/05/26 15:45:52 INFO SecurityManager:更改视图acls 组:17/05/26 15:45:52 INFO SecurityManager:更改修改 acls groups to:17/05/26 15:45:52 INFO SecurityManager: SecurityManager:禁用身份验证; ui acls disabled;用户 具有查看权限:设置(root);具有查看权限的组:Set(); 具有修改权限的用户:Set(root);具有修改的组 权限:设置()17/05/26 15:45:52 INFO TransportClientFactory: 1 ms后成功创建与/192.168.22.231:36249的连接(0 在bootstraps上度过的时间)17/05/26 15:45:52 WARN Utils:你的主机名, totalprices-db-server-02解析为环回地址:127.0.0.1; 改为使用221.243.36.126(在接口em1上)17/05/26 15:45:52警告 实用程序:如果需要绑定到另一个地址,请设置SPARK_LOCAL_IP 17/05/26 15:45:52 INFO DiskBlockManager:创建本地目录 的/ tmp /火花73513e64-f52c-48c5-bf9e-bbc45caec12d /执行-fd21cdc3-673e-4b9e-9bd2-6cef1e3da140 / blockmgr-157ab1c4-ca1e-481B-9357-b5855ee6beef 17/05/26 15:45:52 INFO MemoryStore:MemoryStore以容量开始 2004.6 MB 17/05/26 15:45:52 INFO CoarseGrainedExecutorBackend:连接到驱动程序: spark://CoarseGrainedScheduler@192.168.22.231:36249 17/05/26 15:45:52 INFO WorkerWatcher:连接到worker spark://Worker@221.243.36.126:40561 17/05/26 15:45:52 INFO TransportClientFactory:成功创建连接 /221.243.36.126:40561 1 ms后(在bootstraps中花费0毫秒)17/05/26 15:45:52 INFO WorkerWatcher:已成功连接到 spark://Worker@221.243.36.126:40561 17/05/26 15:45:52 INFO CoarseGrainedExecutorBackend:已成功注册驱动程序 17/05/26 15:45:52 INFO执行程序:在主机上启动执行程序ID 0 221.243.36.126 17/05/26 15:45:52 INFO Utils:已成功启动服务' org.apache.spark.network.netty.NettyBlockTransferService'上 端口43114. 17/05/26 15:45:52 INFO NettyBlockTransferService:服务器 创建于221.243.36.126:43114 17/05/26 15:45:52 INFO BlockManager: 使用org.apache.spark.storage.RandomBlockReplicationPolicy进行阻止 复制策略17/05/26 15:45:52 INFO BlockManagerMaster: 注册BlockManager BlockManagerId(0,221.243.36.126,43114, 无)17/05/26 15:45:52 INFO BlockManagerMaster:已注册 BlockManager BlockManagerId(0,221.243.36.126,43114,无)17/05/26 15:45:52 INFO BlockManager:初始化BlockManager: BlockManagerId(0,221.243.36.126,43114,无)17/05/26 15:46:00 INFO CoarseGrainedExecutorBackend:司机命令关闭17/05/26 15:46:00 ERROR CoarseGrainedExecutorBackend:收到的信号期限 tdown长
有人可以在这里提出可能存在的问题。
答案 0 :(得分:1)
我知道它有点陈旧但对其他人来说可能有帮助:
我面临类似的问题,NodeManager-Logs的调查引导我找到根本原因。 您可以通过Web界面访问它们
nodeManagerAdress:PORT/conf
PORT 在 yarn.nodemanager.webapp.address 下的 yarn-site.xml 中指定。 (默认: 8042 )
我的调查 - 工作流程:
顺便说一句:您可以访问影响同一端口节点的所有配置的聚合集合(xml):
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>package.MainBootApp</mainClass>
<layout>ZIP</layout>
</configuration>
</plugin>
</plugins>