RTX1100の設定まとめ
RTX1100とは
ただ古い方となっていてオークションとかで5000円くらいで手に入る
今となっては需要はほぼないけどログとして。
工場出荷時に戻す
$ cold start
管理者パスワードの設定
$ administrator password > 任意のパスワード入力
TimeZoneと日次の設定
$ timezone jst # 日本時間に $ date 2016/02/12` #日付合わせる $ Time 11:35:00 # 時間合わせる
ブラウザからアクセスできるようにする
httpd service on httpd host lan1 ip lan1 address 192.168.100.1/24 dhcp service server dhcp scope 1 192.168.100.2-192.168.100.191/24 # これで192.168.100.1で接続できる。
ログインタイマを30分に変更し
- ログインタイマを30分に
login timer 1800
- コンソールで[RTX]と表示
console prompt [RTX]
console character ascii
save
save
一通り終わった後にこれやらないと消えてしまうので注意
フォームの更新
ダウンロードしてきたバイナリファイルが正しいかどうかをMD5チェックサムで確認
type rtx1100.md5
md5sum -cv rt80i.md5
md5sum -bv rt80i.bin
一番目と三番目で出てくるハッシュを確認してあっているかを確認する。
外からipを設定して外部からipで接続できるようにする。
- 後は
tftp host [ip address]
- 上記のtftpのipは転送処理を行うパソコンのイーサーネットのipを設定する。
作業をする際は
- 作業中は送信処理などが不安定になることから
pp disable
としパケットを無効にする。- 作業が終わったら
pp enable
として有効にする。
ディレクターと仲良くするために考えている1つのこと
Speee Advent Calendar 2015 - Qiitaの7日目です!
今回はエンジニアなら誰もが作ったことのあるクローラーの話をしようと考えてましたが、
法令とモラルの遵守から少し外れそうだったので、ちゃんとした記事にします!
クローラー話を期待してくださった方はまた次回ということで。
今回は業務上ジョブ管理が多いのでそれを効率化させてディレクターと仲良くなりたくて書きます
ジョブ????
一番有名なのはエンジニアが誰しもが知っているcron
かなと思います。
これを設定することで、定期的にプログラムを実行してくれる素晴らしいやつ。
便利だけど、ちょっと難点が。。。もしかしたら僕の場合だけかもしれないですが。。。
とある業務上での会話
シーン①
Dir: hatappiさんこの定期的にまわっているの今日だけとめてもらっても良いですか?
hatappi: 了解しました!対応しておきます。(crontabの指定箇所をコメントアウトしておいて・・・・)
ーーーー 次の日 ーーーー
Dir: hatappiさん!!定期実行されるものが回ってないです!!確認いただけますか???
hatappi: やばい・・・コメントインしていない・・・
シーン②
Dir: hatappiさんクローラーの処理終わりそうですか?
hatappi: まだ終わってないですねぇ〜
Dir: hatappiさんクローラーの処理終わりそうですか?
hatappi: まだ終わってないですねぇ〜
Dir: hatappiさんクローラーの処理終わりそうですか?
hatappi: まだ終わってないですねぇ〜
DIr: hatappiさん・・・・
本題: Airflowの導入
Airflowとは?
宿泊施設仲介サービスairbnbがオープンソースとして公開されたワークフロー管理サービス!
pythonで作成されておりスケジュールはコンソールから登録!
このサービスはairbnb社がデータパイプラインのインフラに不満があり生まれたもので今ではすべてのパイプラインをairflowで行っているらしい
導入に関して
過去に導入で書いた記事があるのでこちらで
qiita.com
コード例
# airflowで定義されているものを読みこむ from airflow import DAG from airflow.operators import BashOperator from datetime import datetime, timedelta # 初期値の設定。実行ユーザーと開始日は最低でも設定しておかないと動かない。 default_args = { 'owner': 'airflow', 'start_date': datetime.today(), } # ジョブに関するインスタンスの作成 (schedule_intervalにcrontabの記載でスケジューリング) dag = DAG('print_test', default_args=default_args, schedule_interval='0 0 * * *') # タスクの定義 task1 = BashOperator( task_id='print_hoge', bash_command='echo "hoge"', dag=dag) task2 = BashOperator( task_id='print_fuga', bash_command='echo "fuga"', dag=dag) task3 = BashOperator( task_id='print_ping_pong', bash_command='echo "ping {{ params.ping }}"', params={'ping': 'pong'}, dag=dag) # タスクの依存関係を定義する。※下記はtask1が終わった後にtask2, task3の実行 task2.set_upstream(task1) task3.set_upstream(task1)
感じたこと
- CUIでタスク登録だがそれ以外は基本webから出来るので楽!
- 単なるスケジューラーではなく、ワークフロー管理ということ!
- どこまで進捗しているかなどがweb上で一目瞭然!時間なども計測できる。
- web上でlogが閲覧できるので、エンジニアでなくてもlogを確認できる。
Airflowを導入したディレクターとの未来!
シーン①
Dir: hatappiさん定期的にまわしているタスクですが今日だけ止めておきましたのご認識お願いします!
hatappi: はい!
シーン②
Dir: hatappiさん確認しましたが、クローラーの処理後少しですね!
hatappi: はい!
みんなハッピーになれる!!!!!!1
Airflow以外の選択肢
今回はAirflowを使用したが、他にも
この他にもまだまだある。正直どれが良いかは一長一短な感じ。全部試してないけど・・・
大事なのは管理するのはシャルやコマンドの実行とスケジューリングでプログラムなどは書かない
これをすれば他に良いツールが出たときも移行しやすい。
これでちょっとでもディレクターとの開発・運用ライフを楽しみたいと思います!