30分钟!带你体验SAP HANA

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 有如下配置 ,根据实际的环境自定义调整!

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

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

  2. 设置HANA密码

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

cat pass.json
{
"master_password":"Sap123456"
}
  • 变更权限
sudo chmod 600 /data/pass.json
sudo chown 12000:79 /data/pass.json
  1. 启动container
    使用以下命令执行,注意修改pass.json的实际路径!(假如你的kernel 版本小于4.xx 请加入选项 net.ipv4.ip_local_port_range)
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

  1. 检查
    启动时间根据虚拟机或者物理机的配置性能有关,好的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分钟吧!:) 网速不好,配置不好 超出的时间不赖我哈 🙂 下次再学习写篇关于具体的日常使用说明,包含(建删库,备份恢复等)!

打赏作者

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据