30分钟!带你体验SAP HANA

0x01 环境准备

类型 版本
centos7 7.6.1810
Docker 18.09.7
Kernel 4.4.185-1.el7.elrepo.x86_64
SAP HANA express edition

这里说下,我的宿主机是128G 内存的 :) 试过跑在笔记本上 8G 内存上,安装到初始化阶段就卡死了 :(
幸亏有一位不愿透露姓氏的鲁先生提供了该实验的环境,鲁迅曾说过一句话“有钱真tm好!有钱人的快乐你体会不到!” 。有钱真好,这个道理我懂,但钱从哪来?怎么挣钱?,鲁迅好像没说!! :(
luxun

0x02 初始化

  1. 下载image
    pic001
    需要docker login (注册个账号即可)去 docker.hub.com 搜索 hana

    docker pull store/saplabs/hanaexpressxsa:2.00.036.00.20190223.1
    download
    注意红色圈圈了吗? 恐怖的11G!!! 网速不好的朋友们,劝你们泡杯咖啡,做个深呼吸,刷个朋友圈,或去全球最大同性交友网站 github.com 提个 issue 什么的 😊

  2. 必要准备

    • sysctl.conf 配置
      确认宿主机 sysctl.conf 有如下配置 ,根据实际的环境自定义调整!

      1
      2
      3
      4
      5
      fs.file-max=20000000
      fs.aio-max-nr=262144
      vm.memory_failure_early_kill=1
      vm.max_map_count=135217728
      net.ipv4.ip_local_port_range=60000 65535
    • 生效

      sysctl -p

  3. 客户端 hosts 映射 (默认的hxehost没有dns解析,故直接使用hosts文件解析即可,windows 位置在 C:\Windows\System32\drivers\etc\hosts )
    linux下 默认的 hxehost_ip_address 为默认的宿主机ip

    sh -c ‘echo hxehost >> /etc/hosts’

  4. 设置HANA密码

    • 创建一个密码json文件
      这里注意密码是有规则的(至少8位,至少一个大写,至少一个小写,至少一个数字)

      1
      2
      3
      4
      cat pass.json
      {
      "master_password":"Sap123456"
      }
    • 变更权限

      1
      2
      sudo chmod 600 /data/pass.json
      sudo chown 12000:79 /data/pass.json
  5. 启动container
    使用以下命令执行,注意修改pass.json的实际路径!(假如你的kernel 版本小于4.xx 请加入选项 net.ipv4.ip_local_port_range)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     sudo docker run -d -p 39013:39013 -p 39015:39015 -p 39041-39045:39041-39045 -p 1128-1129:1128-1129 -p 59013-59014:59013-59014  -p 39030-39033:39030-39033 -p 51000-51060:51000-51060  -p 53075:53075  \
    -h hxehost \
    -v /data:/hana/mounts \
    --ulimit nofile=1048576:1048576 \
    --sysctl kernel.shmmni=524288 \
    --sysctl kernel.shmmax=1073741824 \
    --sysctl net.ipv4.ip_local_port_range='60000 65535' \
    --sysctl kernel.shmall=8388608 \
    --name hana \
    store/saplabs/hanaexpressxsa:2.00.036.00.20190223.1 \
    --agree-to-sap-license \
    --passwords-url file:///hana/mounts/pass.json

    启动完成后使用docker logs -f hana注意日志的信息,正常情况如下 finished

  6. 检查
    启动时间根据虚拟机或者物理机的配置性能有关,好的cpu和高档ssd 会节约很多宝贵的时间 :) 人生苦短我用pci-e ssd :)

    • 进入 docker 容器

      docker exec -it hana /bin/bash
      whoami

    • 查看进程 如发现以下几个进程存活即可

      HDB info process

    • 登入数据库

      docker exec -it hana /bin/bash
      hdbsql -i 90 -d SYSTEMDB -u SYSTEM -p Sap123456 login

0x03 使用

  1. WebIde方式

    xs-admin-login
    xs apps | grep webide //查看是否为STARTED
    登入https://hxehost:53075 即可 (用户名默认为XSA_DEV)webide

  2. Sap HANA Studio
    使用SAP HANA Studio 方式连接管理,或者使用eclipse的plugin 方式也一样可以实现
    具体可以参考How to download and install the HANA Eclipse plugin
    注意express版本 instance number默认为90
    studio01

    不要勾选ssl
    studio02

    最终连接成功的studio界面
    studio03


ok!从头到能跑通studio差不多30分钟吧!:) 网速不好,配置不好 超出的时间不赖我哈 :) 下次再学习写篇关于具体的日常使用说明,包含(建删库,备份恢复等)!

0%