lynx   »   [go: up one dir, main page]

ラベル ClickHouse の投稿を表示しています。 すべての投稿を表示
ラベル ClickHouse の投稿を表示しています。 すべての投稿を表示

2022年3月29日火曜日

Minikubeでlocal永続ボリュームを使用するClickHouseをデプロイする

Minikubeでlocal永続ボリュームを使用するClickHouseをデプロイするには、以下の手順を実行します。

実行手順 1. ClickHouseデータ格納用ディレクトリを作成
以下のコマンドでデータ格納用ディレクトリを作成します。
minikube ssh

sudo mkdir -p /var/clickhouse-data
sudo chown 101:101 /var/clickhouse-data

sudo mkdir -p /var/clickhouse-logs
sudo chown 101:101 /var/clickhouse-logs

sudo mkdir -p /var/clickhouse-config
sudo chown 101:101 /var/clickhouse-config
cat << EOF | sudo tee -a /var/clickhouse-config/myconfig.xml
<yandex>
    <listen_host>::</listen_host>
    <listen_host>0.0.0.0</listen_host>
    <listen_try>1</listen_try>
</yandex>
EOF
sudo chown 101:101 /var/clickhouse-config/*


sudo mkdir -p /var/clickhouse-users
sudo chown 101:101 /var/clickhouse-users

exit

2. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
〇データ用
cat << EOF > local-clickhouse-data-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-clickhouse-data-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/clickhouse-data
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-clickhouse-data-pv.yml

〇ログ用
cat << EOF > local-clickhouse-logs-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-clickhouse-logs-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/clickhouse-logs
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-clickhouse-logs-pv.yml

〇設定用
cat << EOF > local-clickhouse-config-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-clickhouse-config-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/clickhouse-config
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-clickhouse-config-pv.yml

〇ユーザ用
cat << EOF > local-clickhouse-users-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-clickhouse-users-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/clickhouse-users
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-clickhouse-users-pv.yml

3. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
〇データ用
cat << EOF > local-clickhouse-data-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-clickhouse-data-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-clickhouse-data-pv
EOF

kubectl apply -f ./local-clickhouse-data-pvc.yml

〇ログ用
cat << EOF > local-clickhouse-logs-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-clickhouse-logs-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-clickhouse-logs-pv
EOF

kubectl apply -f ./local-clickhouse-logs-pvc.yml

〇設定用
cat << EOF > local-clickhouse-config-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-clickhouse-config-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-clickhouse-config-pv
EOF

kubectl apply -f ./local-clickhouse-config-pvc.yml

〇ユーザ用
cat << EOF > local-clickhouse-users-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-clickhouse-users-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-clickhouse-users-pv
EOF

kubectl apply -f ./local-clickhouse-users-pvc.yml

4. Deploymentの作成
以下のコマンドでClickHouseのイメージと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > clickhouse-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: clickhouse-deployment
  labels:
    app: myclickhouse
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myclickhouse
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: myclickhouse
    spec:
      containers:
      - name: myclickhouse
        image: clickhouse/clickhouse-server
        ports:
        - containerPort: 9000
        - containerPort: 8123
        volumeMounts:
        - name: clickhouse-data
          mountPath: /var/lib/clickhouse
        - name: clickhouse-logs
          mountPath: /val/log/clickhouse-server
        - name: clickhouse-config
          mountPath: /etc/clickhouse-server/config.d
        - name: clickhouse-users
          mountPath: /etc/clickhouse-server/users.d
      volumes:
      - name: clickhouse-data
        persistentVolumeClaim:
          claimName: local-clickhouse-data-pvc
      - name: clickhouse-logs
        persistentVolumeClaim:
          claimName: local-clickhouse-logs-pvc
      - name: clickhouse-config
        persistentVolumeClaim:
          claimName: local-clickhouse-config-pvc
      - name: clickhouse-users
        persistentVolumeClaim:
          claimName: local-clickhouse-users-pvc
EOF

kubectl apply -f ./clickhouse-deployment.yml

5. サービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > clickhouse-service.yml
apiVersion: v1
kind: Service
metadata:
  name: clickhouse-service
spec:
  selector:
    app: myclickhouse
  ports:
  - name: native
    protocol: TCP
    port: 9000
    targetPort: 9000
  - name: httpinterface
    protocol: TCP
    port: 8123
    targetPort: 8123
EOF

kubectl apply -f ./clickhouse-service.yml

6. Port-Fowardingで外部からアクセスできるようにする
kubectl port-forward --address 0.0.0.0 service/clickhouse-service 9000:9000 8123:8123

7. (クライアント側)clickhouse-clientのインストール(Ubuntu 20.04/Debianなど)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4

echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | sudo tee -a /etc/apt/sources.list.d/clickhouse.list

sudo apt-get update

sudo apt-get -y install clickhouse-client

8. (クライアント側)サンプルテーブルの作成
192.168.1.1の部分はMinikubeのホスト名またはIPに読み替えてください
clickhouse-client -h 192.168.1.1 --query="CREATE TABLE test (test_date Date, test_id UInt16, test_message String) ENGINE = MergeTree(test_date, (test_id), 8192);"

cat << EOF > /tmp/test.csv
2022-01-01,100,hello world!
2022-01-02,200,test data
EOF

cat /tmp/test.csv | clickhouse-client -h 192.168.1.1 --query="INSERT INTO test FORMAT CSV"

clickhouse-client -h 192.168.1.1 --query="SELECT * FROM test"

9. ブラウザからのアクセス
ブラウザからhttp://<サーバ名またはIPアドレス>:8123にアクセスします。

2022年3月23日水曜日

Microk8sでlocal永続ボリュームを使用するClickHouseをデプロイする

Microk8sでlocal永続ボリュームを使用するClickHouseをデプロイするには、以下の手順を実行します。

実行手順 1. ClickHouseデータ格納用ディレクトリを作成
Microk8sホスト上で以下のコマンドを実行してデータ格納用ディレクトリを作成します。
sudo mkdir -p /var/clickhouse-data
sudo chown 101:101 /var/clickhouse-data

sudo mkdir -p /var/clickhouse-logs
sudo chown 101:101 /var/clickhouse-logs

sudo mkdir -p /var/clickhouse-config
sudo chown 101:101 /var/clickhouse-config
cat << EOF | sudo tee -a /var/clickhouse-config/myconfig.xml
<yandex>
    <listen_host>::</listen_host>
    <listen_host>0.0.0.0</listen_host>
    <listen_try>1</listen_try>
</yandex>
EOF
sudo chown 101:101 /var/clickhouse-config/*

sudo mkdir -p /var/clickhouse-users
sudo chown 101:101 /var/clickhouse-users

2. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
〇データ用
cat << EOF > local-clickhouse-data-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-clickhouse-data-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/clickhouse-data
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。
microk8s kubectl apply -f ./local-clickhouse-data-pv.yml

〇ログ用
cat << EOF > local-clickhouse-logs-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-clickhouse-logs-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/clickhouse-logs
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。
microk8s kubectl apply -f ./local-clickhouse-logs-pv.yml

〇設定用
cat << EOF > local-clickhouse-config-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-clickhouse-config-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/clickhouse-config
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。
microk8s kubectl apply -f ./local-clickhouse-config-pv.yml

〇ユーザ用
cat << EOF > local-clickhouse-users-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-clickhouse-users-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/clickhouse-users
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。
microk8s kubectl apply -f ./local-clickhouse-users-pv.yml

3. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
〇データ用
cat << EOF > local-clickhouse-data-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-clickhouse-data-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-clickhouse-data-pv
EOF

microk8s kubectl apply -f ./local-clickhouse-data-pvc.yml

〇ログ用
cat << EOF > local-clickhouse-logs-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-clickhouse-logs-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-clickhouse-logs-pv
EOF

microk8s kubectl apply -f ./local-clickhouse-logs-pvc.yml

〇設定用
cat << EOF > local-clickhouse-config-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-clickhouse-config-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-clickhouse-config-pv
EOF

microk8s kubectl apply -f ./local-clickhouse-config-pvc.yml

〇ユーザ用
cat << EOF > local-clickhouse-users-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-clickhouse-users-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-clickhouse-users-pv
EOF

microk8s kubectl apply -f ./local-clickhouse-users-pvc.yml

4. Deploymentの作成
以下のコマンドでClickHouseのイメージと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > clickhouse-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: clickhouse-deployment
  labels:
    app: myclickhouse
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myclickhouse
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: myclickhouse
    spec:
      containers:
      - name: myclickhouse
        image: clickhouse/clickhouse-server
        ports:
        - containerPort: 9000
        - containerPort: 8123
        volumeMounts:
        - name: clickhouse-data
          mountPath: /var/lib/clickhouse
        - name: clickhouse-logs
          mountPath: /val/log/clickhouse-server
        - name: clickhouse-config
          mountPath: /etc/clickhouse-server/config.d
        - name: clickhouse-users
          mountPath: /etc/clickhouse-server/users.d
      volumes:
      - name: clickhouse-data
        persistentVolumeClaim:
          claimName: local-clickhouse-data-pvc
      - name: clickhouse-logs
        persistentVolumeClaim:
          claimName: local-clickhouse-logs-pvc
      - name: clickhouse-config
        persistentVolumeClaim:
          claimName: local-clickhouse-config-pvc
      - name: clickhouse-users
        persistentVolumeClaim:
          claimName: local-clickhouse-users-pvc
EOF

microk8s kubectl apply -f ./clickhouse-deployment.yml

5. サービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > clickhouse-service.yml
apiVersion: v1
kind: Service
metadata:
  name: clickhouse-service
spec:
  selector:
    app: myclickhouse
  type: LoadBalancer
  externalIPs:
  - 192.168.1.1 # 外部からアクセスできるMicrok8sをインストールしたホストのIPを設定します。
  ports:
  - name: native
    protocol: TCP
    port: 9000
    targetPort: 9000
  - name: httpinterface
    protocol: TCP
    port: 8123
    targetPort: 8123
EOF

microk8s kubectl apply -f ./clickhouse-service.yml

6. (クライアント側)clickhouse-clientのインストール(Ubuntu 20.04/Debianなど)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4

echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | sudo tee -a /etc/apt/sources.list.d/clickhouse.list

sudo apt-get update

sudo apt-get -y install clickhouse-client

7. (クライアント側)サンプルテーブルの作成
※192.168.1.1の部分は適宜、Microk8sのホスト名/IPアドレスに読み替えてください。
clickhouse-client -h 192.168.1.1 --query="CREATE TABLE test (test_date Date, test_id UInt16, test_message String) ENGINE = MergeTree(test_date, (test_id), 8192);"

cat << EOF > /tmp/test.csv
2022-01-01,100,hello world!
2022-01-02,200,test data
EOF

cat /tmp/test.csv | clickhouse-client -h 192.168.1.1 --query="INSERT INTO test FORMAT CSV"

clickhouse-client -h 192.168.1.1 --query="SELECT * FROM test"

8. ブラウザからのアクセス
ブラウザからhttp://<サーバ名またはIPアドレス>:8123/playにアクセスします。

2022年1月7日金曜日

Debian 11(Bullseye)にClickHouseをインストールする

ClickHouseは高パフォーマンスの分散カラム志向データベースです。

インストール方法 以下のコマンドを実行してClickHouseをインストールします。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4

echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | sudo tee -a /etc/apt/sources.list.d/clickhouse.list

sudo apt-get update

sudo apt-get -y install clickhouse-server clickhouse-client
※パスワードの入力が求められるので、入力してください

sudo systemctl start clickhouse-server

sudo systemctl enable clickhouse-server

サンプル実行 以下のコマンドで、テストテーブル作成、テストCSVデータ投入、クエリ実行を行います。
clickhouse-client --password ※入力したデフォルトパスワード --query="CREATE TABLE test (test_date Date, test_id UInt16, test_message String) ENGINE = MergeTree(test_date, (test_id), 8192);"

cat << EOF > /tmp/test.csv
2022-01-01,100,hello world!
2022-01-02,200,test data
EOF

cat /tmp/test.csv | clickhouse-client --password ※入力したデフォルトパスワード --query="INSERT INTO test FORMAT CSV"

clickhouse-client --password ※入力したデフォルトパスワード --query="SELECT * FROM test"

関連情報 ・ClickHouseのウェブサイト
https://clickhouse.com/

2021年9月12日日曜日

Rocky Linux 8.4にClickHouseをインストールする

ClickHouseは高パフォーマンスの分散カラム志向データベースです。

〇インストール方法
以下のコマンドを実行してClickHouseをインストールします。
sudo dnf -y install yum-utils

sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG

sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/clickhouse.repo

sudo dnf -y install clickhouse-server clickhouse-client

sudo systemctl start clickhouse-server

sudo systemctl enable clickhouse-server

〇サンプル実行
※以降「Password for user (default):」と聞かれるのでリターンキーのみ押します
・テストテーブル作成
clickhouse-client --password --query="CREATE TABLE test (test_date Date, test_id UInt16, test_message String) ENGINE = MergeTree(test_date, (test_id), 8192);"

・テストテーブルにデータ投入
cat << EOF > /tmp/test.csv
2021-07-01,100,hello world!
2021-07-02,200,テストデータ
EOF
cat /tmp/test.csv | clickhouse-client --password --query="INSERT INTO test FORMAT CSV"

・テストテーブルの全件表示
clickhouse-client --password --query="SELECT * FROM test"

・テストテーブルの件数カウント
clickhouse-client --password --query="SELECT count(*) FROM test"

2021年6月12日土曜日

AlmaLinux8.3にClickHouseをインストールする

ClickHouseは高パフォーマンスの分散カラム志向データベースです。

インストール方法 以下のコマンドを実行してClickHouseをインストールします。
sudo dnf -y install yum-utils

sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG

sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/clickhouse.repo

sudo dnf -y install clickhouse-server clickhouse-client

sudo systemctl start clickhouse-server

sudo systemctl enable clickhouse-server

サンプル実行 ※以降「Password for user (default):」と聞かれるのでリターンキーのみ押します
clickhouse-client --password --query="CREATE TABLE test (test_date Date, test_id UInt16, test_message String) ENGINE = MergeTree(test_date, (test_id), 8192);"

cat << EOF > /tmp/test.csv
2021-05-01,100,hello world!
2021-05-02,200,テストデータ
EOF
cat /tmp/test.csv | clickhouse-client --password --query="INSERT INTO test FORMAT CSV"

clickhouse-client --password --query="SELECT * FROM test"

2021年3月7日日曜日

CentOS 8-StreamにClickHouseをインストールする

ClickHouseは高パフォーマンスの分散カラム志向データベースです。

インストール方法 以下のコマンドを実行してClickHouseをインストールします。
sudo dnf -y install yum-utils

sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG

sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/clickhouse.repo

sudo dnf -y install clickhouse-server clickhouse-client

sudo systemctl start clickhouse-server

sudo systemctl enable clickhouse-server

サンプル実行 ※以降「Password for user (default):」と聞かれるのでリターンキーのみ押します
clickhouse-client --password --query="CREATE TABLE test (test_date Date, test_id UInt16, test_message String) ENGINE = MergeTree(test_date, (test_id), 8192);"

cat << EOF > /tmp/test.csv
2021-03-01,100,hello world!
2021-03-02,200,テストデータ
EOF
cat /tmp/test.csv | clickhouse-client --password --query="INSERT INTO test FORMAT CSV"

clickhouse-client --password --query="SELECT * FROM test"

2021年1月26日火曜日

CentOS8.2にClickHouseをインストールする

ClickHouseは高パフォーマンスの分散カラム志向データベースです。

インストール方法 以下のコマンドを実行してClickHouseをインストールします。
sudo dnf -y install yum-utils

sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG

sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/clickhouse.repo

sudo dnf -y install clickhouse-server clickhouse-client

sudo systemctl start clickhouse-server

sudo systemctl enable clickhouse-server

サンプル実行 以下のコマンドを実行して、サンプルテーブル作成・データ投入・検索を行います。
clickhouse-client --password --query="CREATE TABLE test (test_date Date, test_id UInt16, test_message String) ENGINE = MergeTree(test_date, (test_id), 8192);"

cat << EOF > /tmp/test.csv
2019-03-01,100,hello world!
2019-03-02,200,test data
EOF
※以降「Password for user (default):」と聞かれるのでリターンキーのみ押します

cat /tmp/test.csv | clickhouse-client --password --query="INSERT INTO test FORMAT CSV"

clickhouse-client --password --query="SELECT * FROM test"

関連情報 ・ClickHouseに関する他の記事はこちらを参照してください。

2020年4月26日日曜日

Ubuntu 20.04にClickHouseをインストールする

ClickHouseは高パフォーマンスの分散カラム志向データベースです。

〇インストール方法
以下のコマンドを実行してClickHouseをインストールします。
sudo apt-get -y install dirmngr

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4

echo "deb http://repo.clickhouse.tech/deb/stable/ main/" | sudo tee /etc/apt/sources.list.d/clickhouse.list

sudo apt-get update

sudo apt-get -y install clickhouse-server clickhouse-client
※パスワードの入力が求められるので、入力してください

sudo systemctl start clickhouse-server

sudo systemctl enable clickhouse-server

〇サンプル実行
以下のコマンドで、テストテーブル作成、テストCSVデータ投入、クエリ実行を行います。
clickhouse-client --password ※入力したデフォルトパスワード --query="CREATE TABLE test (test_date Date, test_id UInt16, test_message String) ENGINE = MergeTree(test_date, (test_id), 8192);"

cat << EOF > /tmp/test.csv
2020-03-01,100,hello world!
2020-03-02,200,test data
EOF

cat /tmp/test.csv | clickhouse-client --password ※入力したデフォルトパスワード --query="INSERT INTO test FORMAT CSV"

clickhouse-client --password ※入力したデフォルトパスワード --query="SELECT * FROM test"

〇関連情報
・ClickHouseに関する他の情報はこちらを参照してください。

2020年4月9日木曜日

Debian 10(Buster)にClickHouseをインストールする

ClickHouseは高パフォーマンスの分散カラム志向データベースです。

〇インストール方法
以下のコマンドを実行してClickHouseをインストールします。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4

echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | sudo tee -a /etc/apt/sources.list.d/clickhouse.list

sudo apt-get update

sudo apt-get -y install clickhouse-server clickhouse-client
※パスワードの入力が求められるので、入力してください

sudo systemctl start clickhouse-server

sudo systemctl enable clickhouse-server

〇サンプル実行
以下のコマンドで、テストテーブル作成、テストCSVデータ投入、クエリ実行を行います。
clickhouse-client --password ※入力したデフォルトパスワード --query="CREATE TABLE test (test_date Date, test_id UInt16, test_message String) ENGINE = MergeTree(test_date, (test_id), 8192);"

cat << EOF > /tmp/test.csv
2019-03-01,100,hello world!
2019-03-02,200,test data
EOF

cat /tmp/test.csv | clickhouse-client --password ※入力したデフォルトパスワード --query="INSERT INTO test FORMAT CSV"

clickhouse-client --password ※入力したデフォルトパスワード --query="SELECT * FROM test"

〇関連情報
・ClickHouseに関する他の情報はこちらを参照してください。

2019年3月14日木曜日

VagrantでClickHouseをインストールした仮想マシン(Debian Stretch/9.6)を構築する

ClickHouseは分散カラム志向データベースです。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.6"
  config.vm.hostname = "db96clickhouse"
config.vm.network "public_network", ip:"192.168.1.103", :netmask => "255.255.255.0"
config.vm.network "private_network", ip: "192.168.55.103", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db96clickhouse"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install task-japanese gawk
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
timedatectl set-timezone Asia/Tokyo

# install ClickHouse
apt-get -y install dirmngr
apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4
echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" >> /etc/apt/sources.list.d/clickhouse.list
apt-get update
apt-get -y install clickhouse-server clickhouse-client

systemctl start clickhouse-server
systemctl enable clickhouse-server

clickhouse-client --query="CREATE TABLE test (test_date Date, test_id UInt16, test_message String) ENGINE = MergeTree(test_date, (test_id), 8192);"
cat << EOF > /tmp/test.csv
2019-03-01,100,hello world!
2019-03-02,200,test data
EOF
cat /tmp/test.csv | clickhouse-client --query="INSERT INTO test FORMAT CSV"
clickhouse-client --query="SELECT * FROM test"

SHELL
end

〇関連情報
・ClickHouseに関する他の情報はこちらを参照してください。

2019年3月11日月曜日

VagrantでClickHouseをインストールした仮想マシン(Ubuntu18.04)を構築する

ClickHouseは分散カラム志向データベースです。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-18.04"
  config.vm.hostname = "ub1804clickhouse"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1804clickhouse"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "private_network", ip: "192.168.55.109", :netmask => "255.255.255.0"
config.vm.network "public_network", ip:"192.168.1.109", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get -y install language-pack-ja
sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
timedatectl set-timezone Asia/Tokyo

apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4
echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" >> /etc/apt/sources.list.d/clickhouse.list
apt-get update
apt-get -y install clickhouse-server clickhouse-client

systemctl start clickhouse-server
systemctl enable clickhouse-server

clickhouse-client --query="CREATE TABLE test (test_date Date, test_id UInt16, test_message String) ENGINE = MergeTree(test_date, (test_id), 8192);"
cat << EOF > /tmp/test.csv
2019-03-01,100,hello world!
2019-03-02,200,test data
EOF
cat /tmp/test.csv | clickhouse-client --query="INSERT INTO test FORMAT CSV"
clickhouse-client --query="SELECT * FROM test"

SHELL
end

〇関連情報
・ClickHouseに関する他の情報はこちらを参照してください。

Лучший частный хостинг