نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
SonarQube هو أداة مفتوحة المصدر لتطوير نظام الجودة. هو مكتوب بلغة جافا ويدعم قواعد بيانات متعددة. يوفر إمكانات لفحص التعليمات البرمجية بشكل مستمر ، وإظهار سلامة التطبيق ، وتسليط الضوء على المشكلات التي تم تقديمها حديثًا. يحتوي على محللات التعليمات البرمجية التي تم تجهيزها للكشف عن المشاكل الصعبة. كما أنه يدمج بسهولة مع DevOps.
في هذا البرنامج التعليمي ، سنقوم بتثبيت أحدث إصدار من SonarQube على CentOS 7.
ملاحظة: تم تحديث هذا المستند منذ نشره الأصلي. راجع قسم "Errata" في الحواشي.
قبل تثبيت أي حزم على مثيل خادم CentOS ، يوصى بتحديث النظام. قم بتسجيل الدخول باستخدام sudo user وقم بتشغيل الأوامر التالية لتحديث النظام.
sudo yum -y install epel-release
sudo yum -y update
sudo shutdown -r now
بمجرد انتهاء النظام من إعادة التشغيل ، قم بتسجيل الدخول مرة أخرى كمستخدم sudo وانتقل إلى الخطوة التالية.
قم بتنزيل حزمة Oracle SE JDK RPM بكتابة:
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
قم بتثبيت الحزمة التي تم تنزيلها بكتابة:
sudo yum -y localinstall jdk-8u131-linux-x64.rpm
يمكنك الآن التحقق من إصدار Java بكتابة:
java -version
قم بتثبيت مستودع PostgreSQL بكتابة:
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
قم بتثبيت خادم قاعدة بيانات PostgreSQL عن طريق تشغيل:
sudo yum -y install postgresql96-server postgresql96-contrib
تهيئة قاعدة البيانات:
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
تحرير /var/lib/pgsql/9.6/data/pg_hba.conf
لتمكين المصادقة المستندة إلى MD5.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
العثور على الأسطر التالية وتغيير peer
ل trust
و idnet
ل md5
.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
بمجرد التحديث ، يجب أن يبدو التكوين كما هو موضح أدناه.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
قم بتشغيل خادم PostgreSQL وتمكينه من البدء تلقائيًا في وقت التمهيد عن طريق تشغيل:
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
قم بتغيير كلمة المرور لمستخدم PostgreSQL الافتراضي.
sudo passwd postgres
قم بالتبديل إلى postgres
المستخدم.
su - postgres
قم بإنشاء مستخدم جديد بكتابة:
createuser sonar
قم بالتبديل إلى غلاف PostgreSQL.
psql
تعيين كلمة مرور للمستخدم الذي تم إنشاؤه حديثًا لقاعدة بيانات SonarQube.
ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';
أنشئ قاعدة بيانات جديدة لقاعدة بيانات PostgreSQL عن طريق تشغيل:
CREATE DATABASE sonar OWNER sonar;
الخروج من psql
القشرة:
\q
عد إلى مستخدم sudo عن طريق تشغيل exit
الأمر.
قم بتنزيل أرشيف ملفات برنامج التثبيت SonarQube.
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.4.zip
يمكنك دائمًا البحث عن رابط أحدث إصدار من التطبيق على صفحة تنزيل SonarQube .
قم بتثبيت unzip عن طريق تشغيل:
sudo yum -y install unzip
قم بفك ضغط الأرشيف باستخدام الأمر التالي.
sudo unzip sonarqube-6.4.zip -d /opt
إعادة تسمية الدليل:
sudo mv /opt/sonarqube-6.4 /opt/sonarqube
افتح ملف تكوين SonarQube باستخدام محرر النصوص المفضل لديك.
sudo nano /opt/sonarqube/conf/sonar.properties
ابحث عن الخطوط التالية.
#sonar.jdbc.username=
#sonar.jdbc.password=
قم بإلغاء التعليق وتقديم اسم مستخدم وكلمة مرور PostgreSQL لقاعدة البيانات التي أنشأناها سابقًا. يجب أن يبدو:
sonar.jdbc.username=sonar
sonar.jdbc.password=StrongPassword
بعد ذلك ، ابحث عن:
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar
قم بإلغاء تعليق السطر ، واحفظ الملف واخرج من المحرر.
يمكن بدء SonarQube مباشرة باستخدام البرنامج النصي لبدء التشغيل المقدم في حزمة المثبت. من باب الراحة ، يجب عليك إعداد ملف وحدة Systemd لـ SonarQube.
sudo nano /etc/systemd/system/sonar.service
تعبئة الملف بـ:
[Unit]
Description=SonarQube service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
User=root
Group=root
Restart=always
[Install]
WantedBy=multi-user.target
ابدأ التطبيق بتشغيل:
sudo systemctl start sonar
قم بتمكين خدمة SonarQube لبدء التشغيل تلقائيًا في وقت التمهيد.
sudo systemctl enable sonar
للتحقق مما إذا كانت الخدمة قيد التشغيل ، قم بتشغيل:
sudo systemctl status sonar
بشكل افتراضي ، يستمع SonarQube إلى المضيف المحلي على المنفذ 9000. في هذا البرنامج التعليمي ، سوف نستخدم Apache كخادم وكيل عكسي بحيث يمكن الوصول إلى التطبيق عبر منفذ HTTP القياسي. قم بتثبيت خادم الويب Apache عن طريق تشغيل:
sudo yum -y install httpd
إنشاء مضيف افتراضي جديد.
sudo nano /etc/httpd/conf.d/sonar.yourdomain.com.conf
تعبئة الملف بـ:
<VirtualHost *:80>
ServerName sonar.yourdomain.com
ServerAdmin me@yourdomain.com
ProxyPreserveHost On
ProxyPass / http://localhost:9000/
ProxyPassReverse / http://localhost:9000/
TransferLog /var/log/httpd/sonar.yourdomain.com_access.log
ErrorLog /var/log/httpd/sonar.yourdomain.com_error.log
</VirtualHost>
قم بتشغيل Apache وتمكينه من البدء تلقائيًا في وقت التمهيد:
sudo systemctl start httpd
sudo systemctl enable httpd
اسمح بمنفذ HTTP المطلوب عبر جدار حماية النظام.
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
ابدأ تشغيل خدمة SonarQube:
sudo systemctl start sonar
ستحتاج أيضًا إلى تعطيل SELinux:
sudo setenforce 0
يتم تثبيت SonarQube على الخادم الخاص بك ، قم بالوصول إلى لوحة القيادة على العنوان التالي.
http://sonar.yourdomain.com
قم بتسجيل الدخول باستخدام حساب المسؤول الأولي ، admin
و admin
. يمكنك الآن استخدام SonarQube لتحليل الرمز الذي كتبته باستمرار.
إذا قمت بتثبيت SonarQube 7.1 (أو أحدث) ، فقم بإجراء التغييرات أدناه لأنه لا يمكن تشغيل إصدارات أحدث من Elasticsearch كمستخدم أساسي.
chown -R sonar:sonar /opt/sonarqube
/opt/sonarqube/bin/linux-x86-64/sonar.sh
، التغيير #RUNAS
ليكون " sonar
"./etc/systemd/system/sonar.service
وتغيير مجموعة المستخدمين لتكون " sonar
".نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد