Kashibuchi’s blog

勉強のこと、趣味のこと、日々のこと

Vagrantで作成した環境 + Elasticsearch + Kibanaのインストールと実行

作業環境について

インストール済のbox

>vagrant box list
bento/centos-7.2 (virtualbox, 2.3.1)
bento/centos-7.8 (virtualbox, 202010.22.0)
centos/7         (virtualbox, 2004.01)

プラグインのリスト

>vagrant plugin list
vagrant-hostmanager (1.8.9, global)
  - Version Constraint: > 0
vagrant-omnibus (1.5.0, global)
  - Version Constraint: > 0
vagrant-vbguest (0.30.0, global)
  - Version Constraint: > 0

Vagrantfileの作成

>vagrant init centos/7
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
  
  
>fc /n Vagrantfile_org Vagrantfile
ファイル Vagrantfile_org と VAGRANTFILE を比較しています
***** Vagrantfile_org
    8:  Vagrant.configure("2") do |config|
    9:    # The most common configuration options are documented and commented below.
***** VAGRANTFILE
    8:  Vagrant.configure("2") do |config|
    9:    if Vagrant.has_plugin?("vagrant-vbguest")
   10:      config.vbguest.auto_update = false
   11:    end
   12:    # The most common configuration options are documented and commented below.
*****

***** Vagrantfile_org
   26:    # config.vm.network "forwarded_port", guest: 80, host: 8080
   27:
***** VAGRANTFILE
   29:    # config.vm.network "forwarded_port", guest: 80, host: 8080
   30:    config.vm.network "forwarded_port", guest: 22, host: 2222, id: "ssh"
   31:
*****

***** Vagrantfile_org
   31:    # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
   32:
***** VAGRANTFILE
   35:    # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
   36:    config.vm.network "forwarded_port", guest: 9200, host: 19200, host_ip: "127.0.0.1"
   37:    config.vm.network "forwarded_port", guest: 5601, host: 15601, host_ip: "127.0.0.1"
   38:
*****

vagrant upの実行

>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos/7'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'centos/7' version '2004.01' is up to date...
==> default: Setting the name of the VM: elasticsearch_default_1634821269779_88784
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
    default: 9200 (guest) => 19200 (host) (adapter 1)
    default: 5601 (guest) => 15601 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: No guest additions were detected on the base box for this VM! Guest
    default: additions are required for forwarded ports, shared folders, host only
    default: networking, and more. If SSH fails on this machine, please install
    default: the guest additions and repackage the box to continue.
    default:
    default: This is not an error message; everything may continue to work properly,
    default: in which case you may ignore this message.
==> default: Rsyncing folder: /cygdrive/c/Users/kamin/work/VagrantBase/elasticsearch/ => /vagrant

Tera Termマクロ

; Vagrant macro
; 「vagrant ssh-config」で確認

; this file path
getdir dir

; port
port=2222

; private keyを指定します。上で取得したIdentityFileの値に書き換えます。
keyfile='C:/Users/kashibuchi/work/VagrantBase/elasticsearch/.vagrant/machines/default/virtualbox/private_key'

sprintf2 constr 'localhost:%d /ssh /2 /auth=publickey /user=vagrant /keyfile=%s' port keyfile

connect constr

vagrantユーザでログイン後、諸々のインストール

参考

Elasticsearch + Kibana + LogstashをCentOS7にインストールしてみた - Qiita

コマンド

[vagrant@localhost ~]$ sudo yum install -y https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.rpm
・・・略・・・
Complete!
[vagrant@localhost ~]$ 
[vagrant@localhost ~]$ 
[vagrant@localhost ~]$ sudo yum install -y vim
Loaded plugins: fastestmirror
Determining fastest mirrors
・・・略・・・
Complete!
[vagrant@localhost ~]$ 
[vagrant@localhost ~]$ sudo yum install -y curl 
Loaded plugins: fastestmirror
・・・略・・・
Complete!
[vagrant@localhost ~]$ 
[vagrant@localhost ~]$ 
[vagrant@localhost ~]$ sudo vim /etc/yum.repos.d/elasticsearch.repo
[vagrant@localhost ~]$ cat /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

[vagrant@localhost ~]$ sudo yum install -y elasticsearch-6.8.3
Loaded plugins: fastestmirror
・・・略・・・
Complete!
[vagrant@localhost ~]$ 
[vagrant@localhost ~]$ 
[vagrant@localhost ~]$ sudo yum install -y kibana
Loaded plugins: fastestmirror
・・・略・・・
Complete!
[vagrant@localhost ~]$ 
[vagrant@localhost ~]$ sudo vi /etc/elasticsearch/elasticsearch.yml # network.host: 0.0.0.0 ← 追加
[vagrant@localhost ~]$ sudo vi /etc/kibana/kibana.yml # server.host: "0.0.0.0" ← 追加
[vagrant@localhost ~]$ sudo systemctl start firewalld
[vagrant@localhost ~]$ sudo firewall-cmd --add-port=5601/tcp --zone=public --permanent
success
[vagrant@localhost ~]$ sudo firewall-cmd --add-port=9200/tcp --zone=public --permanent
success
[vagrant@localhost ~]$ sudo firewall-cmd --add-service=ssh --zone=public --permanent
Warning: ALREADY_ENABLED: ssh
success
[vagrant@localhost ~]$ sudo firewall-cmd --reload
success
[vagrant@localhost ~]$ 
[vagrant@localhost ~]$ systemctl daemon-reload # 正直うっかりsudoでやらなかった
==== AUTHENTICATING FOR org.freedesktop.systemd1.reload-daemon ===
Authentication is required to reload the systemd state.
Authenticating as: root
Password: 
==== AUTHENTICATION COMPLETE ===
[vagrant@localhost ~]$ 
[vagrant@localhost ~]$ sudo systemctl restart elasticsearch kibana 
[vagrant@localhost ~]$ 
[vagrant@localhost ~]$ sudo systemctl enable elasticsearch kibana
Created symlink from /etc/systemd/system/multi-user.target.wants/elasticsearch.service to /usr/lib/systemd/system/elasticsearch.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/kibana.service to /etc/systemd/system/kibana.service.
[vagrant@localhost ~]$ 
[vagrant@localhost ~]$ curl http://localhost:9200
{
  "name" : "iNfHYdH",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "vuyKU4CfQgOZoIFPgbexCA",
  "version" : {
    "number" : "6.8.3",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "0c48c0e",
    "build_date" : "2019-08-29T19:05:24.312154Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}
[vagrant@localhost ~]$ curl http://localhost:5601 # ブラウザからリダイレクト?されてちゃんとしたページが参照できる\(なお、日本語化は7.0以降の為、できなかった\)
[vagrant@localhost ~]$ 

ブラウザでの確認

f:id:KashibuchiKyamin:20211021232210p:plainf:id:KashibuchiKyamin:20211021232335p:plain

まとめ

とりあえずできた。 Firewalldを設定しないと接続できないのはちょっと辛いなと。 過去にそこそこがっつり調べたんだけどなー。覚えていないなFirewalldは。

業務で作業するならたぶんプロキシ環境なので、 - Vagrantのplugin - Vagrantfile - yumの設定ファイル ↑この辺のプロキシ設定をすればいいのかな。

Vgarnt up がうまくいかない

qiita.com

↑そのまま実行。なるほど。

>vagrant up

・・・略・・・

 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
No package kernel-devel-3.10.0-1127.el7.x86_64 available.
Error: Nothing to do
==> default: Checking for guest additions in VM...
    default: No guest additions were detected on the base box for this VM! Guest
    default: additions are required for forwarded ports, shared folders, host only
    default: networking, and more. If SSH fails on this machine, please install
    default: the guest additions and repackage the box to continue.
    default:
    default: This is not an error message; everything may continue to work properly,
    default: in which case you may ignore this message.
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

yum install -y kernel-devel-`uname -r`

Stdout from the command:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
No package kernel-devel-3.10.0-1127.el7.x86_64 available.


Stderr from the command:

Error: Nothing to do

>vagrant ssh
$ sudo yum update kernel*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Resolving Dependencies
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-1160.45.1.el7 will be installed
---> Package kernel-tools.x86_64 0:3.10.0-1127.el7 will be updated
---> Package kernel-tools.x86_64 0:3.10.0-1160.45.1.el7 will be an update
---> Package kernel-tools-libs.x86_64 0:3.10.0-1127.el7 will be updated
---> Package kernel-tools-libs.x86_64 0:3.10.0-1160.45.1.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================================
 Package                         Arch                 Version                            Repository             Size
=====================================================================================================================
Installing:
 kernel                          x86_64               3.10.0-1160.45.1.el7               updates                50 M
Updating:
 kernel-tools                    x86_64               3.10.0-1160.45.1.el7               updates               8.2 M
 kernel-tools-libs               x86_64               3.10.0-1160.45.1.el7               updates               8.0 M

Transaction Summary
=====================================================================================================================
Install  1 Package
Upgrade  2 Packages

Total download size: 67 M
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for updates
(1/3): kernel-tools-3.10.0-1160.45.1.el7.x86_64.rpm                                           | 8.2 MB  00:00:03
(2/3): kernel-tools-libs-3.10.0-1160.45.1.el7.x86_64.rpm                                      | 8.0 MB  00:00:03
(3/3): kernel-3.10.0-1160.45.1.el7.x86_64.rpm                                                 |  50 MB  00:00:10
---------------------------------------------------------------------------------------------------------------------
Total                                                                                6.4 MB/s |  67 MB  00:00:10
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : kernel-tools-libs-3.10.0-1160.45.1.el7.x86_64                                                     1/5
  Updating   : kernel-tools-3.10.0-1160.45.1.el7.x86_64                                                          2/5
  Installing : kernel-3.10.0-1160.45.1.el7.x86_64                                                                3/5
  Cleanup    : kernel-tools-3.10.0-1127.el7.x86_64                                                               4/5
  Cleanup    : kernel-tools-libs-3.10.0-1127.el7.x86_64                                                          5/5
  Verifying  : kernel-3.10.0-1160.45.1.el7.x86_64                                                                1/5
  Verifying  : kernel-tools-libs-3.10.0-1160.45.1.el7.x86_64                                                     2/5
  Verifying  : kernel-tools-3.10.0-1160.45.1.el7.x86_64                                                          3/5
  Verifying  : kernel-tools-libs-3.10.0-1127.el7.x86_64                                                          4/5
  Verifying  : kernel-tools-3.10.0-1127.el7.x86_64                                                               5/5

Installed:
  kernel.x86_64 0:3.10.0-1160.45.1.el7

Updated:
  kernel-tools.x86_64 0:3.10.0-1160.45.1.el7             kernel-tools-libs.x86_64 0:3.10.0-1160.45.1.el7

Complete!
$exit
>vagrant reload --provision
・・・すごく長い標準出力・・・
3.10.0-1160.45.1.el7.x86_64.
Redirecting to /bin/systemctl start vboxadd.service
Redirecting to /bin/systemctl start vboxadd-service.service
Unmounting Virtualbox Guest Additions ISO from: /mnt
==> default: Checking for guest additions in VM...
==> default: Rsyncing folder: /cygdrive/c/Users/kamin/work/VagrantBase/centOsPrototype/ => /vagrant
> 

で、終わり。 なるほどなー。

ついでに色々入れた

>vagrant ssh
$ echo vagrant | sudo yum install -y https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.rpm
$  sudo yum install -y vim

qiita.com

$ sudo vim /etc/yum.repos.d/elasticsearch.repo

で編集

[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

でやってみる

$ sudo yum install -y elasticsearch-6.8.3
・・・略・・・
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Creating elasticsearch group... OK
Creating elasticsearch user... OK
  Installing : elasticsearch-6.8.3-1.noarch                                                                      1/1
### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
 sudo systemctl daemon-reload
 sudo systemctl enable elasticsearch.service
### You can start elasticsearch service by executing
 sudo systemctl start elasticsearch.service
Created elasticsearch keystore in /etc/elasticsearch
  Verifying  : elasticsearch-6.8.3-1.noarch                                                                      1/1

Installed:
  elasticsearch.noarch 0:6.8.3-1

Complete!

いけた! わーい。

HTML・CSS学習記録

考えてみたら全然プログラミングじゃないので今日から改題。

dotinstall.com

↑完了。 sectionタグとか知らなかったのでやってよかった。 次はCSSやって、Bootstrapをやって……画面関連は一通りおさらいしたいな。

プログラミング学習記録

dotinstall.com

↑本当にドットインストールでHTMLをいまさら勉強しています。
今日はここまで。
タグ名とか忘れてるんよー。

早くformもつくって、CSSやって、Bootstrapで画面を作りたい。
グリッドレイアウトやりたい。
とはいえ、画面は最低限成立すればいいのであまり凝らなくてもいいんだけどね。
基本的にローカルで個人の作業記録をつけるだけのアプリだし。

あと、現在の仕事の参考にしたくてREST APIも作らなきゃだし。
やることが……やることが多い……!!

プログラミング学習記録

前回までの記事は作業内容的に「メモ」じゃなかったね。

ということで。

github.com

github.com

github.com

↑以上をすべて完了。 順番にやるとSpring Bootが何をよしなにやってくれているのかがわかる流れになってました。
すげえ。

Udemyの購入した講座をやってもいいと思ったのですが、先に作成したいWebアプリの画面を作ってました。
が、Bootstrapがわからんので↓をやります。

dotinstall.com

遅遅とした進捗です。

なお、作りたいものはプロジェクト実績管理アプリを作るつもり。
派遣先って勤怠の稼働時間を登録するのに、プロジェクト(というかプロジェクトID)に対してその日は何時間の稼働を使ったのかを記録していくのだけれども、それをローカルで起動するWebアプリとして作れたらいいかなと。
プロジェクト名称(またはコード)を登録し、各プロジェクトの作業開始時に開始時刻を登録し、終了するまでの時間を記録していく。
H2 Databaseでデータをファイル保存していく実装だけど、ちゃんとチームで使用したかったら他のDBも使用できるようにするつもり。
要するに、Redmineの簡易版です。
あれJavaじゃないし、DBいるし、導入はちょっと頑張らないといけないのでJDKのPathが通っていれば使える程度のものにしたいなと。
目標は月内に実装まで完了でテストが残なのが理想なんだけど、できるかな。

プログラミング学習メモ

Springのハンズオン消化状況

github.com

github.com

github.com

↑完了。
todo-4を残すのみ。
Spring bootじゃなくて素のSpringなのでConfing書きまくりなんだけど、
Spring bootがよしなにしてくれていた部分が見えてきて、
理解が深まった気がする。

学習中のメモ

terasolunaorg.github.io

↑年の部分を "yyyy" ではなく "uuuu" にする理由。
なるほどねー。

note.com

↑継承or委譲についての記事。
何が違うんだと思ったら、委譲元の処理を部分的に使用したいとき、委譲先が委譲元だけで使用したいメソッドを委譲先のオブジェクトから使用させないためのものなのね。
なるほど。