ablog

不器用で落着きのない技術者のメモ

2018-12-01から1ヶ月間の記事一覧

文鎮化した S3 バケットを元に戻す

AWS

誤ったバケットポリシーを設定したり、バケットポリシーで特定のVPCエンドポイントからのみのアクセスを許可していてそのVPCエンドポイントを消してしまったりしてS3バケットに一切アクセスできず文鎮化してしまった場合の対処法。root アカウントのシークレ…

サーバ負荷をシンプルに評価する指標 "sysload"

たしか、4年くらい前にデータベース系のイベントで瀬島さんと横道さんと話しているときにそういうものを作っているとちらっと聞いて気になっていたので、ブログ見たときに sysload は「あの時、聞いたやつだ」と思い出した。 はるか昔kernel 2.6 の頃、Load …

Aurora PostgreSQL互換でフェイルオーバーを高速化する

AWS

Linux の TCP Keep Alive パラメータ tcp_keepalive_time = 1 tcp_keepalive_intvl = 1 tcp_keepalive_probes = 5 JavaのDNS キャッシュタイムアウトの短縮 // Sets internal TTL to match the Aurora RO Endpoint TTL java.security.Security.setProperty("…

Aurora MySQL互換のフェイルオーバー

AWS

障害挿入クエリ(Fault Injection Queries) INSTANCE はMySQLインスタンスをクラッシュさせる。 DISPATCHER はクラスターボリュームに書込むディスパッチャをクラッシュさせる。 NODEはMySQLインスタンスとディスパッチャの両方をクラッシュさせ、キャッシ…

Aurora のエンドポイント

AWS

クラスターエンドポイント $ dig +trace aurora-postgres105.cluster-********.ap-northeast-1.rds.amazonaws.com ; <<>> DiG 9.8.3-P1 <<>> +trace aurora-postgres105.cluster-********.ap-northeast-1.rds.amazonaws.com ;; global options: +cmd . 12416…

fio の結果の見方

Client1: (groupid=0, jobs=1): err= 0: pid=16109: Sat Jun 24 12:07:54 2017 write: IOPS=88, BW=623KiB/s (638kB/s)(30.4MiB/50032msec) slat (nsec): min=500, max=145500, avg=8318.00, stdev=4781.50 clat (usec): min=170, max=78367, avg=4019.02, s…

EFS を使ってみる

AWS

インストールとマウント $ sudo yum install -y amazon-efs-utils fio $ sudo mkdir /efs $ sudo mount -t efs -o tls fs-d462f79c:/ /efs ベンチマーク実行 $ sudo fio -filename=/efs/test1 -rw=read -direct=1 -bs=4k -size=2G -numjobs=2 -runtime=10 -g…

Redshift の "ERROR: 1023 DETAIL: Serializable isolation violation"

準備 psql で Redshift に接続する。 psql "host=ds2xl-2n.******.us-west-2.redshift.amazonaws.com user=awsuser dbname=mydb port=5439" テーブルを作成してデータを投入する。 \echo :AUTOCOMMIT; CREATE TABLE tab1 (col1 INTEGER NOT NULL); CREATE TA…

Amazon chime の Chat room の URL を確認する

AWS

https://app.chime.aws/rooms/ にアクセスすると自分が参加している chat room の一覧が表示されるので、chat room をクリックすると URL にジャンプする。chato room への invite を依頼しなくてもリンクをクリックすると、アクセス許可依頼が飛ぶ。

RDS Oracle EE 作成時に "Please specify an option group containing the TDE HSM option" と怒られる

AWS

事象 RDS Oracle (Enterprise Edition) でデータベース作成時に"Please specify an option group containing the TDE HSM option" と怒られる。 Please specify an option group containing the TDE HSM option (Service: AmazonRDS; Status Code: 400; Erro…

SwingBench の Data Generator で Sales History のデータを生成する

準備 RDS Oracle RDS Oracle データベースを作成する。 EC2 EC2インスタンスを作成する。 JDKをインストールする。 $ sudo yum install -y java-1.8.0-openjdk.x86_64 Data Generator をダウンロードする。 $ wget http://dominicgiles.com/swingbench/datag…

Hive で Parquet にクエリすると ParquetDecodingException: Can not read value at 0 in block -1 in file

AWS

事象 Hive で Parquet にクエリすると "java.io.IOException: org.apache.parquet.io.ParquetDecodingException: Can not read value at 0 in block -1 in file" と怒られる。 $ hive Logging initialized using configuration in file:/etc/hive/conf.dist/…

QuickSight で Athena にクエリしようとすると Access Denied と怒られる

AWS

事象 Athenaから直接クエリを実行できるが、QuickSightから同じテーブルにクエリすると "Access Denied" と怒られる。 [Simba][AthenaJDBC](100071) An error has been thrown from the AWS Athena client. Access Denied 原因 QuickSight でユーザー作成時…

Spark DataFrame の repartition メソッドは何をするものか

Spark DataFrame の repartition(パーティション数, カラム名) とすると指定したカラムで指定したパーティション数にパーティショニングする。パーティション数を省略するとデフォルト値(Spark 2.3.2 では 200)になる。 repartition(numPartitions, *cols)…

CloudFront で Distribution の Origin Domain Name を変更して切り替るまでのタイムラグ

AWS

CloudFront で Distribution の Origin Domain Name を変更して切り替るまでのタイムラグは TTL でコントロールできる。 AWSマネジメントコンソールで CloudFront を選択し、[Distribution]-[Origins and Origin Groups]を選択し、[Edit]で編集する。 Origin…

macOS Sierra で DNS リゾルバキャッシュを確認する方法

/var/log/system.log を tail して、 % tail -f /var/log/system.log 以下のコマンドで出力する。 % sudo killall -INFO mDNSResponder 参考 sierra - mDNSResponder not logging - Ask Different % man mDNSResponder (中略) By default, only log level …

DNS の TTL はキャッシュサーバとリゾルバキャッシュで使われる

AWS

DNSのレコードはDNSのキャッシュサーバでもキャッシュされるし、クライアントOSのDNSリゾルバでもキャッシュされ、キャッシュ期間は TTL で決まる。従って、DNS変更時に浸透するまでのタイムラグを短くしたい場合は、事前に TTL を短くしておき十分に浸透し…

Presto でParquet にクエリするとjava.lang.UnsupportedOperationException: com.facebook.presto.spi.type.LongDecimalType

事象 S3のParquetファイルにHiveカタログで外部表を定義して、Presto でクエリすると、"java.lang.UnsupportedOperationException: com.facebook.presto.spi.type.LongDecimalType" という例外が発生する。 $ hive CREATE EXTERNAL TABLE IF NOT EXISTS sh10…

はてなダイアリーからはてなブログに移行しました

ablog は はてなダイアリー から はてなブログ に移行しました。