ablog

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

2023-09-01から1ヶ月間の記事一覧

Amazon KeySpaces で VPC エンドポイントを使用した場合の system.peers のエントリの違い

AWS

結論 VPC エンドポイントを使用すると、system.peers は AZ の数に依存する。 パブリックエンドポイントの場合の 9 から VPCエンドポイントを使用すると 2-5 に減るが、CQL のスループット(QPS)限界が小さくなるわけではない。ただし、VPC エンドポイント…

Linux で設定可能な仮想IPアドレスの最大数

Linux 2.2 Linux 2.2 Issue How many network interfaces aliases does Red Hat Enterprise Linux support? What is the maximum number of interface aliases I can use on Red Hat Enterprise Linux? Resolution There is no practical limit. Root Cause …

cqlsh から Amazon KeySpaces に接続しようとすると "Can't authenticate without a region name" と怒られる

AWS

事象 cqlsh から Amazon KeySpaces に接続しようとすると "Can't authenticate without a region name" と怒られる Connection error: ('Unable to connect to any servers', {'172.31.4.223:9142': ValueError("Can't authenticate without a region name")…

YCSB を Amazon KeySpaces にベンチマークをかけれるようカスタマイズしたメモ

YCSB(Yahoo! Cloud Serving Benchmark)を Amazon KeySpaces にベンチマークをかけれるようカスタマイズしたメモ。 GitHub - yoheia/YCSB: Yahoo! Cloud Serving Benchmark 前提 前提条件および環境セットアップ手順 Amazon Linux 2023 on EC2 Amazon Linux…

リモートリポジトリからブランチを指定して git clone する

git

$ git clone -b 3.x-Driver-Compatible https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin.git 参考 リモートから特定のブランチを指定してcloneする方法 git clone -b ブランチ名 https://リポジトリのアドレス リモートから特定のブラ…

Amazon KeySpaces に SigV4 認証でアクセスするサンプル Java アプリを実行する(DataStax Java Driver 3.x 版)

Amazon KeySpaces に SigV4 認証でアクセスするサンプル Java アプリを実行した手順(DataStax Java Driver 3.x 版)。 Cassandra Java クライアントドライバーを使用した Amazon Keyspaces へのプログラムアクセス - Amazon Keyspaces (Apache Cassandra 向…

YCSB から Amazon KeySpaces に SigV4 認証でアクセスする

AWS

YCSB/cassandra/pom.xml を以下の通り編集 <cassandra.cql.version>3.7.2</cassandra.cql.version> YCSB/cassandra/pom.xml に以下を追記 <dependency> <groupId>software.aws.mcs</groupId> <artifactId>aws-sigv4-auth-cassandra-java-driver-plugin_3</artifactId> <version>3.0.3</version> </dependency> YCSB/cassandra/src/main/ja…

Amazon KeySpaces に SigV4 認証でアクセスするサンプル Java アプリを実行する(DataStax Java Driver 4.x 版)

AWS

Amazon KeySpaces に SigV4 認証でアクセスするサンプル Java アプリを実行した手順。 Amazon Keyspaces のアイデンティティベースポリシーの例 - Amazon Keyspaces (Apache Cassandra 向け) GitHub - aws-samples/aws-sigv4-auth-cassandra-java-driver-exa…

Maven プロジェクトにローカルの jar ファイルを追加する方法

Maven プロジェクトにローカルの jar ファイルを追加する方法。 YCSB にローカルの DataSatax Java Driver for Cassandra を追加した例。 jar をダウンロードする $ pwd /home/ec2-user/YCSB $ mkdir lib $ curl -L -O https://repo1.maven.org/maven2/com/d…

grep で特定のディレクトリを対象外にしたい場合

log ディレクトリ以外を対象として grep する例。 $ grep -Ri --exclude-dir log cassandra * 参考 grepコマンドで特定のディレクトリを検索対象から除外する | 晴耕雨読

YCSB から Amazon KeySpaces に接続エラーになるのでトラブルシューティング

AWS

cqlsh、Java アプリからは接続して CQL の発行に成功するので、strace を取って比較してみた。 事象 YCSB で Amazon KeySpaces にデータをロードしようとすると "NoHostAvailableException: All host(s) tried for query failed" と怒られる。 $ ./bin/ycsb …

YCSB でインストールするモジュールをカスタマイズする

インストールするモジュール(対応DB)を絞る YCSB で以下のファイルで必要ないモジュールをコメントアウトする。 YCSB/pom.xml セクション セクション YCSB/distribution/pom.xml セクション YCSB/bin/bindings.properties XML は propertie ファイルは # …

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

AWS

以下の手順で、pyenv と pip をインストールして、 Amazon Linux 2023 に pyenv をインストールする - ablog Amazon Linux 2023 に pip をインストールする - ablogPython 2.7.18 をインストールしようとすると、"patch: command not found" とエラーが発生…

VPC内 Glue Job が使用するIPアドレス数

AWS

VPC内に Spark Job と Python Shell のジョブを作成した際に使用する IP アドレス数を確認した。1ジョブの1回の実行当たり、Spark Job は Worker 数、Python Shell は 1 つのIPアドレスを消費する。 ジョブの種類 使用するIPアドレス数 Worker数/DPU Spark J…

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

AWS

インストールする $ sudo yum install java-1.8.0-amazon-corretto-devel 使用する JDK を切り替える $ sudo alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- *…

Amazon Linux 2023 に YCSB をインストールして実行する

AWS

インストール Maven Amazon Linux 2023 に Maven をインストールする - ablog YCSB $ git clone https://github.com/brianfrankcooper/YCSB.git $ cd YCSB/ $ mvn clean package Python 2.7 Amazon Linux 2023 に Python 2.7 をインストールする - 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 を超えると、キャパシティ不足イベントが発生する可能性があります。ベストプラクティスとして、パーティション間でトラフィックを均一に分散させることをお勧めしま…