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はフォームデータの非同期送信を実装します

推薦する

Centos7 MySQL データベースのインストールと設定のチュートリアル

1. システム環境yum updateアップグレード後のシステムバージョンは[root@yl-web...

Intellij IDEA による Docker イメージの展開方法の手順の迅速な実装

目次1. Dockerはリモートアクセスを可能にする2. Intellij IDEAにDockerプ...

キャンバスでPS消しゴムスクラッチカードの効果を実現するためのJSの使用方法の詳細な説明

目次効果のデモンストレーション:メインJSコード実装 <div class="box...

Vue の this.$store.state.xx.xx に関する簡単な説明

目次これを Vue.$store.state.xx.xxストアからデータを取得する私のプロジェクトフ...

Linux usermod コマンドの使用

1. コマンドの紹介usermod (ユーザー変更) コマンドは、ユーザー アカウントを変更するため...

Vue3 でタイマーコンポーネントをカプセル化する方法

背景一部のショッピング モールの Web ページで商品の詳細を開くと、購入数量を選択するためのカウン...

JavaScript 上級プログラミング: 変数とスコープ

目次1. 元の値と参照値2. インスタンス3. 範囲1. 元の値と参照値6 つの単純なデータ型の値は...

JavaScriptプロトタイプチェーン図のまとめと実践

目次プロトタイプチェーンプロトタイプチェーンに基づいてシンプルなJQueryライブラリを実装すること...

Mysql の varchar 型に関する注意点

varchar の保存ルール4.0 未満のバージョンでは、varchar(20) は 20 バイトを...

vue2.x の徹底研究 - h 関数の説明

目次解決、要約: vue プロジェクト。 .vue ファイルのテンプレート内に記述されたコードは、w...

Echatsチャートの大画面適応を実装する方法

目次説明する成し遂げるプロジェクトのディレクトリ構造は次のとおりです。効果図は以下のとおりです要約す...

制限およびオフセット ページング シナリオを使用すると速度が遅くなるのはなぜですか?

質問から始めましょう5 年前、私が Tencent にいたとき、ページング シナリオでは MySQL...

nginx+WordPressで個人ブログを構築するプロセス全体の詳細な説明

0x00 はじめにWordPress は、世界で最も人気のある CMS システムです。PHP と M...

ウェブサイトの速度を上げる6つの方法

1. .js ライブラリ ファイルのアドレスを Google CDN アドレスに置き換えます。 (G...

Vue でデータが変更された後にビューを同期的に更新する方法

序文少し前に、興味深い問題を目にしました。Vue のデータが変更された後に、ビューを同期的に更新する...