問題タブ [rstudio-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - RStudio サーバーでスクリプトを自動的に実行するようにスケジュールすることはできますか?
RStudio サーバーでスクリプトを自動的に (たとえば、毎週月曜日に) 実行するようにスケジュールできるかどうか疑問に思っていました。
linux - 複数のユーザーが使用する Linux サーバー上の R パッケージをどこにインストールしますか?
AWS がホストする CentOS Linux サーバーで RStudio Server を実行しています。サーバーには、それぞれ RStudio Server を使用する複数のユーザーがいます。次のように、すべてのユーザーがパッケージをインストールするための共通のパスを用意したいと考えています。
- 各ユーザーは、RStudio ユーザー プロファイルのすべてのパッケージをインストールする必要はありません。
- 1 人がパッケージを更新すると、すべてのユーザーが更新されたパッケージを使用します。
これを行うための最良の手順は何ですか?
私が提案した解決策は次のとおりでしたが、失敗しました。
既存のユーザー パッケージのリストを保存します。
ユーザー パッケージを削除します。
save.pkg.list
次に、ルートの下のフォルダーにパッケージをインストールすることを考えました。/usr/share/R/library
ライブラリ パスに 1 つのパッケージを含む共有フォルダーのように見えるものが既にありました。
テストするために、1 つのパッケージを共有フォルダーにインストールして、サーバー上の他のユーザーが R インスタンスでそれを使用できるかどうかを確認してみました。おそらくルートの下にあり、sudo特権(私が持っている)を使用する必要があると想定していますが、パッケージインストールプロセスのためにそれらをRに渡す方法がわからないため、インストールは失敗しました:
最終的には、デフォルトのパッケージのインストール/ロード動作を制御するためにR_LIBS_SITE
、環境変数またはそのようなものにいくつかの変更が必要になると思います。R_LIBS_USER
しかし、私はまだそこにいません。
r - initctl: 不明なインスタンス: Rstudio conf 変更後のエラー
aws-machine に新しいバージョンの R がインストールされています (何らかの理由で常に古いバージョンが付属しており、yum または apt-get を機能させることはほぼ不可能です) 。古いバージョンを破棄せずに、ソースからビルドしたこの新しいバージョンを rstudio が指すようにしたいと考えています。したがって、/etc/rstudio/rserver.conf
(ドキュメント) に移動し、内容を次のように変更します。
この場所に R の新しいバージョンがインストールされていることを確認できますが、rstudio-server の再起動後にエラーが発生します。
どうしようかな?
sql-server - RData は、データベースを再度クエリするよりも読み込みに時間がかかります
256GB RAM サーバーで RStudio Server を実行し、別のサーバーで MS-SQL-Server 2012 を実行しています。この DB には、最大 1 億のノードと最大 1 億 5000 万のエッジを持つグラフを作成できるデータが含まれています。
そのデータからこのグラフを作成するのにかかる時間を計りました。
- 最初の SELECT クエリ = ~22M 行 = 12 分 = df1 (dataframe1)
- 2 番目の SELECT クエリ = ~30M 行 = 8 分 = df2
- 3 番目の SELECT クエリ = ~32M 行 = 8 分 = df3
- 4 番目の SELECT クエリ = ~63M 行 = 70 分 = df4
edges = rbind(df1, df2, df3, df4)
= 6 分mygraph = graph.data.frame(edges)
= 30 分
それで2時間ちょっと。私のデータは非常に安定しているので、mygraph
ディスクに保存することで処理を高速化できると考えました。しかし、ロードしようとすると、ロードされませんでした。何かがおかしいと思って、4時間待った後、あきらめました。
そのため、サーバーを再起動し、.rstudio フォルダーを削除して最初からやり直します。今回は、各 SQL クエリのデータフレームとデータフレームを、edges
RData と RDS の両方の形式 (毎回)save()
で保存します。保存するたびに、5 つのデータフレームの時間を計りました。とがほぼ同じ時間:saveRDS()
compress = FALSE
load()
readRDS()
load()
readRDS()
- df1 = 1.1 GB ファイル = 1 分
- df2 = 1.4 GB ファイル = 2 分
- df3 = 1.7 GB ファイル = 6 分
- df4 = 3.1 GB ファイル = 13 分
- エッジ = 6.8 GB ファイル = 21 分
十分だ、と私は思った。しかし、今日、新しいセッションを開始しload(df1)
て変更を加えようとしたとき、また何かがおかしいと感じました。ロードされるのを20分待った後、あきらめました。このサーバーを使用しているのは私だけなので、メモリ、ディスク、CPU が問題になることはありません。既にサーバーを再起動し、.rstudio フォルダーを削除しました。何かがセッションをハングさせているのではないかと考えていますが、データフレームはまだ読み込まれません。load()
おそらく実行中ですがiotop
、ディスクアクティビティは表示されません。これは私が得たものですps
ps -C rsession -o %cpu,%mem,cmd
%CPU %MEM CMD
99.5 0.3 /usr/lib/rstudio-server/bin/rsession -u myusername
次に何を試せばいいのかわからない。RData ファイルの読み込みに、別のサーバーにある SQL データベースのクエリよりも時間がかかるというのは、私には理解できません。たとえそうだったとしても、データフレームを保存した後のタイミングload()
と時間で、なぜそんなに速かったのですか?readRDS()
ここ StackOverflow で質問するのは初めてなので、この質問に答えるために重要なことを言い忘れていたら申し訳ありません。もしそうなら、私に知らせてください。
編集:コメントでブランドンが要求した追加情報。OS は CentOS 7 です。データフレームには、最初の 2 列 (col1=node1; col2=node2) にエッジのリストと、エッジ属性用の追加の 2 つの列が含まれています。すべての列は文字列で、長さは 5 ~ 14 文字です。また、各データフレームのおおよその行数を元の投稿に追加しました。ありがとう!
r - Shiny サーバーのクラッシュ
背景: RHEL 5 ボックスでshiny-server を実行していますが、再現性のない方法でクラッシュし続けます。node.jsがエラーと関係があるようです..
エラーは次のとおりです。
/var/log/shiny-server.log のログ
セッション情報
同様の問題: https://groups.google.com/forum/#!topic/shiny-discuss/V5cv0f7Gmtk
どんな助けでも大歓迎です!最悪の場合、サービスを監視し、失敗時にサービスを開始する cron ジョブを配置します..
rstudio - ssl-certificate を生成し、RStudio サーバーを構成しますか?
実際には、https を使用して rstudio サーバーを実行する必要があります。
デフォルトではhttp://server-ip:8787 です
私はこのファイルをフォローしています-(ssl-構成)
https://s3.amazonaws.com/rstudio-server/rstudio-server-pro-0.98.507-admin-guide.pdf
apache - リクエスト ディスパッチを伴うリバース プロキシ (Rstudio サーバーへ)
私は、パブリック、ビジネス、ワークスペース(すべてApacheを実行)の3つのレイヤーの多層アプリケーションを持っています。クライアント リクエストはパブリック サーバーに到達し、リクエストは処理され、「処理」を行うビジネス サーバーにディスパッチされます。応答はパブリック サーバーに返され、そこで応答が処理されてクライアントに渡されます。/rstudio というリクエストを公開サーバーに送り、ワークスペース サーバーへのリバース プロキシをインターンするビジネスにディスパッチするというシナリオがあります。ここには2つのキャッチがあります:
- ワークスペース サーバーはリクエストごとに異なります
- ワークスペース サーバー (Rstudio) で実行されているアプリケーションは、GWT を使用し、ルート URL でリソース (静的リソース js、css など、および RPC coms) を参照します。すべてのアプリケーション内リダイレクトもドメインで発生します。
ビジネス サーバーから、アプリケーション サーバーから Rstudio サーバーへのリバース プロキシをセットアップしました。
これは正常に機能します (参照https://support.rstudio.com/hc/en-us/articles/200552326-Running-with-a-Proxy )。動的ワークスペースサーバーを処理するには、次のことができますが、ProxyPassReverse は値の表現をサポートしていないため、このアプローチでは喜びがありません。
mod_rewrite ルール (以下) で同じことを試しましたが、ProxyPassReverse がなく、GWT Rstudio でのドメイン リダイレクトのために、これは機能しません。ProxyPassReverse を追加すると問題は解決しますが、動的ワークスペース サーバーの問題に対処するための値の部分に式がありません。
以下は、LocationMatch と mod_headers を使用してこの問題を解決する 3 番目の方法です。
しかし、ヘッダー ディレクティブの値は環境変数に対して評価されないため (ここでは後方参照のみが機能します)、これも喜ばしいことではありません。business_server をコーディングした場合、リバース プロキシを機能させることができますが、これは次のとおりです。
質問 1: apache conf でサーバー DNS をハードコーディングせずに、この問題を解決するためのより良い方法があるかどうか疑問に思っていましたか?
質問 2:ハード コーディングされたサーバー DNS を使用すると、リバース プロキシは機能します (パッチはありますが機能します) が、ルートでのリソース参照の GWT 問題に遭遇し、リクエストのディスパッチが完全に機能しません。サインイン ページが表示されますが、リソースが見つかりません。
それを処理するためのより良い方法があるかどうか疑問に思っていましたか?
以下は、ブラウザからのログの例です。