ablog

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

Amazon Linux 2023 に Maven をインストールする

Amazon Linux 2023 に Maven をインストールする手順。 インストール Open JDK 8 Amazon Linux 2023 に JDK 8 をインストールする - ablog Maven 3.9.4 $ curl -L -O https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz …

Amazon Linux 2023 に OpenJDK をインストールする

AWS

$ sudo yum install java-17-amazon-corretto-devel $ java --version openjdk 17.0.8.1 2023-08-22 LTS OpenJDK Runtime Environment Corretto-17.0.8.8.1 (build 17.0.8.1+8-LTS) OpenJDK 64-Bit Server VM Corretto-17.0.8.8.1 (build 17.0.8.1+8-LTS, mi…

cqlsh から Amazon KeySpaces に接続する(Amazon Linux 2/パスワード版)

Amazon Linux 2 に cqlsh をインストールして、ユーザー名/パスワードで Amazon KeySpaces に接続して CQL を発行する手順。 インストール pyenv(3.8.2 をインストール) Amazon Linux 2023 に pyenv をインストールする - ablog pip Amazon Linux 2023 に …

cqlsh から Amazon KeySpaces に接続する(パスワード認証版)

Amazon Linux 2023 に cqlsh をインストールして、ユーザー名/パスワードで Amazon KeySpaces に接続して CQL を発行する手順。 インストール pyenv Amazon Linux 2023 に pyenv をインストールする - ablog pip Amazon Linux 2023 に pip をインストールす…

cqlsh から Amazon KeySpaces に接続する(Sigv4 認証版)

AWS

Amazon Linux 2023 に cqlsh をインストールして、Sigv4 認証で Amazon KeySpaces に接続して CQL を発行する手順。 インストール pyenv Amazon Linux 2023 に pyenv をインストールする - ablog pip Amazon Linux 2023 に pip をインストールする - ablog c…

Amazon Linux 2023 に pip をインストールする

AWS

$ sudo yum -y install python-pip 関連 Amazon Linux 2 に pip をインストールする - ablog

pyenv をインストールしようとすると "No module named '_lzma'" と怒られる

事象 Amazon Linux 2023 に pyenv をインストールしようとすると "No module named '_lzma'" と怒られる。 $ pyenv install 3.11.5 Downloading Python-3.11.5.tar.xz... -> https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tar.xz Installing Pyth…

Amazon Linux 2023 に pyenv をインストールする

AWS

パッケージをインストール $ sudo yum -y install git \ bzip2 \ bzip2-devel \ gcc \ git \ libffi-devel \ make \ openssl \ openssl-devel \ readline \ readline-devel \ sqlite \ sqlite-devel \ zlib-devel \ xz-devel pyenv をインストール $ curl -L…

Amazon Linux 2 に cqlsh をインストールする

環境の確認 $ cat /etc/system-release Amazon Linux AMI release 2018.03 $ uname -r 4.14.238-125.422.amzn1.x86_64 インストールする $ pip install cqlsh==4.1.1 $ cqlsh --version cqlsh 4.1.1 参考 How to install cqlsh only on Linux? · GitHub

YCSB で Amazon KeySpaces に負荷をかける

./bin/ycsb load cassandra-cql -p hosts=cassandra.ap-northeast-1.amazonaws.com -p port=9142 -P ./workloads/workloada -s -threads 2 -p recordcount=100 -p cassandra.writeconsistencylevel=LOCAL_QUORUM -p cassandra.ssl=true-jvm-args=" -Djavax.n…

Amazon KeySpaces の Batch の制約

AWS

Amazon Keyspaces supports unlogged batch commands with up to 30 commands in the batch. Only unconditional INSERT, UPDATE, or DELETE commands are permitted in a batch. Logged batches are not supported. Functional differences: Amazon Keyspac…

Amazon KeySpaces でテーブルのキャパシティ超過を確認するメトリクス

AWS

Amazon KeySpaces で テーブルのプロビジョンドキャパシティを超える読込/書込が発生しているかは CloudWatch メトリクスの ReadThrottleEvents / WriteThrottleEvents で確認することができる。 Metric Description ReadThrottleEvents Requests to Amazon …

Amazon KeySpaces のパーティションキー

AWS

パーティション — 指定されたパーティションのトラフィックが 3,000 RCU または 1,000 WCU を超えると、キャパシティ不足イベントが発生する可能性があります。ベストプラクティスとして、パーティション間でトラフィックを均一に分散させることをお勧めしま…

UNPIVOT を CROSS JOIN に書き換えるケース

UNPIVOT で性能要件を満たさない場合に「項目テーブル作成 & CROSS JOIN+WITH句」へ書き換えたケース。 書換前 書換後 参考 [Redshift] テーブルの縦持ちと横持ちを入れ換える方法 | DevelopersIO [新機能] RedshiftのPIVOT/UNPIVOT機能を試してみた | Devel…

Amazon KeySpaces の性能(スループット)とリトライ制御などについてのメモ

AWS

On Demand モードならピークの倍まで瞬時にスケールアウト Peak traffic and scaling properties Amazon Keyspaces tables that use on-demand capacity mode automatically adapt to your application’s traffic volume. On-demand capacity mode instantly…

amazon-keyspaces-java-driver-helpers を使ってみる

AWS

必要なファイルを取得 $ git clone https://github.com/aws-samples/amazon-keyspaces-java-driver-helpers.git リージョンを ap-norhtaset-1 に書換え $ find . -type f -regex '.*\.\(conf\|java\).*' -print0|xargs -0 perl -i.org -pe 's/us-east-[0-9]/…

DataStax Java Driver を使って Amazon KeySpaces にアクセスする場合のリトライポリシーの設定方法

Java アプリから DataStax Java Driver を使って Amazon KeySpaces にアクセスする場合のリトライポリシーの設定方法 Retry Policies The DataStax java driver will attempt to retry idempotent request transparently to the application. If you are see…

Java アプリから Amazon KeySpaces に insert すると"Consistency level LOCAL_ONE is not supported for this operation. Supported consistency levels are: LOCAL_QUORUM" エラー

AWS

事象 DataStax の Java ドライバを使って、Java アプリケーションから Amazon KeySpaces に insert すると、"Consistency level LOCAL_ONE is not supported for this operation. Supported consistency levels are: LOCAL_QUORUM" エラーになる。 src/main/…

Maven で依存するクラスライブラリを同梱した jar を作成する

Maven で依存するクラスライブラリを同梱した jar を作成したい場合は pom.xml のプラグインで maven-assembly-plugin、maven-dependency-plugin を指定する。 pom.xml

VS Code で XML を整形する

VS Code に XML Tools をインストールする VS Code で XML ファイルを開いて、[右クリック]-[Format Document] ショートカットは以下の通り Mac: Option + Shift + F Windows: Shift + ALT + F 参考 VSCodeでXMLを自動整形する - FROM ME TO YOU

rpm でインストールされたファイルを確認する

$ rpm -ql apache-maven /etc/bash_completion.d/maven /etc/m2.conf /etc/maven /etc/maven/logging /etc/maven/logging/simplelogger.properties /etc/maven/settings.xml /etc/profile.d/apache-maven.csh /etc/profile.d/apache-maven.sh /usr/bin/mvn /…

RHEL 8.6 の起動・停止スクリプトをデバッグする

/etc/init.d/aws-kinesis-agent に set -x を追記 #! /usr/bin/env bash set -x # ★追記 ### BEGIN INIT INFO # Provides: aws-kinesis-agent # Required-Start: $network # Required-Stop: $network # Short-Description: Daemon for Amazon Kinesis Agent.…

RHEL8.6 に Kinesis Agent をインストールする

環境 環境は RHEL 8.6(AMI ID: ami-064d2a8f528240c59) $ cat /etc/system-release Red Hat Enterprise Linux release 8.6 (Ootpa) $ uname -a Linux ip-172-17-3-155.ap-northeast-1.compute.internal 4.18.0-372.9.1.el8.x86_64 #1 SMP Fri Apr 15 22:12…

mvn compile で "Source option 5 is no longer supported. Use 6 or later." と怒られる

事象 mvn compile で "Source option 5 is no longer supported. Use 6 or later." と怒られる $ mvn compile [INFO] Compiling 1 source file to /home/ec2-user/myapp/target/classes [INFO] -----------------------------------------------------------…

EMR で s3-dist-cp が見つからない

AWS

事象 アプリケーションバンドル "Spark" で作成したEMRクラスター(6.10.0)で s3-dist-cp が見つからない。 [hadoop@ip-10-5-143-241 ~]$ s3-dist-cp -bash: s3-dist-cp: command not found 原因 Hadoop がインストールされてないため。 解決策 アプリケー…

Amazon Linux 2023 に Maven をインストールする

AWS

$ sudo wget https://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo $ sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo $ sudo yum install -y apache-mav…

Amazon Linux 2023 に JDK 11 をインストールする

AWS

手順 Amazon Linux のリリースとカーネルバージョンの確認 $ uname -a Linux ip-172-17-1-142.ap-northeast-1.compute.internal 6.1.34-58.102.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jun 27 21:38:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux $ cat …

Amazon Keyspaces を使ってみる

AWS

Maven でビルドしたアプリから DataStax の Cassandra ドライバーを使って Amazon Keyspaces に CQL を投げてみた。 手順 サーバーサイド(KeySpaces) テーブルを作成する マネコンから Amazon Keyspaces のトップページから [Getting started] をクリック…

Amazon Redshift の SYS_QUERY_HISTORY の planning_time と compile_time は execution_time に含まれるぽい

検証結果 planning_time と compile_time は execution_time に含まれるぽい。 検証手順 とあるコンパイルに時間がかかるクエリを実行する。 SYS_QUERY_HISTORY を確認する。 execution_time、compile_time、planning_time を足すと elapsed_time を超えてし…

Amazon Redshift の SYS_QUERY_HISTORY の elapsed_time は queue_time を含む

検証結果 queue_time は elapsed_time に含まれる 検証手順 手動WLMで Default queue の同時実行数を 1 に設定する。 Cloud-DWB-Derived-from-TPCH の 3TB のデータをロードする。 Cloud-DWB-Derived-from-TPCH の 3TB 用のクエリをシリアル実行する。 $ noh…