Mysql 粗粒化错误火花
我使用Spark 2.1.1和Scala 2.10,Spark单机版有两个节点 我想执行一个Spark代码,从MySQL表中读取数据集并将其写入Cassandra表 代码:Mysql 粗粒化错误火花,mysql,scala,apache-spark,cassandra,Mysql,Scala,Apache Spark,Cassandra,我使用Spark 2.1.1和Scala 2.10,Spark单机版有两个节点 我想执行一个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"
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信息
GrossGrainedExecutorBackend:已启动进程名为的守护程序:
10619@totalprices-db-server-02 17/05/26 15:45:51信息信号:
术语17/05/26 15:45:51信息信号的注册信号处理程序:
HUP的注册信号处理程序17/05/26 15:45:51信息信号:
INT注册信号处理器17/05/26 15:45:51警告
NativeCodeLoader:无法为您的应用程序加载本机hadoop库
站台。。。在适用的情况下使用内置java类17/05/26
15:45:51信息安全管理器:将视图ACL更改为:root 17/05/26
15:45:51信息安全管理器:将修改ACL更改为:root 17/05/26
15:45:51信息安全管理器:将视图ACL组更改为:17/05/26
15:45:51信息安全管理器:将修改ACL组更改为:
17/05/26 15:45:51信息安全管理器:安全管理器:
认证被禁用;ui ACL被禁用;具有视图的用户
权限:Set(root);具有查看权限的组:Set();使用者
具有修改权限:设置(根);具有修改权限的组:
Set()17/05/26 15:45:52信息传输客户端工厂:成功
在60毫秒后创建到/192.168.22.231:36249的连接(在中花费0毫秒
引导)17/05/26 15:45:52信息安全管理器:更改视图ACL
收件人:root 17/05/26 15:45:52信息安全管理器:更改修改ACL
收件人:root 17/05/26 15:45:52信息安全管理器:更改视图ACL
组收件人:17/05/26 15:45:52信息安全管理器:更改修改
acls组收件人:17/05/26 15:45:52信息安全管理员:
SecurityManager:已禁用身份验证;ui ACL被禁用;使用者
具有查看权限:Set(root);具有查看权限的组:Set();
具有修改权限的用户:Set(root);具有修改功能的组
权限:Set()17/05/26 15:45:52信息传输客户端工厂:
1毫秒后成功创建到/192.168.22.231:36249的连接(0
ms在引导中花费)17/05/26 15:45:52警告Utils:您的主机名,
totalprices-db-server-02解析为环回地址:127.0.0.1;
改为使用221.243.36.126(在接口em1上)17/05/26 15:45:52警告
Utils:如果需要绑定到其他地址,请设置SPARK\u LOCAL\u IP
17/05/26 15:45:52信息DiskBlockManager:已在创建本地目录
/tmp/spark-73513e64-f52c-48c5-bf9e-bbc45caec12d/executor-fd21cdc3-673e-4b9e-9bd2-6cef1e3da140/blockmgr-157ab1c4-ca1e-481b-9357-B585EE6BEEF
17/05/26 15:45:52信息MemoryStore:MemoryStore以容量启动
2004.6 MB 17/05/26 15:45:52信息粗粒度执行器后端:连接到驱动程序:
spark://CoarseGrainedScheduler@192.168.22.231:36249 17/05/26 15:45:52
信息WorkerWatcher:正在连接到worker
spark://Worker@221.243.36.126:40561 17/05/26 15:45:52信息
TransportClientFactory:已成功创建到的连接
/221.243.36.126:26年5月17日1毫秒后的40561(在引导过程中花费0毫秒)
15:45:52信息WorkerWatcher:已成功连接到
spark://Worker@221.243.36.126:40561 17/05/26 15:45:52信息
GrossGrainedExecutorBackend:已成功向驱动程序注册
17/05/26 15:45:52信息执行器:正在主机上启动执行器ID 0
221.243.36.126 17/05/26 15:45:52信息实用程序:已在上成功启动服务“org.apache.spark.network.netty.NettyBlockTransferService”
端口43114。17/05/26 15:45:52信息NettyBlockTransferService:服务器
创建于221.243.36.126:43114 17/05/26 15:45:52信息区块管理器:
对块使用org.apache.spark.storage.RandomBlockReplicationPolicy
复制策略17/05/26 15:45:52信息区块管理器管理员:
正在注册BlockManager BlockManagerId(0,221.243.36.126,43114,
无)17/05/26 15:45:52信息区块管理员:已注册
BlockManager BlockManagerId(0221.243.36.12643114,无)17/05/26
15:45:52信息区块管理器:已初始化区块管理器:
BlockManagerId(0221.243.36.12643114,无)17/05/26 15:46:00信息
后端粗粒化:26年5月17日,驾驶员命令停机
15:46:00错误粗粒度执行器后端:接收信号项
崩溃
有人能告诉我这里有什么问题吗。我知道这有点老了,但可能对路过的其他人有帮助: 我遇到了一个类似的问题,通过对NodeManager日志的调查,我找到了根本原因。 您可以通过Web界面访问它们
nodeManagerAdress:PORT/logs
端口在warn.nodemanager.webapp.address下的warn-site.xml中指定。(默认值:8042)
我的调查工作流程:
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"))
}
}
nodeManagerAdress:PORT/conf
我知道它有点老了,但可能对路过的其他人有帮助: 我遇到了一个类似的问题,通过对NodeManager日志的调查,我找到了根本原因。 您可以通过Web界面访问它们
nodeManagerAdress:PORT/logs
端口在warn.nodemanager.webapp.address下的warn-site.xml中指定。(默认值:8042)
我的调查工作流程:
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"))
}
}
nodeManagerAdress:PORT/conf
你能用p吗