socket.gaierror: [Errno 8] nodenameまたはservnameが提供されない、またはわからない
ちなみに、調べた記事をいくつか載せておきます。
1.
エラーの報告
socket.gaierror: [Errno 8] nodenameもservnameも提供されない、またはわからない
原因
etc/hostsにホスト名が書き込まれていない。例えば、上記の例外メッセージにある MAC-20150101 は、実際には私たちの Mac システムのホスト名であり、いくつかのコードはホスト名に基づいて対応する IP アドレスを見つけるためにローカル DNS に行く必要があり、ローカル DNS 設定はホスト名の IP アドレスが何かを特定しないため、このエラーも表示されます。
解決方法
pythonインタプリタに実装。
python
ソケットライブラリが提供するgethostname()メソッドを呼び出してホスト名を取得します。
>>>import socket
>>>socket.gethostname()
>>>>exit()
ホスト名を取得し、hostsファイルを修正し、コマンドを入力します。
vim /etc/hosts
ホスト名を追加 127.0.0.1 ホスト名
エラーの解決
2. Mac システムで Java Web プロジェクトを起動すると、nodename と servname が表示される場合の解決法
元記事へのリンク: https://blog.csdn.net/longyuhome/article/details/50674442
今日、MacシステムでJavaのWebプロジェクトを開始すると、java.net.UnknownHostExceptionが表示されました。MAC-20150101 nodenameもservnameも同様のエラーを出しますが、Windows環境では同じプロジェクトが正常に起動し、実行されました。そこで、英語ですが、ネットで解決策を見つけ、実践したところ、確かに解決できました。では、この問題の解決策を紹介します。
まず、例外メッセージを見てください。
java.net.UnknownHostException: MAC-20150101: MAC-20150101: nodename nor servname provided, or not known
at java.net.InetAddress.getLocalHost(InetAddress.java:1473)
at org.eclipse.rse.core.RSECorePlugin.getLocalMachineName(RSECorePlugin.java:265)
at org.eclipse.rse.core.RSEPreferencesManager.getDefaultPrivateSystemProfileName(RSEPreferencesManager.java:358)
at org.eclipse.rse.core.RSEPreferencesManager.initDefaults(RSEPreferencesManager.java:337)
at org.eclipse.rse.internal.core.RSEPreferenceInitializer.initializeDefaultPreferences(RSEPreferenceInitializer.java:23)
at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper$1.run(PreferenceServiceRegistryHelper.java:300)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
....
....
....
Caused by: java.net.UnknownHostException: MAC-20150101: nodename nor servname provided, or not known
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)
at java.net.InetAddress.getLocalHost(InetAddress.java:1469)
... 28 more
例外メッセージにある MAC-20150101 というのは、実際には私たちの Mac システムのホスト名で、いくつかのコードはホスト名に基づいて対応する IP アドレスを見つけるためにローカル DNS に行く必要があり、ローカル DNS 設定では IP アドレスが何であるか特定できないので、このエラーも表示されることになります。
解決方法はとても簡単です。
1) Macシステムでターミナルを開き、ここに示すように、コマンド cat /private/etc/hosts を入力して、現在のホストDNSの設定を確認します。
2) 次に、ホスト設定を編集してホスト名のマッピングを追加します。コマンド sudo vi /private/etc/hosts を入力し、VI エディターに移動して、次のマッピングを追加します。
127.0.0.1 mac-20150101
終了して保存するだけです。
3) 最後に、ターミナルで dscacheutil -flushcache というコマンドを入力します。
この3つのステップを経て、Java Webプロジェクトの起動時に以下のエラーメッセージが表示されなくなります。
このエラーの原因は、ウェブが「プロジェクト内に以下のコードを呼び出す場所がある」と言っているからです。
InetAddress.getLocalHost().getCanonicalHostName();
このメソッドはFQDN(Fully Qualified Domain Name)を返すと書いてあり、ホスト名が設定されていない場合、このコードを呼び出すと例外メッセージが投げられます。このメソッドは基盤となるOSに依存し、MacシステムはWindowsとは少し異なる方法で設定されています
参考にしてください。
プロファイル 1: http://crunchify.com/getting-java-net-unknownhostexception-nodename-nor-servname-provided-or-not-known-error-on-mac-os-x- update-your-private-etchosts-file/
3. socket.gaierror: [Errno -2] リモートサーバJupyter notebookの設定時にName or service not knownエラーが発生しました。
コマンドを入力して、jupyter_notebook_config.pyの設定ファイルを修正します。
vim ~/.jupyter/jupyter_notebook_config.py
この設定ファイルの中で、c.NotebookApp.ipを探し、この行を見つけて、c.NotebookApp.ip='0.0.0'に変更します(通常チュートリアルでは'*'に変更します)、保存してノートブックを再起動すると完了です。
## The IP address the notebook server will listen on.
c.NotebookApp.ip = '*'
c.NotebookApp.allow_remote_access=True
関連
-
Webプロジェクトの実行ポップアップ Java Exceptionが発生しました。
-
ImportError の解決に成功しました。必要な依存関係 ['numpy'] がありません。
-
.NETで134217728バイトの許容メモリサイズを使い果たした(8192バイトを割り当てようとした)。解決方法
-
undefinedGitチュートリアル: ! [却下] master -> master (最初に取得) 解決策
-
Uncaught ReferenceError: require is not defined at ES6.js:1 (anonymous) @ ES6.js:1
-
Eclipseを起動したが、javaは起動したが終了コード=1が返ってきたというエラーが発生した。
-
Android開発におけるActivityからFragmentへのデータ受け渡しの2つの方法について。
-
輸出が定義されていない
-
Error:SSL peer shut down incorrectlyの完全な解決法
-
リクエストの処理中に処理されない例外が発生した
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
エラー: collect2:ld が 1 の終了ステータスを返した (要約)
-
ImportError: Missing required dependencies ['numpy'] 最初のインポートpandas問題に対する解決策。
-
c++のエラーエラー: "***"の前に期待される初期化子
-
error: expect unqualified-id before 'delete' void delete(node* p,char a) ^.
-
MySql エラー: java.sql.SQLException: ユーザー 'root'@'localhost' (パスワード: YES を使用) のアクセスが拒否されました。
-
AWS S3 CLI のパーミッションのバグ
-
JAVA の小さな問題を解決する
-
エラーです。反復不可能なfloatオブジェクトをアンパックできません
-
mysql 切捨てられた不正なDOUBLE値 解決策
-
Eclipseオンラインインストールエラー インストールするアイテムの収集中にエラーが発生しました。