CentOS 7にfluentdをインストールしようと公式の手順を実行したらインストールできなかった。
Install by RPM Package (Red Hat Linux) - docs.fluentd.org
こちらの公式ドキュメントの手順に従ってrpm Repsitoryからtd-agent 4をインストールしてみる。
途中でシェルスクリプトを取得して実行するコマンドがあり、そこでエラーが出た。
# td-agent 4
# curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent4.sh | sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 849 100 849 0 0 904 0 --:--:-- --:--:-- --:--:-- 908
==============================
td-agent Installation Script
==============================
This script requires superuser access to install rpm packages.
You will be prompted for your password by sudo.
sh: line 8: sudo: command not found
sh: line 11: sudo: command not found
Installation completed. Happy Logging!
問題だったのはrootユーザで実行したためsudo
コマンドが見つからないとエラーが出てインストールできなかった。
解決方法
rootユーザ以外で実行すればよい。以上。
ただ、rootユーザしかない環境だったのでrootで実行できるようにする。 (ユーザ作るの面倒)
curlで取得しているinstall-redhat-td-agent4.sh
のsudo
を取り除けばいい。
install-redhat-td-agent4.sh
の中身と書き換えた箇所。
install-redhat-td-agent4.sh
echo "=============================="
echo " td-agent Installation Script "
echo "=============================="
echo "This script requires superuser access to install rpm packages."
echo "You will be prompted for your password by sudo."
# clear any previous sudo permission
-- sudo -k
# run inside sudo
-- sudo sh <<SCRIPT
++ sh <<SCRIPT
# add GPG key
rpm --import https://packages.treasuredata.com/GPG-KEY-td-agent
# add treasure data repository to yum
cat >/etc/yum.repos.d/td.repo <<'EOF';
[treasuredata]
name=TreasureData
baseurl=http://packages.treasuredata.com/4/redhat/\$releasever/\$basearch
gpgcheck=1
gpgkey=https://packages.treasuredata.com/GPG-KEY-td-agent
EOF
# update your sources
yum check-update
# install the toolbelt
yes | yum install -y td-agent
SCRIPT
# message
echo ""
echo "Installation completed. Happy Logging!"
echo ""
中身はyumにTreasureDataのリポジトリを追加する設定ファイルを作ってyum installを実行している内容。
wgetして上記のように書き換えて実行すると無事インストールできた。
# 書き換えたスクリプトを実行する
# sh install-redhat-td-agent4.sh
==============================
td-agent Installation Script
==============================
...
Installed:
td-agent.x86_64 0:4.2.0-1.el7
Dependency Installed:
libedit.x86_64 0:3.0-12.20121213cvs.el7 libyaml.x86_64 0:0.1.4-11.el7_0
Complete!
Installation completed. Happy Logging!