RStudio Kılavuzu
Bu kılavuz TRUBA altyapısında kişiselleştirilmiş RStudio kullanımı için gerekli kurulumları yapmaya yardımcı olmak amacıyla oluşturulmuştur. Kılavuzda aşağıdaki basamaklar anlatılmıştır:
Open OnDemand ile RStudio
Kullanıcı arayüzü kullanarak RStudio kullanım yol haritasını Open OnDemand Arayüzü de bulabilirsiniz. Resimde görüldüğü üzere kısa yoldan RStudio arayüzünü kullanabilmek için 2 aşamadan oluşmaktadır.
İstenilen interaktif sunucusu için çekirdek ve saat yazılması
İnteraktif işlerde kuyruğa girmesi
RStudio kullanıma hazır.
Bu kılavuzun yazım tarihi itibariyle Open OnDemand’daki RStudio, gcc-7
ile derlenmiş R-4.2.2
sürümü ile çalışmaktadır. Dolayısıyla gcc-12
gibi başka derleyiciler
gerektiren R paketlerinin yüklenmesinde sorunlar yaşanabilmektedir. Bu
gibi sıkıntıları aşmak ve analiz ihtiyaçlarına daha iyi hizmet edebilmek
için kullanıcılar miniconda
aracılığıyla bir sanal ortam oluşturup
kendi R/RStudio kurulumlarını yapabildikleri gibi Kaynak kod kullanılarak R kurulumu kılavuzu takip edilerek istenilen derleyici ile kurulum gerçekleştirilebilir.
Farklı RStudio versiyonu kullanma
Conda Platformu
İstenilen RStudio versiyonu kullanmak için anaconda platformunda uygun conda ortamı oluşturularak kullanılabilir. Bu durumda öncelikle merkezi-anaconda ya da miniconda-kurulum sayfalarını ziyaret ederek gerekli kurulumlar gerçekleştirilir. Sonrasında
Aşağıdaki kodları kullanarak miniconda içinde RStudio ortamını oluşturup RStudio kurulumunu yapın:
conda create -n rstudio-env # RStudio için bir ortam oluşturulur. conda activate rstudio-env # Oluşturulan ortam aktif edilir. conda install -c conda-forge rstudio-desktop # RStudio ve bağımlı paketler kurulur.
Uyarı
RStudio sanal ortamı kurulup aktive edildikten sonra aşağıdaki kod örneği ile ilgili R paketleri kurulabilir. Conda ortamı paketleri birbiriyle uyumlu olarak çalışacak şekilde yükler. Ancak daha sonra RStudio içinde
install.packages("xxx")
şeklinde CRAN’dan veya GitHub gibi başka kaynaklardan da paketler kurulabilir. Bu durumda uyum sorunu oluşabilmektedir ve grid-teknik’ten destek talep edilebilir.Miniconda altında bu şekilde kurulan R uygulaması TRUBA’daki kurulu olan R modülleri bağımsız olarak çalışmaktadır. Terminal’de aşağıdaki şekilde doğrulanabilir:
which R # ~/miniconda3/envs/rstudio-env/bin/R
Bu ve bir sonraki adımda RStudio sanal ortamının TRUBA’ya bağlanıldığında otomatik olarak yüklenmesi için
.bashrc
dosyasını düzenleyeceğiz. Bu sayede Open OnDemand üzerinden RStudio bağlanıldığında burada yaptığız kurulum kullanıma hazır olacaktır.home
dizinindeyken aşağıdaki kod ile.bashrc
dosyası otomatik olarak güncellenecektir. Güncellenmiş dosya içindeki komutlar, kullanıcı yeni oturum açtığında shell’econda
komutunu tanıtacaktır.conda init bash
Conda tanımlama için problem ile karşılaşılırsa
.bashrc
içerisine aşağıdaki betik içierisinde kullanıcı adınızı değiştirerek ekleyebilirsiniz.Conda başlangıç ayarı (Tıklayınız)
eval "$(/truba/home/$USER/miniconda3/bin/conda shell.bash hook)" # >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$('/truba/home/kullanici_adiniz/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else if [ -f "/truba/home/kullanici_adiniz/miniconda3/etc/profile.d/conda.sh" ]; then . "/truba/home/kullanici_adiniz/miniconda3/etc/profile.d/conda.sh" else export PATH="/truba/home/kullanici_adiniz/miniconda3/bin:$PATH" fi fi unset __conda_setup # <<< conda initialize <<< conda activate rstudio-env
Her bağlanıldığında bu oluşturtulan sanal ortam içerisinde bulunmak istemiyorsanız, bu basamağı atlayabilirsiniz. Eğer ev dizininizde
.bash_profile
dosyası yoksa dosyayı yaratın. Ayrıca.profile
ve.bashrc
dosyalarını sembolik olarak.bash_profile
dosyasına aşağıdaki komutlar aracılığı ile bağlayabilirsiniz.touch .bash_profile ln -s .bash_profile .profile ln -s .bash_profile .bashrc
Bu kurulum aşaması tamamlandıktan sonra, RStudio istemini Open OnDemand Arayüzü tarafından gerçekleştrildiğinde OnDemand-RStudio oturumu otomatik olarak kurulan sanal
ortamdaki RStudio ile açılacaktır. R paketleri kullanıcının home
dizininde miniconda altında yer almaktadır. Bunu RStudio konsolunda aşağıdaki komutu yazarak doğrulayabilirsiniz:
R kodları (Tıklayınız)
.libPaths()
[1] "/truba/home/kullanici-adi/miniconda3/envs/rstudio-env/lib/R/library"
sessionInfo()
R version 4.2.1 (2022-06-23)
Platform: x86_64-conda-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)
Matrix products: default
BLAS/LAPACK: /truba/home/kulanici_adiniz/miniconda3/envs/r-kernel/lib/libopenblasp-r0.3.21.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=tr_TR.UTF-8
[4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=tr_TR.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=tr_TR.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=tr_TR.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_4.2.1 tools_4.2.1
TRUBA-DESKTOP
TRUBA’da modül olarak bulunan diğer versiyonlarla RStudio kullanmak isteyenler TRUBA-DESKTOP’a bağlanıp uzak masaüstü içerisinde terminale aşağıdakiler yazılarak yapılabilir.
module purge
source /truba/sw/centos7.9/comp/intel/oneapi-2021.2/setvars.sh intel64
module load centos7.9/app/R/4.2.2-mkl-oneapi-2021.2
rstudio
İstenilirse, burada sizlere gelen masaüstü ekranı üzerinden terminal açılarak RStudio için hazırlanmış ortam conda activate rstudio-env
ile aktif edilir ve rstudio
komudu ile arayüze ulaşabilirsiniz.
Not
İstenilirse Jupyter araçları ile belirtilen R modülleri kullanabilir. Detayları Jupyter Notebook ile Çalışma tarafında bulabilirsiniz.
Yüksek performanslı işlerin yapılması
RStudio arayüzü interaktif analizler için iyi bir çözümken, daha yüksek performans gerektiren hesaplama işleri için SLURM kaynak yöneticisinin kullanılması daha uygundur. Temel SLURM Komutları ve SLURM Betik Özellikleri kılavuzları ile daha fazla bilgiye erişebilirsiniz.
Bu tip kullanımlar için yazılan R betiğinin çıktılarını ya da çalışma ortamını (R workspace) kaydetmek gerekecektir. Kod içerisinde oluşturulacak veri objesini
.rds
veya birden fazla veri objelerini.rda
ya da.RData
olarak kayıt edilebilir. Bu objeler daha sonra interaktif RStudio ortamında görselleştirme vb. amaçlarla kullanılabilir. Örnek kullanımlar.rda
:save(obj1, obj2, file=”/path/to/filename.rda”) ve yüklemek için load(“/path/to/filename.rda”) ile seçilmiş objeleri
save.image(“/path/to/workspace.rda”) ile bütün değişkenleri, verileri ve fonksiyonları saklanabilir ve yüklenebilir.
.rds
: saveRDS(obj, file=”/path/to/filename.rds”) ve readRDS(“/path/to/filename.rds”)
Bahsedildiği gibi oluşturulan betikleri iş kümesine göndermeden önce işinize bağlı olarak küçük parametreler test etmek gerekebilir. Bu amaçla aşağıdaki kod ile
debug
kuyruğundan 15 dakika boyunca her işte bir çekirdek kullanacak şekilde toplamda 10 iş çalıştırılacak bir sunucu istenebilir. Böylece ana bilgisayarı meşgul etmeden hesaplama kümesinde size ayrılan bir terminalde işlem yürütebilirsiniz.srun
argümanları hakkında ayrıntılı bilgiyi burada bulabilirsiniz.srun -p debug -N1 -n10 -A kullanici_adi -time=00:15:00 --pty bash -i
R betiğinin beklenildiği gibi çalıştığından emin olduktan sonra bunu hesaplama kümesi için kuyruğa göndermek için aşağıdaki gibi
.sh
betiği oluşturup,sbatch
komutu kullanılabilir. Detaylı bilgi için ilgili kılavuzu takip edebilirsiniz.Slurm kodları (Tıklayınız)
#!/bin/bash #SBATCH -p hamsi # kuyruk adi, isinizin calisma suresine gore guncelleyiniz. #SBATCH -A kullanici_adi # kendi kullanici adiniz ile degistiriniz. #SBATCH -J R_analizi # isin adi. #SBATCH -n 28 # is icin toplamda kullanilacak cekirdek adeti. #SBATCH -N 1 # is icin kullanilacak sunucu sayisi. #SBATCH --time=01:00:00 # isinizin suresi (1 saat) #SBATCH --workdir=/truba_scratch/kullanici_adi/test # isinizi calistiracaginiz dizin, kendi kullanici kodunuz ile guncellemeniz gerekmektedir. #SBATCH --mail-type=ALL # isin asamalarinda bilgilendirmek icin e-posta tanimi. #SBATCH --mail-user=kullanici@xyz.edu.tr # kendi eposta adresiniz ile guncelleyiniz. # Eğer .bashrc dosyası ayarlandıysa, oturumun otomatik olarak rstudio-env ile açılacaktır. # Ancak emin olmak adına aşağıdakiler de eklenebilir # module purge # eval "$(/truba/home/$USER/miniconda3/bin/conda shell.bash hook)" # conda activate rstudio-env # R calisma komutunuzu inputlariniz ile birlikte veriniz. R CMD BATCH R_script.R # İşiniz hakkında detaylı bilgiyi job_id.info dosyayına yazdırabiliriz. scontrol show job $SLURM_JOB_ID > ${SLURM_JOB_ID}.info exit
Bu dosya daha sonra iş kümelerine aşağıdaki gibi gönderilebilir:
sbatch slurm_is_verme_R.sh