我刚开始使用Spark Apache。我在我的本地计算机(Windows 10,Intel Core i5,8 GB RAM)中进行了测试,一切正常。当我尝试手动启动集群时,我收到了一个错误,如下面附图所示:
来自日志的信息(C:\ Spark \ logs \ spark - org.apache.spark.deploy.master.Master-1-XXXXXX.out:
Spark命令:C:\ Program Files \ Java \ jdk1.8.0_72 \ bin \ java -cp C:\ Spark / conf \; C:\火花/ LIB /火花组装1.6.0-hadoop2.6.0.jar; C:\火花\ lib中\ DataNucleus将-API-JDO-3.2.6.jar; C:\ Spark \ lib \ datanucleus-core-3.2.10.jar; C:\ Spark \ lib \ datanucleus-rdbms-3.2.9.jar -Xms1g -Xmx1g org.apache.spark.deploy.master.Master - IP XXXXXX --port 7077 --webui-port 8080
我使用这些来源解决了这个问题但没有成功:
Spark Standalone Mode
How to Setup Local Standalone Spark Node
Setup a Apache Spark cluster in your single standalone machine
感谢您的任何反馈。
答案 0 :(得分:1)
我认为你有点混淆了。在Windows机器上运行Spark时 - 使用远程主服务器或在本地运行它是有意义的。在这两种情况下 - 使用bin/*.cmd
(或其他.cmd
)。您应该只在Windows机器上执行以start-master.sh
结尾的命令。当您运行local[*]
时所说的是我想将此计算机用作spark集群的资源管理器,因此其他spark客户端可以连接到它并执行查询。这可能不是你想要的。当您执行bin\spark-shell.cmd --master AMAZON.IP:7077
时,您已经在使用所有本地资源,没有必要启动" master"。如果您需要更多资源 - 启动远程集群(例如EMR),然后使用public function getMainChatList($myPhoneNo){
$stmt = $this->conn->prepare("SELECT receiverPhoneNo,name FROM users,friend WHERE users.phoneNo=friend.receiverPhoneNo AND senderPhoneNo=? AND chatted = 'y' ORDER BY update_time DESC");
$stmt->bind_param("s", $myPhoneNo);
$stmt->execute();
$stmt->store_result();
$result = array();
while($row = $stmt->fetch()){
array_push($result,array('receiverPhoneNo'=>$row['receiverPhoneNo'],'name'=>$row['name'],));
}
//echo json_encode(array("result"=>$result));
echo json_encode($result);
echo json_last_error();
$stmt->close();
}