エンジニア成長日記

成長するには宿舎プット痴人りでなく、上高も必要である。日々の成長記録を書き留めて粋たい。

Azure Function を利用したプログラミング(Python)

Azure Function を利用したプログラミング(Python

Azure Function を利用したプログラミング中へ発生したエラーの備忘録

〇現状

Azure Functions → ADLS Gen2の一覧を取得時々発生したエラー

2020-07-24T10:37:42.708 [Error] Executed 'Functions.TimerTrigger1' (Failed, Id=XXXXXXXXXXXXX)Result: FailureException: ModuleNotFoundError: No module named 'azure.storage'. Troubleshooting Guide: https://aka.ms/functions-modulenotfoundStack:   File "/azure-functions-host/workers/python/3.8/LINUX/X64/azure_functions_worker/dispatcher.py", line 255, in _handle__function_load_requestfunc = loader.load_function(File "/azure-functions-host/workers/python/3.8/LINUX/X64/azure_functions_worker/utils/wrappers.py", line 31, in callraise extend_exception_message(e, message)File "/azure-functions-host/workers/python/3.8/LINUX/X64/azure_functions_worker/utils/wrappers.py", line 29, in callreturn func(*args, **kwargs)File "/azure-functions-host/workers/python/3.8/LINUX/X64/azure_functions_worker/loader.py", line 73, in load_functionmod = importlib.import_module(fullmodname)File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)File "/home/site/wwwroot/TimerTrigger1/__init__.py", line 7, in <module>from azure.storage.filedatalake import DataLakeServiceClient

〇原因

目論み内で利用しているライブラリがない場合に発産みだするエラー。

〇対応

Pythonでは、「requirements.txt」というファイルに依存パッケージを記載することで読込ことが可能である。

Azure Functionsでは、既定でリジーメンスト ビルド時々当該ファイルを参照し、依存パッケージを動的に綿羽国法ドする。

※参考:Azure Functions の Python 開発者向けリファレンス | Microsoft Docs

iscsiadmコマンドを使用したアクセス運び

最初

Linux環境にて、「iscsiadm」コマンドを利用したiscsiのメモリにアクセスする際の備忘録です。 ターゲット側の主人役がIP192.168.1.2の場合を想定しています。

iscsiターゲット側(接続先)にアクセスする場合、開祖側(接続元)での運びは次の2段階によって併設します。

前提

  • iscsiadmコマンドを実行時は、iscsidデーモンが起動していること。

接続運び

1.ターゲットを検知します。

iscsiadmコマンドに次のオプションを制限します。

  • ジーメンスド(-m)=「discovery」ジーメンスド
  • タイプ(-t)=「sendtargets」タイプ
 iscsiadm -m discovery -t sendtargets -p 192.168.1.2 

※補足

一度検知したターゲット情報は「/var/lib/iscsi」、日ストリパースペクティヴションによっては、「/etc/iscsi日レクトリ下廻りのDBに保持されます。   

2.検知したターゲットにログ宿舎します。

ターゲットにログ宿舎する方法には、手動と自動の2種類があります。

併設ファイル(/etc/iscsi.conf)に次の制限をすることで、ログ宿舎の振る舞いを変更することが可能です。

  • 自動 = node.startup=automatic
  • 手動 = node.startup=manual

手動でログ宿舎する場合は、iscsiadmコマンドに次のオプションを制限します。

  • ジーメンスド(-m)=「node」ジーメンスド
  • ログ宿舎(--login)
  • ターゲット(-p)=主人役名、IP番地
iscsiadm -m node --login -p 192.168.1.2

接続傍証

ログ宿舎セッションが確立したことを傍証する場合、iscsiadmコマンドに次のオプションを制限します。

  • ジーメンスド(-m)=「node」ジーメンスド
iscsiadm -m session tcp: [1] 192.168.1.2:3260,1 iqn.2016-10.mystrage.exzample.com:target 

メモ. iSCSIの識別子に関係知識

iscsiのターゲットや開祖には、一意に識別する利得に、次の2種類が存御座る。

iqn(iSCSI Qualified Name)

ひな形

iqn.yyyy-mm.<reversed domain name>:identifier  yyyy-mm:国土取得日、identifier:任意の名前
eui(Extended Unique Identifier)

ひな形

eui.<IEEE EUI-64四分子マット(16桁16進数> 上位6桁:IEEEが企業に発兌したOUI、低劣10桁:企業内に一意で分裂当てる番号

CentOS7.1 minimal 取り付けるした環境にGUIを導入する運び

概要

CentOS7.1 minimal で取り付ける後、OracleのOUIを利用した取り付けるなどでGUIが必要になる場合があります。 今回は、GNOME文机トップ環境を導入する運びを記述します。

取り付ける運び

X Windows 関連のパッケージ取り付ける

 # yum -y groupinstall "X Window System"  # yum -y groupinstall "GNOME Desktop" 

CUIGUI切り替え

一旦GUIへ差しかえる場合

  • X風ウシステムを起動する。
 # startx  

永久性的にGUIへ差しかえる場合

CentOS7からは、/etc/inittabの編集でなく、systemdが起動するときのパラメータを変更することで切り替えられます。

  • パラメータを「graphical.target」へ変更します。
 # systemctl set-default graphical.target 
  • パラメータが書き換わったことを傍証します。
 # systemctl get-default  graphical.target 
  • 再起動します。
 # reboot or # systemctl reboot 
  • GUIで起動可能ことが傍証できます。

f:id:abcmark2010:20160213103505j:plain

補足

CUI起動に差しかえる場合

 # systemctl set-default multi-user.target 

oracle database client 11gR2 取り付ける 運び(windows10)

最初

今回は、Oracle Databaseをネットワーク越しにOracle資料ベース(サーバ)を切開手術レーションしたり、管理したり、開発する利得のツールが入っているソフト装いとして、Oracle Database Client 11gR2を、Windows 10上へ取り付けるする運びを記載します。

ツールは、「SQL*Plus」と「Oracle Netユーティリティ(tnsping,tnstrace)」剞けつ取り付けるします。

綿羽国法ド

アカウント取得後、以下の犀ト一倍、「win64_11gR2_client.zip」を綿羽国法ドします。

Oracle Database 11g Release 2 for Microsoft Windows (x64)

f:id:abcmark2010:20160211225232j:plain

運び

取り付ける

  • 必要なコンポーネント剞けつ取り付けるする利得、「カスタム」取り付けるを選択後、「次へ」をクリックします。

f:id:abcmark2010:20160211225318j:plain

  • 「選択された言語」に「日本語」「英語」が選択されていることを傍証し、「次へ」をクリックします。

f:id:abcmark2010:20160211225337j:plain

  • Oracleベースとソフト装いの場所を選択し、「次へ」をクリックします。

f:id:abcmark2010:20160211225343j:plain

f:id:abcmark2010:20160211225607j:plain

  • 併設内容を傍証し、「終了」をクリックします。

f:id:abcmark2010:20160211225614j:plain

  • 取り付けるが開始されます。

f:id:abcmark2010:20160211225620j:plain

  • 取り付けるが完了したことを傍証し、「閉じる」をクリックします。

f:id:abcmark2010:20160211230059j:plain

tnsname.oraの配置

  • 次のフォルダ下廻りに、「tnsname.ora」ファイルを作成します。
    • <ソフト装いの場所>\network\admin

f:id:abcmark2010:20160211230417j:plain

f:id:abcmark2010:20160211230654j:plain

 ORCL =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = ★接続先主人役名★)(PORT = 1521))     )     (CONNECT_DATA =       (SERVER = DEDICATED)       (SERVICE_NAME = orcl.exzample.com)     )   ) 

パーフォーマンス傍証

  • プロンプトを起動します。

  • tnspingコマンド一倍、Oracle Databaseに接続可能ことを傍証します。

 >tnsping orcl  TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 11-2月 -2016 23:13:47  Copyright (c) 1997, 2010, Oracle.  All rights reserved.  パラメータ・ファイルを使用しました: E:\oracle\app\product.2.0\client_1\network\admin\sqlnet.ora   エイ裏側スを解決する利得にTNSNAMESアダプタを使用しました。 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ★主人役名★)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl.exzample.com)))に接続の試行中 OK (60ミリ秒) 
  • SQL*Plusにて、SYSユーザでログ宿舎します。
  >sqlplus sys@orcl as sysdba  SQL*Plus: Release 11.2.0.1.0 Production on 木 2月 11 23:15:16 2016  Copyright (c) 1982, 2010, Oracle.  All rights reserved.  パスワードをインプットしてください:   Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options に接続されました。 SQL> show user; ユーザーは"SYS"です。  

VMware-Toolsの取り付ける運び

最初

CentOS7.X系に、open-vm-toolsを取り付けるする運びになります。

兼ね兼ね、ご存じの方が多余程思いますが、ESXiにバン弗されているVMware Toolsではなく、 open-vm-tools を利用した運用が選奨されています。以下の記事をご参照ください。

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2074713

なお、当運びは、以下のOSバリアシオンをサポートしています。

取り付ける運び

キーの輸入品

 # rpm --import http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-RSA-KEY.pub 

リポジトリ追加

 # vi /etc/yum.repos.d/vmware-tools.repo [vmware-tools] name = VMware Tools baseurl = http://packages.vmware.com/packages/rhel7/x86_64/ enabled = 1 gpgcheck = 1 

パッケージ取り付ける

 # yum update # yum install open-vm-tools-deploypkg Installed: open-vm-tools-deploypkg.x86_64 0:9.4.10-3  Dependency Installed: libdnet.x86_64 0:1.12-6.el6             libicu.x86_64 0:4.2.1-9.1.el6_2 libmspack.x86_64 0:0.4-0.1.alpha.el6    open-vm-tools.x86_64 0:9.4.6-1.el6  Complete!  # service vmtoolsd restart vmtoolsd を停止中:                                         [  OK  ] vmtoolsd を起動中:                                         [  OK  ] # # vmtoolsd -v VMware Tools daemon, version 9.4.6.33107 (build-1770165) 

付録A. CentOS6.Xで取り付けるする方法

CentOS6.Xで、yum取り付けるしたい場合は、以下の通りとなります。

リポジトリの登録

1./etc/yum.repos.d/VMware-Tools.repoというファイルを作成します。

2.vi /etc/yum.repos.d/VMware-Tools.repoで下記の内容をインプットします。

   [vmware-tools]   name=VMware Tools for Red Hat Enterprise Linux $releasever   $basearch   baseurl=http://packages.vmware.com/tools/esx/latest/rhel6/$basearch   enabled=1   gpgcheck=1   gpgkey=http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-RSA-KEY.pub 

取り付ける

 #yum install vmware-tools-esx-noxを実行 (※GUIの場合は# yum install vmware-tools-esx) 

再起動

 #shutdown -r now 

傍証

 #vmtoolsd -v 

付録B. ESXiにバン弗されているVMware Tools 運び

ESXiにバン弗されているVMware Tools 取り付ける運びも記載します。

前提条件

  • VPN接続確立後、vSphere Client経由で仮想機械へ接続してください。
  • VMware Toolsの取り付けるにはPerlが必要です。 ※CentOSPerlが取り付けるされていない場合は yum install perlで取り付けるしてください。
  • 仮想機械を権オンします。
  • ゲスト OS が実行されていることを傍証します。

取り付ける運び

  • コンソール一倍、「仮想機械」-「ゲスト」-「VMwareToolsの取り付ける」を選択します。

  • マウントします。

 # mount /dev/cdrom /mnt/cdrom 
  • 圧縮されたVMware toolsのフォルダを任意の場所にコピーします。 ※今回はtar.gz儀式のファルダを解凍してVMware toolsを取り付けるします。
 # cp -f /mnt/cdrom/VMwareTools-9.4.10-2068191.tar.gz /usr/local/src/VMwareTools/. # tar xvfz VMwareTools-9.4.10-2068191.tar.gz 
  • 宿舎ストーラーを起動します。 ※今回は、まるきり不払い併設で取り付けるしています。 必要に応じて、併設を変更してください。
 # ./vmware-install.pl Creating a new VMware Tools installer database using the tar4 format.  Installing VMware Tools.  In which directory do you want to install the binary files? [/usr/bin]  What is the directory that contains the init directories (rc0.d/ to rc6.d/)? [/etc/rc.d]  What is the directory that contains the init scripts? [/etc/rc.d/init.d]  In which directory do you want to install the daemon files? [/usr/sbin]  In which directory do you want to install the library files? [/usr/lib/vmware-tools]  The path "/usr/lib/vmware-tools" does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes]  In which directory do you want to install the documentation files? [/usr/share/doc/vmware-tools]  The path "/usr/share/doc/vmware-tools" does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes]  The installation of VMware Tools 9.4.10 build-2068191 for Linux completed successfully. You can decide to remove this software from your system at any time by invoking the following command: "/usr/bin/vmware-uninstall-tools.pl".  Before running VMware Tools for the first time, you need to configure it by invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want this program to invoke the command for you now? [yes]  Initializing...   Making sure services for VMware Tools are stopped.    Found a compatible pre-built module for vmci.  Installing it...   Found a compatible pre-built module for vsock.  Installing it...   The module vmxnet3 has already been installed on this system by another installer or package and will not be modified by this installer.  Use the flag --clobber-kernel-modules=vmxnet3 to override.  The module pvscsi has already been installed on this system by another installer or package and will not be modified by this installer.  Use the flag --clobber-kernel-modules=pvscsi to override.  The module vmmemctl has already been installed on this system by another installer or package and will not be modified by this installer.  Use the flag --clobber-kernel-modules=vmmemctl to override.  The VMware Host-Guest Filesystem allows for shared folders between the host OS and the guest OS in a Fusion or Workstation virtual environment.  Do you wish to enable this feature? [no]  Found a compatible pre-built module for vmxnet.  Installing it...   The vmblock enables dragging or copying files between host and guest in a Fusion or Workstation virtual environment.  Do you wish to enable this feature? [no]  VMware automatic kernel modules enables automatic building and installation of VMware kernel modules at boot that are not already present. This feature can be  enabled/disabled by re-running vmware-config-tools.pl.  Would you like to enable VMware automatic kernel modules? [no]  No X install found.  Creating a new initrd boot image for the kernel.  Creating a new initrd boot image for the kernel. vmware-tools start/running The configuration of VMware Tools 9.4.10 build-2068191 for Linux for this running kernel completed successfully.  You must restart your X session before any mouse or graphics changes take effect.  You can now run VMware Tools by invoking "/usr/bin/vmware-toolbox-cmd" from the command line.  To enable advanced X features (e.g., guest resolution fit, drag and drop, and file and text copy/paste), you will need to do one (or more) of the following: 1. Manually start /usr/bin/vmware-user 2. Log out and log back into your desktop session; and, 3. Restart your X session.  Enjoy,  --the VMware team  Found VMware Tools CDROM mounted at /mnt/cdrom. Ejecting device /dev/sr0 ... No eject (or equivilant) command could be located. Eject Failed:  If possible manually eject the Tools installer from the guest cdrom mounted at /mnt/cdrom before canceling tools install on the host. 
  • 起動傍証します。
 # status vmware-tools vmware-tools start/running 
  • 再起動します。
 # reboot 

パーフォーマンス傍証

  • vSphere Client 宿舎ベントリで仮想機械を選択し、[要論] タブをクリックします。
  • VMware Tools:」が「実行中(現在)」にステータスが変わっている事を傍証します。

Maven環境構築運び

概要

Javaベースのオープンソース製事業計画管理ツール

ビルドツールApache Antのようにbuild.xmlを自分で手間をかけて記述することなく事業計画のビルドやデプロイ、テストレポートなどの生成を苦もなくすることができます。

PerlCPAN, PHPPEARWindows UpdateFedora Coreyumのように登録された外部のライブラリを難無く自分の事業計画へ、 自動綿羽国法ド/自動取り付ける/自動クラスパス追加が可能です。

Mavenは、とくにチームでの開発には有用で、開発者の各機械にMavenを取り付けるさえしておけば、Mavenの併設ファイル(pom.xml)を チーム内部員ーに配布するだけです。 後は開発者がMavenのコマンドを一回実行することでソース符号やJARライブラリなどを自動的に下準備して賜う優れた便利なツールです。

このツールのおかげで、開発環境と本番環境のJARライブラリのバリアシオン違いによる発表後に問題が発産みだするといったことを防ぐことができます。

今回は、そんなMavenの取り付ける運びを備忘録を兼ねて記載します。

前提

OS

実行ユーザ

  • root権限を持つ任意のユーザ

SW

|ソフト装い|バリアシオン|備考| |java|1.8.0_51|| |Maven|3.3.3||

取り付ける作業

Java取り付ける

 # mkdir /usr/local/src/java # cd /usr/local/src/java # tar xvfz /tmp/jdk-8u51-linux-x64.tar.gz 
 # vi /etc/profile (以下、編集) export JAVA_HOME=/usr/java export JAVA=${JAVA_HOME}/bin export PATH=$PATH:${JAVA_HOME} 
  • 併設を反映する。
 # source /etc/profile 
 # ln -s /usr/local/src/java/jdk1.8.0_51 /usr/java 
  • バリアシオンを傍証する。
 # java -version java version "1.8.0_51" Java(TM) SE Runtime Environment (build 1.8.0_51-b16) Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode) 

Maven取り付ける

  • 綿羽国法ドする。
 # curl -O http://ftp.jaist.ac.jp/pub/apache/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz 
  • 綿羽国法ドしたtarballを任意のフォルダに格納し、解凍する。
 # mkdir /usr/local/src/maven # cd /usr/local/src/maven # tar xvfz /tmp/apache-maven-3.3.3-bin.tar.gz 
 # ln -s /usr/local/src/maven/apache-maven-3.3.3 /usr/local/maven 

 # vi /etc/profile (以下、編集) export M2_HOME=/usr/local/maven export M2=${M2_HOME}/bin export PATH=$PATH:${RUBY}:${JAVA }:${M2} 
  • 併設を反映する。
 # source /etc/profile 
  • バリアシオンを傍証する。
 # mvn --version Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T20:57:37+09:00) Maven home: /usr/local/maven Java version: 1.8.0_51, vendor: Oracle Corporation Java home: /usr/local/src/java/jdk1.8.0_51/jre Default locale: ja_JP, platform encoding: UTF-8 OS name: "linux", version: "2.6.32-573.8.1.el6.x86_64", arch: "amd64", family: "unix" 

Maven併設

Mavenの併設は、Settings.xmlへ記述する。ここでは、必要最低限の併設しか記述していないが、詳細は、以下の犀トを参考にしていただきたい。

犀トURL:http://maven.apache.org/settings.html

プロキシ併設(プロキシ経由で綿羽国法ドする場合剞けつ)

  • 「settings.xml」へプロキシの併設を記述する。
 # vi /usr/local/maven/conf/settings.xml (以下、編集)               optional       true       http                     proxy.exzample.com       8080       *.exzample.com         

パーフォーマンス傍証

パーフォーマンス傍証の利得、mvnコマンドを利用してみます。

事業計画作成

  • 任意のフォルダを作成し、事業計画のひな形を作成する。
 mvn archetype:generate -DgroupId=myapp.hello -DartifactId=myapp-hello -DinteractiveMode=false 

※補足.  mvnコマンド実行時の成行きMsgは以下の通りある。

 【正常終了の場合】 [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------   【異常終了の場合】  [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ 

今日は、ここまで!

OpenJDK 64-Bit Server VM warning

f:id:abcmark2010:20160122233643j:plain

フェノメノン

日本語環境で、DBCAが文字化けした利得、以下の運びで解決後、

 # whereis java java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java /usr/share/man/man1/java.1.gz # readlink -e /usr/bin/java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.el6_7.x86_64/jre/bin/java  # cat dbca | grep JRE_DIR 69 JRE_DIR=/u01/app/oracle/product/11.2.0/dbhome_1/jdk/jre  # vi dbca JRE_DIR=/u01/app/oracle/product/11.2.0/dbhome_1/jdk/jre ↓↓↓ JRE_DIR=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.el6_7.x86_64/jre 

DBCAを立ち昇ると次の警告メッセージが出力される。

 $ dbca OpenJDK 64-Bit Server VM warning: You have loaded library /u01/app/oracle/product/11.2.0/dbhome_1/lib/libnjni11.so which might have disabled stack guard. The VM will try to fix the stack guard now. It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'. 

原因

「/u01/app/oracle/product/11.2.0/dbhome_1/lib/libnjni11.so」の実行スタックフラグが問題思える。

対策

警告メッセージの通り、実行スタックフラグを変更する利得のコマンドを取り付けるする。

 yum install prelink 

次の通り、該当する共有ライブラリを実行可​​能なスタックとしてフラグを変更する。

 # execstack -c /u01/app/oracle/product/11.2.0/dbhome_1/lib/libnjni11.so # execstack -c /u01/app/oracle/product/11.2.0/dbhome_1/lib/libldapjclnt11.so # execstack -c /u01/app/oracle/product/11.2.0/dbhome_1/lib/libsrvmocr11.so 

再度、DBCAツールを起動する。

 $dbca 

f:id:abcmark2010:20160120233508j:plain

警告が表示されずに、dbcaツールが起動可能ことを傍証する。

参考犀ト

linux.die.net

https://vxvtxt.srwsw.com https://rgmkfk.srwsw.com https://hjwfaa.srwsw.com https://ahegww.srwsw.com https://hpnwbj.srwsw.com https://ixmwtk.srwsw.com https://jxvikq.srwsw.com https://hqwgyh.srwsw.com https://vfiywj.srwsw.com https://kmadnd.srwsw.com https://xkbyva.srwsw.com https://vkqkam.srwsw.com https://nsvdxb.srwsw.com https://qdmjga.srwsw.com https://khkean.srwsw.com