VirtualBox を使用して Mac 上にローカル仮想マシン環境を構築する方法

VirtualBox を使用して Mac 上にローカル仮想マシン環境を構築する方法

1. ビッグデータとHadoop

ビッグデータについて研究し学ぶには、当然 Hadoop から始める必要があります。 Hadoop は単純なソフトウェアではなく、一連のソフトウェアによって形成されるエコシステムです。その中核となるアイデアは、もともと Google が公開した 3 つの論文に由来し、後にオープンソースとして実装されました。Google の実装と Hadoop の実装の対応は、おおよそ次のようになります。

Google Map/Reduce <---> Hadoop MapReduce Google GFS <---> Hadoop HDFS Google BigTable <---> Hadoop HBase

Hadoop エコシステムのすべてのコンポーネントは Linux 環境で実行されるため、当然ながら最初に Linux 環境を構築する必要があります。さらに、Hadoop は分散型であるため、「ビッグ」データを処理できます。分散コンピューティングを使用してサーバー クラスターを構築し、必要に応じて拡張できます。学習の目的で、まず仮想マシンを使用してローカル コンピューター上に Linux 環境を構築します。クラスター環境をモデル化するには、さらにいくつかの仮想マシンを作成できます。

このツールを使用するには、複数の仮想マシンを作成する必要があるため、コンピューターのメモリは 8G 以上である必要があります。Hadoop を実行するには通常、仮想マシンに 2G が必要であり、3 つの仮想マシンを開くと大量のメモリが消費されるためです。 ただし、初期の段階では学習のために各仮想マシンに 1G のメモリのみを割り当て、不足する場合は後で調整できるようにしました。

2. VirtualBox を選ぶ理由

仮想マシンといえば、まず思い浮かぶのは有名な VMware です。 VMware は古い仮想マシン ソフトウェアであり、オンライン上に多くのチュートリアルがあります。私が VirtualBox を選んだ理由は、主にライセンスの問題でした。 私はMacBook Proしか持っていないので、ソフトウェアライセンスにあまり時間をかけたくないので、無料のVirtualBoxを選択しました。VirtualBoxのインストールプロセスは目立ったものではなく、単なる定型的な操作なので、詳細には触れません。

3. 仮想マシンにCentOSをインストールする

先ほども述べたように、私のメインのコンピュータは MacBook Pro です。便宜上、Parallel Desktop を使用して Windows マシンを仮想化しましたが、ここでは説明しません。

Linux システムとして CentOS を選択しました。まず、CentOS の公式サイトからシステムの ISO ファイルをダウンロードします。 VirtualBoxで新しい仮想マシンを作成し、タイプとしてLinuxを選択し、任意のバージョンを選択します。CentOSは見当たりませんが、どれを選んでも大丈夫です。 インストールするものが増えるにつれて仮想マシンのファイルがどんどん大きくなる可能性があるため、仮想マシンのファイルが保存されるフォルダーを選択するのが最善です。コンピュータのハードドライブがほぼいっぱいになったので、外付けハードドライブを接続して仮想マシンのファイルをそこに保存しました。必要なときに接続できます。便利ではありませんが、これで間に合わせなければなりません。

その他のパラメータはデフォルトのままにしておきます。仮想マシンが正常に作成されたら、「設定」をクリックし、「ストレージ」に切り替えて、光学ドライブにダウンロードした CentOS システム ISO ファイルを選択します。仮想マシンが起動したら、CentOS のインストールに入ることができます。

CentOS7 オペレーティング システムのインストールについては説明する必要はありません。グラフィカル インターフェイスなので難しくありません。

4. ネットワーク環境の設定で発生した問題

Linux が正常にインストールされた後のネットワーク設定について話す必要があります。ここで多くの問題が発生しました。私のネットワーク環境もこのようになるといいのですが。まず、Linux 仮想マシンがインターネットに接続できるようになり、将来的にコンポーネントをダウンロードする際に便利になることを期待しています。次に、ホストマシン (MacBook) から Linux 仮想マシンにアクセスして、ssh 経由でログインできるようにしたいと考えています。 VirtualBox のデフォルトの小さなウィンドウは本当に小さくて目が回ります。拡大することもできますが、ホストの下で操作する方が便利なので、MacBook から ssh で接続する必要があります。ただし、CentOS はインストール直後はインターネットに接続できないため、関連する設定が必要になりますのでご注意ください。

4.1 Linux仮想マシンがインターネットに接続する

デフォルトでは、仮想マシンのネットワーク設定で「ネットワーク アドレス変換 NAT」を選択でき、仮想マシンは NAT ネットワークを作成します。

仮想マシンをインストールした後、デフォルトではネットワークがオンになっていないため、インターネットに接続できません。仮想マシンを起動し、ログイン後にネットワーク構成を変更する必要があります。

vi /etc/sysconfig/ネットワークスクリプト/ifcfg-enp0s3

Linux の起動後にネットワークを開始できるように、ONBOOT を yes に変更します。 変更を加えたら、ESC キーを押してから :wq キーを押して終了し、保存します。変更を有効にするためにネットワーク サービスを再起動する必要はありません。

systemctl restart network

この時点で、コマンド ``` ip addr``` で確認すると、ネットワークにすでに IP アドレスが割り当てられていることがわかります。たとえば、私の IP アドレスは 10.0.2.15 です。図に示すように:

ここで、 ping www.baidu.comすると、インターネットに接続できることがわかります。

4.2 ホストMacbookからLinux仮想マシンにアクセスする

さらに、ホスト Macbook からアドレスに ping できないため、ホストは仮想マシンにアクセスできません。ホスト MacBook と仮想マシン Linux が相互に通信するには、2 台のマシンが同じネットワーク セグメント内にある必要があります。 VirtualBox の「管理」メニューで、「ホスト ネットワーク マネージャー」を開いて作成します。図に示すように、仮想ネットワーク カード 192.168.56.1 が作成されていることがわかります。

このとき、MacBookターミナルでifconfigコマンドを使用すると、IPアドレスが192.168.56.1のvboxnet0ネットワークカードが追加されていることがわかります。

Danieldu@daniels-macbook-pro-857〜ifconfig lo0:flags = 8049 <up、loopback、running、multicast> mtu 16384 options = rxcsum、txcsum、txstatus、sw_timestamp> inet 1%LO0プレフィックス64 SCOPEID 0x1 ND6オプション= 201 <PerformNud、DAD> GIF0:Flags = 8010 <Pointopoint> MTU 1280 STF0:0 <> MTU 1280 EN0 :: 1C82:47A:64F:460F%EN0プレフィックスレン64セキュアドスコーペイド0x4 INET 192.168.31.46 NetMask 0xffffffff00ブロードキャスト192.168.31.255 ND6オプション= 201 <Performnud、DAD:メディアメディアステータス:アクティブ....

0:00:27:00:00:00 inet 192.168.56.1 ネットマスク 0xffffff00 ブロードキャスト 192.168.56.255 utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380 inet6 fe80::f655:9c6f:ca10:240e%utun1 プレフィックス長 64 スコープID 0xc nd6 オプション=201<PERFORMNUD,DAD>

...

次に、VirtualBox の対応する仮想マシン設定にネットワーク カードを追加する必要があります。2. 「ホストオンリー ネットワーク」を選択します。インターフェイス名は前述のとおり vboxnet0 です。

次に、仮想マシンにログインし、「ip addr」コマンドを使用して確認すると、追加のネットワーク カード enp0s8 が見つかります。 enp0s3 からコピーしてこのファイルを編集し、今回は固定 IP アドレスに変更します。

cp /etc/sysconfig/network-scripts/ifcfg-enp0s3 /etc/sysconfig/network-scripts/ifconfig-enp0s8 

次に、「systemctl restart network」でネットワークを再起動します。これで、ホスト Macbook から仮想マシンにアクセスできるようになります。

4.3 Linuxファイアウォールをオフにする

上記の設定から、ホスト MacBook の IP アドレスは 192.168.56.1 であり、仮想マシン Linux の静的アドレスは 192.168.56.100 に設定されていることがわかります。これで、同じネットワーク セグメント内にあり、相互に ping を実行できるはずです。 ping できない場合は、ファイアウォールの問題である可能性があります。 まず、MacBook のファイアウォールをオフにします。

次に、Linux 仮想マシンのファイアウォールもオフになっていることを確認します。ファイアウォールはデフォルトでオンになっています。

sshサービスを確認してください。デフォルトで開いているはずです。

これで、Mac のターミナルから Linux に SSH 接続できるようになります。

要約する

上記は、VirtualBox を使用して Mac 上にローカル仮想マシン環境を構築する方法について紹介したものです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Mac 上の PyCharm で Python Anaconda 環境を構成する方法
  • Mac 上の PyCharm で Anaconda 環境を構成する方法
  • MacでのPHP環境と拡張機能の詳細なインストール
  • macOSでPython環境を構築する方法
  • MacでPHP開発環境を素早く構築するための詳細な手順
  • Mac での Go 環境と VS Code の正しいインストールと構成
  • mysql5.7.21 utf8 エンコーディングの問題と Mac 環境での解決方法
  • Mac で Gradle 環境を設定し、Android Studio を使用して jar パッケージと arr パッケージをパッケージ化する方法
  • Macで環境変数パスを変更する方法

<<:  Windows で MySQL インストーラーを使用して MySQL サービスをインストールするチュートリアル図

>>:  JavaScriptはフォームデータの非同期送信を実装します

推薦する

Sqoop エクスポート マップ 100% 削減 0% さまざまな理由と解決策でスタック

私はこのようなバグを典型的な「ハムレット」バグと呼んでいます。これは、「エラーメッセージは同じだが、...

Vue el-date-picker 動的制限時間範囲ケースの詳細な説明

2つの状況がある1. 開始時間と終了時間が同じボックス内にあります(今月のみ限定) 2. 開始時間と...

CSS でよく発生する問題の整理 (ロゴのハッキング/コンテナの固定/画像の垂直方向の中央揃え)

1. IEブラウザモードハックロゴ1. CSSハックロゴコードをコピーコードは次のとおりです。 ie...

MySQL 作成ルーチン権限に関する注意事項

1. ユーザーにルーチン作成権限がある場合は、プロシージャ | 関数を作成できます。 2. ユーザー...

Windows 10 Home Edition に Docker for Windows をインストールする

0. 背景ハードウェア: Xiaomi Notebook Air 13/Inter Core i7-...

Linux システムによって報告される xfs_vm_releasepage 警告問題に対処する方法

問題の説明最近、いくつかのマシンで、一日のさまざまな時間に次の警告メッセージが表示されました。 3月...

ウェブデザインの教育または学習プログラム

セクションコース内容営業時間1 ウェブデザインの概要2 2 HTML 基本タグとフォーマットタグ 2...

Vue プロジェクトで addRoutes を使用する際の問題の解決策

目次序文1. 404 ページ1. 原因2. 解決策2.白い画面を更新する1. 原因2. 解決策3. ...

CSS マルチレベルメニュー実装コード

これは、Web ページを Windows のスタート メニューなどのデスクトップ プログラムのように...

Linuxサーバ侵入緊急対応記録(概要)

最近、お客様から支援の依頼を受けました。管理されている通信コンピュータ ルームから、サーバーの 1 ...

Alibaba Cloud Ubuntu 16.04 が IPSec サービスを構築

IPSec の概要IPSec (インターネット プロトコル セキュリティ): ネットワーク層と適用さ...

Linux で毎日データベースの自動バックアップを設定する方法

この記事では、Centos7.6 システムと Oracle11g を例に挙げます。 1. まずデータ...

MySQL データベースの必須条件クエリ ステートメント

目次1. 基本的な文法2. 条件式によるフィルタリング3. 論理式によるフィルタリング4. あいまい...

レスポンシブレイアウトについて知っておくべきこと

1. はじめにレスポンシブ Web デザインにより、Web サイトは複数のデバイスと複数の画面に同時...

Axios の二次カプセル化の例 プロジェクトのデモ

1. なぜパッケージングを行うのですか?全体的なコード呼び出し、リクエストの公開処理、パーソナライズ...