Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 67

0
votes
answers
35 views
+10

16個任務(1048.5 MB)的序列化結果的總大小大於spark.driver.maxResultSize(1024.0 MB)

0

當我將--conf spark.driver.maxResultSize=2050添加到我的??命令中時,出現以下錯誤。16個任務(1048.5 MB)的序列化結果的總大小大於spark.driver.maxResultSize(1024.0 MB)

17/12/27 18:33:19 ERROR TransportResponseHandler: Still have 1 requests outstanding when connection from /XXX.XX.XXX.XX:36245 is closed 
17/12/27 18:33:19 WARN Executor: Issue communicating with driver in heartbeater 
org.apache.spark.SparkException: Exception thrown in awaitResult: 
     at org.apache.spark.util.ThreadUtils$.awaitResult(ThreadUtils.scala:205) 
     at org.apache.spark.rpc.RpcTimeout.awaitResult(RpcTimeout.scala:75) 
     at org.apache.spark.rpc.RpcEndpointRef.askSync(RpcEndpointRef.scala:92) 
     at org.apache.spark.executor.Executor.org$apache$spark$executor$Executor$$reportHeartBeat(Executor.scala:726) 
     at org.apache.spark.executor.Executor$$anon$2$$anonfun$run$1.apply$mcV$sp(Executor.scala:755) 
     at org.apache.spark.executor.Executor$$anon$2$$anonfun$run$1.apply(Executor.scala:755) 
     at org.apache.spark.executor.Executor$$anon$2$$anonfun$run$1.apply(Executor.scala:755) 
     at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1954) 
     at org.apache.spark.executor.Executor$$anon$2.run(Executor.scala:755) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) 
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) 
     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
     at java.lang.Thread.run(Thread.java:748) 
Caused by: java.io.IOException: Connection from /XXX.XX.XXX.XX:36245 closed 
     at org.apache.spark.network.client.TransportResponseHandler.channelInactive(TransportResponseHandler.java:146) 

加入這種結構的原因是該錯誤:

py4j.protocol.Py4JJavaError: An error occurred while calling o171.collectToPython. 
: org.apache.spark.SparkException: Job aborted due to stage failure: Total size of serialized results of 16 tasks (1048.5 MB) is bigger than spark.driver.maxResultSize (1024.0 MB) 

因此,我增加maxResultSize至2.5 GB,但火花作業失敗反正(上面顯示的錯誤)。 如何解決這個問題?

+0

--conf spark.driver.maxResultSize = 2.5g你可以嘗試傳遞內存大小這樣? –

+0

還可以更徹底地檢查堆棧跟蹤是否有任何可能導致工作人員被殺的任何內存異常? –

+0

@SumeetSharma:我也測試過它。有同樣的錯誤。 – Markus

沙发
0
2

這似乎是問題是你試圖拉回到你的驅動程序的數據量太大。很可能您正在使用收集方法檢索來自DataFrame/RDD的所有值。 驅動程序是一個單獨的進程,並且通過收集一個數據幀,您將您在羣集中分佈的所有數據都回收到一個節點。 這破壞了發佈它的目的!只有在將數據減少到可管理的數量後,才能做到這一點。

你有兩個選擇:

1)如果你真的需要所有這些數據來工作,那麼你應該保持它的執行者。使用HDFS實木複合地板以分佈式方式保存數據,並使用Spark方法處理集羣上的數據,而不是試圖將其收回到一個地方。 2)如果你真的需要將數據返回給驅動程序,你應該檢查你是否真的需要所有的數據。如果您只需要彙總統計數據,那麼在調用收集之前在執行器上計算出來。或者,如果你只需要前100個結果,那麼只有收集前100名。

0
votes
answers
33 views
+10

如何從REST通信到消息隊列

0

REST Microservice如何與另一個混合的Microservice進行通信,這意味着他可以與REST和Message Queue進行通信。例如一個API網關。對於外部世界,他可以通過REST與應用程序,手機進行通信,但是來自後端的通信是通過消息隊列進行的。如何從REST通信到消息隊列

使用案例:

我的主頁想要從數據庫中獲得車輛。他通過GET-Request請求API網關。 API網關接受GET請求並將其發佈到消息隊列中。另一個Microservice接收消息併發布結果。然後,API網關消耗結果並將其作爲響應發回。

我該如何實現它?我是否在Apache Kafka上使用Spring引導?我需要實現異步通信嗎?

(對不起它的德國) enter image description here

+0

我想你應該等待你的休息控制器的異步響應/超時。 –

沙发
0
1

有解決這種情況的一些方法。

您可以爲每個客戶端請求創建主題並等待另一端的回覆,例如DriverService會讀取請求消息,獲取所有數據並將其發佈到您的客戶端請求主題。一旦你消費了迴應消息,你就會銷燬該話題。

但是在請求 - 響應交互中,'臨時'主題可能需要很長時間才能刪除(如果沒有配置可以避免這種情況,例如delete.topic.enable屬性),並且您需要監視可能的主題過度生長。

Websocket是另一種可能的解決方案。您的客戶端將開始監聽之前與您的服務器達成一致的特定主題,然後在特定超時時間內等待響應,此時您的DriverService將發佈到該特定套接字通道。

Spring Boot爲您提供Kafka和Websockets的絕佳首發。如果您期待着大量的交易,我會採用混合策略,使用Kafka來幫助我的後端擴展並處理所有交易,然後通過Websocket響應客戶端。

0
votes
answers
22 views
+10

Is it possible to transfer data through NFC from Iphone to Android?

I'm thinking on developing a web-app using PhoneGap to transfer data from one platform to the other. As I understand NFC core for iphone lets you read tags but is there any way for it to transfer and receive data from an Android device?

0
votes
answers
31 views
+10

mod_rewrite不能在Laravel 5

1

使用Laravel 5.5,試圖訪問http://127.0.0.1:8000/test/search/357我得到一個頁面無法找到錯誤。非其他解決方案已爲我工作。我的.htaccess文件駐留在根目錄下,看起來像這樣:mod_rewrite不能在Laravel 5

<IfModule mod_rewrite.c> 
<IfModule mod_negotiation.c> 
    Options -MultiViews 
</IfModule> 

Options +FollowSymLinks 
RewriteEngine On 

RewriteBase "/test/" 

# Redirect Trailing Slashes If Not A Folder... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/test/ # <=== NEW LINE!!!! 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

# Handle Front Controller... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 


RewriteRule ^/test/search/(.*)$ /test/search?m_id=$1&a=1 [QSA, L] 

# Handle Authorization Header 
RewriteCond %{HTTP:Authorization} . 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 

任何幫助,將不勝感激。謝謝。

+0

你有語法錯誤。您打開IfModule兩次,但只關閉一次。除此之外,我認爲在laravel中使用htaccess重定向而不是路由並正確設置虛擬主機並不是一個好主意。 – ElChupacabra

沙发
0
0

您可以使用:

RewriteRule ^test/search/(.*)$ /test/search?m_id=$1&a=1 [QSA, L] 

沒有左/ htaccess的重寫規則
和地點之前#規則處理前端控制器

0
votes
answers
19 views
+10

火花短路,排序和懶惰地圖

0

我正在處理一個優化問題,該問題涉及在對象集合上最小化昂貴的地圖操作。火花短路,排序和懶惰地圖

天真溶液會是這樣的

rdd.map(expensive).min() 

然而,映射函數將返回保證是值> = 0。因此,如果任何一個的結果是0,I可以採取作爲答案和不需要計算其餘的地圖操作。

是否有使用Spark做到這一點的慣用方式?

沙发
0
2

是否有一種使用Spark做到這一點的慣用方式?

不。如果你關心像這樣的低級優化,那麼Spark不是最好的選擇。這並不意味着它是完全不可能的。

如果你能舉例來說嘗試這樣的事情:

rdd.cache() 
(min_value,) = rdd.filter(lambda x: x == 0).take(1) or [rdd.min()] 
rdd.unpersist() 

短路分區:

def min_part(xs): 
    min_ = None 
    for x in xs: 
     min_ = min(x, min_) if min_ is not None else x 
     if x == 0: 
      return [0] 
    return [min_] in min_ is not None else [] 

rdd.mapPartitions(min_part).min() 

兩者通常將執行超過需要,每一種有稍微不同的性能配置,但可以跳過評估一些記錄。對於稀少的零來說,第一個可能會更好。

您甚至可以收聽累加器更新並在看到0時使用sc.cancelJobGroup。下面是類似的方法的一個例子Is there a way to stream results to driver without waiting for all partitions to complete execution?

板凳
0
0

如果「貴」是真的昂貴,也許你可以寫的「昂貴」,比方說,SQL的結果(或者提供給所有工人的任何其它存儲)。 然後在「昂貴」開始時檢查當前存儲的編號,如果它爲零,則從「昂貴」返回零而不執行昂貴的部分。

您也可以爲每位員工做到這一點,這將爲您節省大量時間,但不會成爲「全球」。

0
votes
answers
30 views
+10

Checkstyle for ActionScript (Flex)

HI, I'm currently working on a project that uses Flex and Java. In Java we easily enforced a coding standard with Checkstyle, and we want to do this for Flex.

Does anybody know of a tool similar to Checkstyle that would allow coding standard checks? (I've googled for this but found only one project written in python and it seams abandoned)

Thanks

0
votes
answers
33 views
+10

每天處理10行B數據以創建變量(計算列)的最佳方法是什麼?

0

想象一下,你有一個歷史數據,每天有數百萬行的數據被添加到它。有必要每天處理整個數據並更新變量。您如何使用大數據平臺解決這個問題?每天處理10行B數據以創建變量(計算列)的最佳方法是什麼?

如果需要,歡迎提供更多細節。

+0

你有什麼「大數據平臺」? HDFS將高興地存儲您的數據,並且Spark將很高興地處理它。 –

+0

我正在考慮將Hortonworks作爲大數據平臺。但挑戰在於我需要每天對整個數據集進行聚合處理。 –

+0

爲什麼這是一個挑戰?設置一個日常流程來做你想做的事情。 Hortonworks爲此提供Oozie –

沙发
0
1

儘量不要重新處理整個10B行...我不知道你在大數據集中究竟找到了什麼,但是很可能有一個統計模型可以保存摘要信息,只是重新處理增量反對。

cricket_007是正確的,但HDFS和Spark可能是您首選的工具。

+0

它更像是擁有十億行的原始數據,業務需求是爲了建模每天對數據執行彙總過程。 –

0
votes
answers
25 views
+10

使用.htaccess重定向子域而不更改URL使用

0

想知道您是否可以使用某些.htaccess來幫助我。使用.htaccess重定向子域而不更改URL使用

我想從example.com/sub獲取sub.example.com顯示數據而不更改URL: 即。 sub.example.com將保持sub.example.com雖然它是從example.com/sub

閱讀我在.htaccess中的以下數據:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^sub.example.com 
RewriteRule ^(.*)$ http://example.com/sub/$1 [L,NC,QSA] 

我試圖改變[L, NC,QSA]到[P],但我得到了錯誤403-禁止訪問。

任何幫助,將不勝感激!

+0

你想要一個內部重定向,所以用指定_path_作爲代替開始,而不是一個完整的和絕對的URL ... – CBroe

+0

當我把一個內部的路,我得到了一個403 Forbidden錯誤。我應該改變別的東西嗎? – alanj1998

+0

檢查錯誤日誌,並且可能啓用重寫日誌記錄。 – CBroe

沙发
0
-1
RewriteCond %{HTTP_HOST} ^sub.example.com [NC] 
RewriteRule ^(.*)$ http://example.com/sub/$1 [L,R=301] 
+3

添加一些解釋將有助於瞭解代碼的這部分內容,也可以避免刪除的風險。 –

0
votes
answers
26 views
+10

創建點播阿帕奇星火網絡服務

-1

我完全新的Web服務的獨立,我想創建它是這樣一個Web服務:創建點播阿帕奇星火網絡服務

用戶輸入一些字到網頁。 Apache Spark作業在後端啓動,它將這些詞作爲輸入參數使用 該作業的結果將被處理並顯示回網頁。 我想讓它成爲一個獨立的產品,而不使用任何Spark-as-a-service服務,例如Bluemix等

現在,我正在考慮採用類似這樣的方式:後端的Python服務器接受請求並輸入新的Spark作業。當spark工作完成時,Python服務處理輸出並將其發送回頁面。

我不知道這是否是最好的方式去做這件事。另外,我不確定如何在網頁中實時顯示Spark作業的進度。

+0

你想處理多少數據? –

沙发
0
1

apache livy項目可能適合您的需求。

https://livy.incubator.apache.org/

李維使提交經由REST接口或一個RPC客戶機庫中使用同步和異步結果火花。

希望得到這個幫助!

82
votes
answers
10 views
+10

PHP/Apache: PHP Fatal error: Call to undefined function mysql_connect()

I have MySQL (5.5.23 Community Server), Apache (2.2), and PHP (5.3.13) running on a Fedora 15 machine (64-bit). Each works with no problem on their own.

I thought that PHP was configured/compiled to work with MySQL, but when I try to load any PHP web page which makes a MySQL call then I get the above noted fatal error (in the Apache error log). PHP works okay on its own though, through Apache and at the command line.

When I run php -i from the command line then sure enough it shows all the MySQL bits and pieces, but when I load a page displaying phpinfo() then there are no MySQL modules mentioned.

I've also tried un-commenting "extension=mysql.so" in php.ini, but PHP then complains with "PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysql.so'." (even though the module does reside there). But then I'm not entirely certain whether that line is required to be un-commented or not. [correction: the error stated was actually due to a typo, but running from the command line shows that the module is already loaded anyway - there is a warning from PHP that says so.]

I've also disabled SELinux; stopped/restarted Apache numerous times; yummed MySQL-Devel, in case it made any difference; and, it seems, every other possible thing.

If I run a little PHP test script from the command line, to access the MySQL database, then it works with no problem, so PHP does know about MySQL, but when it runs under Apache it seems to have no clue that MySQL even exists.

I've been trying on and off for months to solve this problem, and seem to have tried everything, but nothing seems to work.

I don't mind having to re-install PHP if I really have to, if somebody can demonstrate the proper way to configure/compile with MySQL support, so that I can get it to work under Apache, although ideally I'd simply prefer to get the existing installation working.

Many thanks in advance for any assistance!

沙发
+630

如果其他人面臨這種情況,那就是PHP無法訪問mysql客戶端庫的情況。在系統上安裝MySQL服務器不是正確的解決方法。修復ubuntu(和PHP 5):

  sudo apt-get install php5-mysql   

安裝客戶端后,應重新啟動Web服務器。如果你正在使用apache,以下應該可以工作:

  sudo service apache2 restart  
     
			
        

你可能需要在那之後做sudo service apache2 restart - William Notowidagdo 2014年6月1日22:25

RHEL / CEntOS盒子上的相同問題可以通過命令yum install php-mysqli修復 - Michael Plautz 2015年1月10日20:11

@taco提到在其他系統上你可以使用sudo apt-get install php-mysql - andreimarinescu 2015年9月23日14:19

板凳
+170

請記住,自PHP 5.5.0起, mysql_connect()函數已棄用,並且已在PHP 7中完全刪除

更多信息可在 php文檔

引用:

警告
此擴展在PHP 5.5.0中已棄用,並已在PHP 7.0.0中刪除。
相反,應該使用MySQLi或PDO_MySQL擴展。另請參閱MySQL:選擇API指南和相關的常見問題解答以獲取更多信息。此函數的替代方法包括:
* mysqli_connect()
* PDO :: __ construct()

地板
+20

我遇到了同樣的問題,不得不參考 php手冊告訴我mysql和mysqli擴展需要加載libmysql.dll。我在C:windowssystem32(windows 7)下搜索它並找不到,所以我下載了它這裡並將其放在我的C:windowssystem32中。我重新啟動Apache,一切正常。花了我3天的時間才弄明白,希望有所幫助。

4楼
0

Apache模塊PHP版本可能出於某些奇怪的原因而沒有把php.ini文件當作CLI版本我建議好好看看:

  • 通過網頁 php -i phpinfo()之間不同的 .ini 文件*
  • 如果沒有差異然後看看 mysql.so .ini 文件的權限,但我認為Apache將這些解析為 root 用戶

    在這裡要非常清楚,不要在文件系統上搜索 php.ini 文件,看看PHP說它正在看什麼

我會把我的Sherlock帽子打開並查看可能存在的差異,然後再次回到這裡,但是,至於權限,那麼我有點像你一樣:Apache無論如何都會以root身份解析。這些模塊都有root所有者/組,並且都設置為755. - Cheddar 2013年3月11日在20:22

它不會阻止它工作,但模塊不需要設置exec位,因此644很好。 - 詹姆斯C 13年3月11日20:24

好的,很高興知道。好吧,我試圖比較輸出已經有點困惑了。使用php -i和phpinfo(),配置文件以/etc/php.ini的形式給出,這是我一直在玩的,並且是我唯一知道的。但是,使用php -i,編譯信息'顯示它使用mysql和其他相關模塊(例如pdo等)編譯,但phpinfo()顯示它編譯時沒有(...' - without-mysql'' - without-gd''--disable-dom'' - disable-dba'' - without-unixODBC'' - disable-pdo'...等等); 僅供參考,服務器上只有一個MySQL和Apache實例。 - Cheddar 2013年3月11日20:56

有人放光了嗎? - Cheddar 2013年3月12日16:05

在php.ini文件中,您可以嘗試使用絕對路徑包含mysql.so擴展名 - James C 2013年3月12日19:40

5楼
0

怎麼回事

sudo yum安裝php-mysql

sudo apt-get install php5-mysql

6楼
-30

我收到了類似的錯誤消息。想想我在php.ini文件的第一行開頭無意中輸入了“9o”。一旦我刪除它,我不再收到“致命錯誤”消息。希望這會有所幫助。

7楼
-40
<p> <code> mysql </ code> deamon應該正在運行。</ p> <p>如果沒有試試這個:</ p> <pre> <code>#/ etc / init.d / mysql start < / code> </ pre> <p>或者這個:</ p> <pre> <code> #service mysqld start </ code> </ pre> <p>如果你想在啟動時添加mysql:</ p> <pre> <code>#chkconfig --add mysqld#chkconfig - level 235 mysqld on </ code> </ pre> <p>如果是,它仍然無法正常運行試試這個:</ p> < p>取消註釋/etc/php/php.ini中的以下行</ p> <pre> <code> extension = mysqli.so extension = mysql.so </ code> </ pre> <p>請檢查你的發佈在<strong>'/ usr / lib64 / php / modules / msql.so'</ strong>之上。它應該是<strong> mysql.so </ strong>

是的,已經嘗試過了。重啟MySQL和Apache,以防萬一。無論如何,謝謝。 - Cheddar 2013年3月11日19:52

重啟mysql服務器不會改變客戶端庫發生的事情--James C 2013年3月11日20:09

好吧,這是一個現在嘗試任何事情的案例...... - Cheddar 2013年3月11日20:24

這是一個糟糕的方法。把精力集中在可能有所作為的地方! - 詹姆斯C 13年3月11日20:25

是的,pixeltracer,一個錯字。 - Cheddar 2013年3月11日20:25