2020年2月27日木曜日

Helmサポート

Sonatype Nexus Repository Manager (NXRM3) 3.21.1からHelmフォーマットがサポートされました。

Sonatype公式の簡単な動作紹介ビデオ:https://play.vidyard.com/n3z5jJPLnUav3oiz8pkCbh.jpg
Sonatypeドキュメント:https://help.sonatype.com/repomanager3/formats/helm-repositories

Helmとは:https://helm.sh/
Kubernetesは今注目のテクノロージーなので、ぜひ試してみてください。

2020年2月20日木曜日

Sonatype Nexus Repository Manager (NXRM3) 3.21.1がリリースされました

https://help.sonatype.com/repomanager3/release-notes/2020-release-notes#id-2020ReleaseNotes-RepositoryManager3.21.0

主な変更点

公式に、p2とHelmフォーマットがサポートされました。
これでコミュニティのプラグインをいちいちインストール必要がなくなりましたね。

あとNuGet V3がサポートされました。
V2はパフォーマンスに問題があったそうなので、V3を使用することによってNuGetレポジトリのパフォーマンス向上に期待できそうです。

2020年2月18日火曜日

Sonatype Nexus IQ v84がリリースされました

https://help.sonatype.com/iqserver/product-information/release-notes#ReleaseNotes-Release84(February2020)

主な変更点

HTTPプロキシの設定がconfig.ymlからデータベース内(H2かPostgreSQL)に変更されました。
アップグレード時に自動で移行される模様です。(アップグレード後はconfig.ymlのプロキシ設定は無視される)
Eメールの設定も同様に、config.ymlからデータベース内になりました(v83から)

あと気になるのは、NPMの自動プルリクエスト作成に対応。
https://help.sonatype.com/integrations/nexus-iq-for-scm/automated-pull-requests

2019年3月18日月曜日

Standalone Spark and Spark Thrift Server

Install

su - spark # or spark service user

cd /var/tmp/share
curl --retry 3 -C - -O https://archive.apache.org/dist/spark/spark-2.3.3/spark-2.3.3-bin-hadoop2.7.tgz

mkdir -p /usr/local/apache-spark
tar -xf /var/tmp/share/spark-2.3.3-bin-hadoop2.7.tgz -C /usr/local/apache-spark/

Setup / Start

su - spark # or spark service user

alternatives --display java | grep currently
 link currently points to /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre/bin/java

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre

/usr/local/apache-spark/spark-2.3.3-bin-hadoop2.7/sbin/start-thriftserver.sh --hiveconf hive.metastore.warehouse.dir=/user/hive/warehouse --hiveconf hive.server2.thrift.port=10000 --executor-memory 2g
starting org.apache.spark.sql.hive.thriftserver.HiveThriftServer2, logging to /usr/local/apache-spark/spark-2.3.3-bin-hadoop2.7/logs/spark-atscale-org.apache.spark.sql.hive.thriftserver.HiveThriftServer2-1-spark.standalone.localdomain.out

TEST:

/usr/local/apache-spark/spark-2.3.3-bin-hadoop2.7/bin/beeline -u "jdbc:hive2://localhost:10000/" -e "CREATE DATABASE IF NOT EXISTS default;SHOW DATABASES;"

NOTE:

To specify an existing derby metastore location:
--hiveconf javax.jdo.option.ConnectionURL=jdbc:derby:/usr/local/apache-spark/metastore_db

2019年3月5日火曜日

Ambari HDP > HDFS NameNodeをスタートできない

Traceback (most recent call last):
  File "/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py", line 408, in <module>
    NameNode().execute()
  File "/usr/lib/ambari-agent/lib/resource_management/libraries/script/script.py", line 352, in execute
    method(env)
  File "/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py", line 141, in start
    upgrade_suspended=params.upgrade_suspended, env=env)
  File "/usr/lib/ambari-agent/lib/ambari_commons/os_family_impl.py", line 89, in thunk
    return fn(*args, **kwargs)
  File "/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_namenode.py", line 173, in namenode
    create_log_dir=True
  File "/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/utils.py", line 277, in service
    Execute(daemon_cmd, not_if=process_id_exists_command, environment=hadoop_env_exports)
  File "/usr/lib/ambari-agent/lib/resource_management/core/base.py", line 166, in __init__
    self.env.run()
  File "/usr/lib/ambari-agent/lib/resource_management/core/environment.py", line 160, in run
    self.run_action(resource, action)
  File "/usr/lib/ambari-agent/lib/resource_management/core/environment.py", line 124, in run_action
    provider_action()
  File "/usr/lib/ambari-agent/lib/resource_management/core/providers/system.py", line 263, in action_run
    returns=self.resource.returns)
  File "/usr/lib/ambari-agent/lib/resource_management/core/shell.py", line 72, in inner
    result = function(command, **kwargs)
  File "/usr/lib/ambari-agent/lib/resource_management/core/shell.py", line 102, in checked_call
    tries=tries, try_sleep=try_sleep, timeout_kill_strategy=timeout_kill_strategy, returns=returns)
  File "/usr/lib/ambari-agent/lib/resource_management/core/shell.py", line 150, in _call_wrapper
    result = _call(command, **kwargs_copy)
  File "/usr/lib/ambari-agent/lib/resource_management/core/shell.py", line 314, in _call
    raise ExecutionFailed(err_msg, code, out, err)
resource_management.core.exceptions.ExecutionFailed: Execution of 'ambari-sudo.sh su hdfs -l -s /bin/bash -c 'ulimit -c unlimited ;  /usr/hdp/2.6.5.0-292/hadoop/sbin/hadoop-daemon.sh --config /usr/hdp/2.6.5.0-292/hadoop/conf start namenode'' returned 1. starting namenode, logging to /var/log/hadoop/hdfs/hadoop-hdfs-namenode-node1.sethdesktop.localdomain.out
Error occurred during initialization of VM
GC triggered before VM initialization completed. Try increasing NewSize, current value 192K.

Traceback (most recent call last):
  File "/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py", line 408, in <module>
    NameNode().execute()
  File "/usr/lib/ambari-agent/lib/resource_management/libraries/script/script.py", line 352, in execute
    method(env)
  File "/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py", line 141, in start
    upgrade_suspended=params.upgrade_suspended, env=env)
  File "/usr/lib/ambari-agent/lib/ambari_commons/os_family_impl.py", line 89, in thunk
    return fn(*args, **kwargs)
  File "/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_namenode.py", line 121, in namenode
    format_namenode()
  File "/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_namenode.py", line 341, in format_namenode
    logoutput=True
  File "/usr/lib/ambari-agent/lib/resource_management/core/base.py", line 166, in __init__
    self.env.run()
  File "/usr/lib/ambari-agent/lib/resource_management/core/environment.py", line 160, in run
    self.run_action(resource, action)
  File "/usr/lib/ambari-agent/lib/resource_management/core/environment.py", line 124, in run_action
    provider_action()
  File "/usr/lib/ambari-agent/lib/resource_management/core/providers/system.py", line 263, in action_run
    returns=self.resource.returns)
  File "/usr/lib/ambari-agent/lib/resource_management/core/shell.py", line 72, in inner
    result = function(command, **kwargs)
  File "/usr/lib/ambari-agent/lib/resource_management/core/shell.py", line 102, in checked_call
    tries=tries, try_sleep=try_sleep, timeout_kill_strategy=timeout_kill_strategy, returns=returns)
  File "/usr/lib/ambari-agent/lib/resource_management/core/shell.py", line 150, in _call_wrapper
    result = _call(command, **kwargs_copy)
  File "/usr/lib/ambari-agent/lib/resource_management/core/shell.py", line 314, in _call
    raise ExecutionFailed(err_msg, code, out, err)
resource_management.core.exceptions.ExecutionFailed: Execution of 'hdfs --config /usr/hdp/2.6.5.0-292/hadoop/conf namenode -format -nonInteractive' returned 1. Error occurred during initialization of VM
GC triggered before VM initialization completed. Try increasing NewSize, current value 192K.


Ambari 2.7.3とHDP 2.6.5

回避策として、export HADOOP_CLIENT_OPTS="-XX:NewSize=1024k"をhadoop-env templateの最初に追加。





2018年12月21日金曜日

Grav on Docker

HadoopやHDPには関係ないですが、GravがLMS がわりになるかテスト。

https://getgrav.org/
https://github.com/getgrav/docker-grav

インストール(初回のみ)

mkdir getgrav
cd getgrav
curl -O https://raw.githubusercontent.com/getgrav/docker-grav/master/Dockerfile
docker build -t grav:latest .

開始

docker run -t -i -d \
  -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /var/tmp/share:/var/tmp/share \
  -p 8888:80/tcp --name=grav grav:latest

-vは多分必要なし。

最初にした事

  • learn2のテーマを追加、Enable、Activate
  • Configuration => Site、Site Titleなどをアップデート
  • apt-get install vim -y
  • https://github.com/getgrav/grav-theme-learn2/blob/develop/templates/partials/logo.html.twig
    https://maketext.io/ でも結局:
    <text fill="white" x="0" y="85" font-size="124">Xxxxx</text>


備忘録:Google BigQueryを使う前に設定すること

Ref: https://cloud.google.com/bigquery/docs/quickstarts/quickstart-web-ui
https://www.youtube.com/watch?v=qqbYrQGSibQ
https://codelabs.developers.google.com/codelabs/cloud-bigquery-wikipedia/#0

最初にクラウド側を設定

[ ENABLE THE API ]をクリックすると、プロジェクトを作れと言われる。
Google Cloud Platformコンソールから、New Projectを作ろうとすると

Google Cloud Platform service has been disabled. Please contact your administrator to restore service in G Suite Admin console.
https://stackoverflow.com/questions/45603145/unable-to-create-project-in-google-cloud-cloud-service-disabled-by-admin-plea
Check in your GSuite Admin console Apps -> Additional Google services if Google Developers Console is enabled:


データセット(スキーマ)を作る

https://cloud.google.com/bigquery/docs/quickstarts/quickstart-web-ui?hl=en_US&_ga=2.91297939.-865685195.1545114774#create_a_dataset

最初の時は、上のリンクから、OPEN THE SERVICE ACCOUNTS PAGEを開く。
Roleを変更するときは、IAMのページから。
BiqQuery AdminとStorage Adminが必要かも。

DataSetのロケーションは後から変更できない?

DataSet毎のパーミッションを設定するには(テーブル毎にはできない模様):
https://cloud.google.com/bigquery/docs/dataset-access-controls


ログイン用のJsonファイルを作る

めんどくさい。
https://cloud.google.com/iam/docs/creating-managing-service-accounts
https://www.magellanic-clouds.com/blocks/guide/create-gcp-service-account-key/

Google Cloud Bucketを作る

How-to: https://cloud.google.com/storage/docs/creating-buckets

ちなみに、ファイルのアップロードは












テーブルをファイルから作る場合は、スキーマを選んでから、Create Table










実際に使用すると下記のエラー。バケットにロケーションをRegionalに設定しているのが悪い?
com.google.cloud.bigquery.BigQueryException: Cannot read in location: asia-east1
        at com.google.cloud.bigquery.spi.v2.HttpBigQueryRpc.translate(HttpBigQueryRpc.java:102)
        at com.google.cloud.bigquery.spi.v2.HttpBigQueryRpc.getQueryResults(HttpBigQueryRpc.java:428)
        at com.google.cloud.bigquery.BigQueryImpl$23.call(BigQueryImpl.java:909)
        at com.google.cloud.bigquery.BigQueryImpl$23.call(BigQueryImpl.java:904)
        at com.google.api.gax.retrying.DirectRetryingExecutor.submit(DirectRetryingExecutor.java:105)
        at com.google.cloud.RetryHelper.run(RetryHelper.java:76)
        at com.google.cloud.RetryHelper.runWithRetries(RetryHelper.java:50)
        at com.google.cloud.bigquery.BigQueryImpl.getQueryResults(BigQueryImpl.java:903)
        at com.google.cloud.bigquery.BigQueryImpl.getQueryResults(BigQueryImpl.java:887)
        at com.google.cloud.bigquery.Job$1.call(Job.java:329)
        at com.google.cloud.bigquery.Job$1.call(Job.java:326)
        at com.google.api.gax.retrying.DirectRetryingExecutor.submit(DirectRetryingExecutor.java:105)
        at com.google.cloud.RetryHelper.run(RetryHelper.java:76)
        at com.google.cloud.RetryHelper.poll(RetryHelper.java:64)
        at com.google.cloud.bigquery.Job.waitForQueryResults(Job.java:325)
        at com.google.cloud.bigquery.Job.waitFor(Job.java:240)

https://issuetracker.google.com/issues/76127552#comment11
未だに、us-central1を使う必要あり?

TODO: Quotaを設定する

How-to: https://cloud.google.com/bigquery/docs/custom-quotas

クォータ管理画面を開く https://console.cloud.google.com/iam-admin/quotas
ServiceプルダウンからBigQuery APIを選択して、必要なLimitを変更。

"bq"コマンドをインストール

How-to: https://cloud.google.com/sdk/docs/

ダウンロード: https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-260.0.0-darwin-x86_64.tar.gz
解凍したフォルダを適当な場所に移動しといたほうがいい。Downloadsとかに置いたままだと、そこがPATHに追加される。。。

コマンドリファレンス: https://cloud.google.com/bigquery/docs/reference/bq-cli-reference
クィックスタート: https://cloud.google.com/bigquery/docs/quickstarts/quickstart-command-line

ヘルプ例: "bq show --help" とか "bq ls --help | less"

テーブル一覧: bq ls --max_results=1000 --format=prettyjson project_id:dataset_name    # FriendlyNameはだめ

none:       ...
pretty:     formatted table output  
sparse:     simpler table output  
prettyjson: easy-to-read JSON format  
json:       maximally compact JSON  
csv:        csv format with header

Useful queries

https://cloud.google.com/bigquery/docs/information-schema-datasets
https://cloud.google.com/bigquery/docs/information-schema-tables

-- SHOW DATABASES
SELECT catalog_name, schema_name, location FROM INFORMATION_SCHEMA.SCHEMATA;

-- SHOW TABLES
SELECT * FROM <table_schema>.INFORMATION_SCHEMA.TABLES;


Java API

https://cloud.google.com/bigquery/docs/quickstarts/quickstart-client-libraries#client-libraries-install-java
https://cloud.google.com/bigquery/docs/tables

java -classpath ...  com.google.cloud.examples.bigquery.BigQueryExample