Docker容器部署CDH
Docker容器部署CDH
文章目录
- Docker容器部署CDH
- 一、 概述
- 1.1目的
- 1.2 linux服务
- 1.3 容器服务
- 1.4 端口相关
- 二、 具体操作流程
- 2.1 安装docker[绿色安装]
- 2.1.1解压docker压缩包
- 2.1.2复制docker 部署文件夹
- 2.1.3启动docker服务
- 2.1.3.1 方式一:直接启动docker服务
- 2.1.3.2 方式二:自定义docker服务
- 2.1.4测试安装是否成功
- 2.1.4.1方式一 docker -v
- 2.1.4.2方式二 docker info
- 2.1.4.3 方式三(自定义服务才生效)
- 2.2 安装docker-compose[绿色安装]
- 2.2.1复制docker-compose文件
- 2.2.2 docker-compose文件授权
- 2.2.3 测试安装是否成功
- 2.2.3.1 方式一 docker-compose --version
- 2.2.3.1 方式二 docker-compose -h
- 2.3 拉取/加载CDH镜像
- 2.3.1 方式一:从网上拉取镜像
- 2.3.2 方式二:装载镜像
- 2.4启动容器
- 2.4.1 运行容器
- 2.4.1.1 方式一(网上镜像)
- 2.4.1.1 方式一(自定义镜像)
- 2.4.2 查看容器运行状态
- 2.4.3 启动容器异常报错
- 2.4.3.1错误如下
- 2.4.3.2解决方案
- 2.4.3.3原理解析
- 2.5 启动容器内的服务以及修改配置文件
- 2.5.1 进入cdh容器
- 2.5.2 启动CM服务
- 2.5.3 解决时钟偏差,开启NTP服务
- 2.5.4修改hosts文件(不一定要改)
- 2.5.5 修改容器里面的时区
- 2.5.5.1方式一:`ln -sf 建立软连接方式`
- 2.5.5.2方式二:`cp 方式`
- 2.5.5.3方式三:`启动容器增加 -e 参数`
- 2.6服务器配置host(两个服务器和测试机)
- 2.6.1 服务器上配置(最好是追加的方式,不要替换)
- 2.7访问测试
- 2.7.1 linux上测试
- 2.7.2 window上测试
- 2.8 地址相关
- 2.9 在容器内手动管理服务
- 三、常见问题
- 3.1docker相关
- 3.1.1 docker学习
- 3.1.2 docker 服务使用的进程
- 3.1.3 docker-compose与docker的关系
- 3.1.4 docker-compose常用命令参考
- 3.1.5 docker 网络相关
- 3.2 其他相关
- 3.3.1 行方可能没有unzip 命令,最好在外面解压好拷贝进虚拟机
- 3.3.2 没有`ifconfig`、`netstat`命令
- 3.3.3 防火墙相关
- 四、Impala相关
- 4.1 容器里面执行命令
- 4.2 常用命令备注
- 4.2.1 进入impala:` impala-shell;`
- 4.2.2显示数据库`show databases;`
- 4.2.3 数据表`show tables;`
- 4.2.4查看表结构定义`desc my_first;`
- 五、hbase相关
- 5.1 容器里面执行命令
- 5.2 常用命令备注
- a.查看表的结构
- b.创建表
- c.插入测试数据
- d.查询数据
- e.高级查询
- 六、开发相关
- 6.1 impala开发相关:
- 6.1.1 代码实现的技术点
- 6.1hbase开发相关:
- 6.1.1 认证方式
- 6.1.2 配置方式
一、 概述
1.1目的
利用Docker搭建单机的Cloudera CDH ;
1.2 linux服务
服务名称 | 版本 | 用途 |
---|---|---|
docker | 18.09.9 | 容器化部署服务 |
docker-compose | 1.24.1 | 暂未用到 |
1.3 容器服务
服务名称 | 版本 | 用途 |
---|---|---|
Hadoop | 2.6.0+cdh5.7.0_93 | |
Zookeeper | ||
Hbase | 1.2.0+cdh5.7.0+129 | |
Hive | 1.1.0+cdh5.7.0+522 | |
Spark | ||
Kafka | ||
Redis | ||
CDH | ||
HUE | 3.9.0+cdh5.7.0+1759 |
1.4 端口相关
Hadoop:
- 50070:HDFS WEB UI端口
- 8020 : 高可用的HDFS RPC端口
- 9000 : 非高可用的HDFS RPC端口
- 8088 : Yarn 的WEB UI 接口
- 8485 : JournalNode 的RPC端口
- 8019 : ZKFC端口
- 9888:jobhistory WEB UI端口
Zookeeper:
- 2181 : 客户端连接zookeeper的端口
- 2888 : zookeeper集群内通讯使用,Leader监听此端口
- 3888 : zookeeper端口 用于选举leader
Hbase:
- 60010:Hbase的master的WEB UI端口 (旧的) 新的是16010
- 60000:Hmaster
- 60020:HBase RegionServer 绑定的端口
- 60030:Hbase的regionServer的WEB UI 管理端口
Hive:
- 9083 : metastore服务默认监听端口
- 10000:Hive 的JDBC端口
Spark:
- 7077 : spark 的master与worker进行通讯的端口 standalone集群提交Application的端口
- 8080 : master的WEB UI端口 资源调度
- 8081 : worker的WEB UI 端口 资源调度
- 4040 : Driver的WEB UI 端口 任务调度
- 18080:Spark History Server的WEB UI 端口
Kafka:
- 9092: Kafka集群节点之间通信的RPC端口
Redis:
- 6379: Redis服务端口
CDH:
- 7180: Cloudera Manager WebUI端口
- 7182: Cloudera Manager Server 与 Agent 通讯端口
HUE:
- 8888: Hue WebUI 端口
二、 具体操作流程
2.1 安装docker[绿色安装]
2.1.1解压docker压缩包
[root@localhost poc]# tar -xvf docker-18.06.1-ce.tar
docker/
docker/runc
docker/dockerd
docker/docker
docker/containerd-shim
docker/docker-init
docker/docker-proxy
docker/containerd
docker/ctr
[root@localhost kerlala]#
2.1.2复制docker 部署文件夹
[root@localhost poc]# cp docker/* /usr/bin/
2.1.3启动docker服务
2.1.3.1 方式一:直接启动docker服务
[root@localhost poc]# dockerd &
[1] 12587
[root@localhost poc]# WARN[2021-03-04T13:57:04.051315316+08:00] could not change group /var/run/docker.sock to docker: group docker not found
INFO[2021-03-04T13:57:04.065324259+08:00] libcontainerd: started new containerd process pid=12600
INFO[2021-03-04T13:57:04.065801248+08:00] parsed scheme: "unix" module=grpc
2.1.3.2 方式二:自定义docker服务
[root@localhost poc]# vi /etc/systemd/system/docker.service
拷贝内容如下:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s[Install]
WantedBy=multi-user.target
启动服务:
chmod +x /etc/systemd/system/docker.service #添加文件权限并启动docker
systemctl daemon-reload #重新加载配置文件
systemctl start docker #启动Docker
systemctl enable docker.service #设置开机自启
2.1.4测试安装是否成功
2.1.4.1方式一 docker -v
root@localhost kerlala]# docker -v
Docker version 18.09.9, build 039a7df9ba
[root@localhost kerlala]# docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@localhost kerlala]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost kerlala]#
2.1.4.2方式二 docker info
[root@localhost kerlala]# docker info
Containers: 0Running: 0Paused: 0Stopped: 0
Images: 4
Server Version: 18.09.9
Storage Driver: overlay2Backing Filesystem: xfsSupports d_type: trueNative Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:Volume: localNetwork: bridge host macvlan null overlayLog: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f
init version: fec3683
Security Options:seccompProfile: default
Kernel Version: 3.10.0-957.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.5GiB
Name: localhost.localdomain
ID: 7QRC:AJX3:NPOI:SUPM:CILE:YI7X:675U:WTMB:KVIQ:FAKP:4ODB:Y2XS
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine
2.1.4.3 方式三(自定义服务才生效)
systemctl status docker #查看Docker状态
2.2 安装docker-compose[绿色安装]
2.2.1复制docker-compose文件
[root@localhost poc]# cp docker-compose /usr/bin/
2.2.2 docker-compose文件授权
[root@localhost poc]# chmod +x /usr/bin/docker-compose
2.2.3 测试安装是否成功
2.2.3.1 方式一 docker-compose --version
[root@localhost poc]# docker-compose --version
docker-compose version 1.24.1, build 4667896b
2.2.3.1 方式二 docker-compose -h
[root@localhost poc]# docker-compose -h
Define and run multi-container applications with Docker.Usage:docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]docker-compose -h|--helpOptions:-f, --file FILE Specify an alternate compose file(default: docker-compose.yml)-p, --project-name NAME Specify an alternate project name(default: directory name)--verbose Show more output--log-level LEVEL Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)--no-ansi Do not print ANSI control characters-v, --version Print version and exit-H, --host HOST Daemon socket to connect to--tls Use TLS; implied by --tlsverify--tlscacert CA_PATH Trust certs signed only by this CA--tlscert CLIENT_CERT_PATH Path to TLS certificate file--tlskey TLS_KEY_PATH Path to TLS key file--tlsverify Use TLS and verify the remote--skip-hostname-check Don't check the daemon's hostname against thename specified in the client certificate--project-directory PATH Specify an alternate working directory(default: the path of the Compose file)--compatibility If set, Compose will attempt to convert keysin v3 files to their non-Swarm equivalentCommands:build Build or rebuild servicesbundle Generate a Docker bundle from the Compose fileconfig Validate and view the Compose filecreate Create servicesdown Stop and remove containers, networks, images, and volumesevents Receive real time events from containersexec Execute a command in a running containerhelp Get help on a commandimages List imageskill Kill containerslogs View output from containerspause Pause servicesport Print the public port for a port bindingps List containerspull Pull service imagespush Push service imagesrestart Restart servicesrm Remove stopped containersrun Run a one-off commandscale Set number of containers for a servicestart Start servicesstop Stop servicestop Display the running processesunpause Unpause servicesup Create and start containersversion Show the Docker-Compose version information
2.3 拉取/加载CDH镜像
2.3.1 方式一:从网上拉取镜像
[root@localhost poc]# docker pull cloudera/quickstart:latest
2.3.2 方式二:装载镜像
[root@localhost poc]# docker load -i cdh-poc.tar
2.4启动容器
2.4.1 运行容器
2.4.1.1 方式一(网上镜像)
[root@localhost poc]# docker run --name cdh -e TZ="Asia/Shanghai" -d --hostname=quickstart.cloudera --privileged=true -t -i -p 8888:8888 -p 8020:8020 -p 8022:8022 -p 7180:7180 -p 21050:21050 -p 50070:50070 -p 50075:50075 -p 50010:50010 -p 50020:50020 -p 8890:8890 -p 60010:60010 -p 10002:10002 -p 25010:25010 -p 25020:25020 -p 18088:18088 -p 8088:8088 -p 19888:19888 -p 7187:7187 -p 11000:11000 -p 2181:2181 cloudera/quickstart /usr/bin/docker-quickstart
2.4.1.1 方式一(自定义镜像)
[root@localhost poc]# docker run --name cdh -d --hostname=quickstart.cloudera --privileged=true -t -i -p 8888:8888 -p 8020:8020 -p 8022:8022 -p 7180:7180 -p 21050:21050 -p 50070:50070 -p 50075:50075 -p 50010:50010 -p 50020:50020 -p 8890:8890 -p 60010:60010 -p 10002:10002 -p 25010:25010 -p 25020:25020 -p 18088:18088 -p 8088:8088 -p 19888:19888 -p 7187:7187 -p 11000:11000 -p 2181:2181 cdh-poc /usr/bin/docker-quickstart
2.4.2 查看容器运行状态
[root@localhost poc]# docker ps -a
2.4.3 启动容器异常报错
2.4.3.1错误如下
write /proc/self/attr/keycreate: permission denied” 表示文件没有写入权限,被拒绝访问了
2.4.3.2解决方案
原因
“/proc/self/attr/keycreate”
这里没有写入权限,把“/etc/selinux/config”
里面的SELINUX
值修改为disabled
SELINUX=disabled
重启服务器(reboot命令)
2.4.3.3原理解析
selinux是linux为了系统安全性做的控制,会控制用户可以访问、读取、修改哪些文件,比如,前面的write /proc/self/attr/keycreate文件没有权限,就是被selinux控制了。
selinux有三种模式:enforcing 强制 permissive 宽容的 diabled 禁止的,顾名思义,权限限制,从高到低。
2.5 启动容器内的服务以及修改配置文件
2.5.1 进入cdh容器
[root@localhost poc]# docker exec -it cdh bash
2.5.2 启动CM服务
[root@localhost ~]# docker exec -it cdh bash
[root@quickstart /]# /home/cloudera/cloudera-manager --express --force
2.5.3 解决时钟偏差,开启NTP服务
[root@localhost ~]# docker exec -it cdh bash
[root@quickstart /]# service ntpd start
2.5.4修改hosts文件(不一定要改)
[root@localhost ~]# docker exec -it cdh bash
[root@quickstart /]# vi /etc/hosts
备注:添加IP quickstart.cloudera
:此ip为容器内部的ip
2.5.5 修改容器里面的时区
2.5.5.1方式一:ln -sf 建立软连接方式
[root@localhost ~]# docker exec -it cdh bash
[root@quickstart /]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2.5.5.2方式二:cp 方式
[root@localhost ~]# docker exec -it cdh bash
[root@quickstart /]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2.5.5.3方式三:启动容器增加 -e 参数
备注:创建并运行容器,通过 -e TZ=“Asia/Shanghai” 设置时区` docker run -e TZ=“Asia/Shanghai”
2.6服务器配置host(两个服务器和测试机)
2.6.1 服务器上配置(最好是追加的方式,不要替换)
[root@localhost ~]# vi /etc/hosts
追加内容如下
172.19.80.27 quickstart.cloudera
2.7访问测试
2.7.1 linux上测试
- cdh管理后台(监控)地址
curl http://quickstart.cloudera:7180/cmf/login
2.7.2 window上测试
- 第一步:
HOSTS
文件路径为:C:\Windows\System32\drivers\etc
,增加
172.19.80.27 quickstart.cloudera quickstart
第二步:打开window电脑上的浏览器,出来页面表示访问正常
- 浏览器地址为:
http://quickstart.cloudera:7180/cmf/login
- 输入账号密码、登录进行CDH监控和管理
- 账号/密码:
cloudera/cloudera
- 浏览器地址为:
2.8 地址相关
类型 | 地址 | 账号/密码 |
---|---|---|
cdh管理后台(监控) | http://quickstart.cloudera:7180/cmf/home | cloudera/cloudera |
YARN的Web页面 | http://quickstart.cloudera:8088/cluster | |
hdfs的web页面 | http://quickstart.cloudera:50070 | |
2.9 在容器内手动管理服务
类型 | 地址 | 备注 |
---|---|---|
hive进程经常失败 |
hive --service metastore & hive --service hiveserver & 再运行 service impala-server restart service impala-state-store restart service impala-catalog restart |
在各个节点上运行 |
cdh启动顺序 |
cm server,zookeeper hdfs hbase,solr key-value store indexer,yarn spark hive impala,oozie hue |
|
三、常见问题
3.1docker相关
3.1.1 docker学习
docker入门->参考网站:https://blog.csdn.net/lazycheerup/article/details/84871005
docker命令->参考网站:https://www.runoob.com/docker/docker-command-manual.html
3.1.2 docker 服务使用的进程
[root@localhost ~]# ps -ef | grep docker
root 10729 10697 6 14:43 pts/1 00:00:08 dockerd
root 10742 10729 3 14:43 ? 00:00:04 containerd --config /var/run/docker/containerd/containerd.toml --log-level info
root 10976 10697 0 14:45 pts/1 00:00:00 grep --color=auto docker
3.1.3 文件拷贝参考
从容器拷贝文件到宿主机
docker cp mycontainer:/opt/testnew/file.txt /opt/test/
从宿主机拷贝文件到容器
docker cp /opt/test/file.txt mycontainer:/opt/testnew/
3.1.3 docker-compose与docker的关系
- docker是一个容器,但是你如果要是安装服务也是要单独一个一个的安装。
- 如果你使用了docker-compose的话 就可以使用一个docker-compose.yml脚本一键安装
3.1.4 docker-compose常用命令参考
docker-compose up -d nginx 构建建启动nignx容器docker-compose exec nginx bash 登录到nginx容器中docker-compose down 删除所有nginx容器,镜像docker-compose ps 显示所有容器docker-compose restart nginx 重新启动nginx容器docker-compose run --no-deps --rm php-fpm php -v 在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器docker-compose build nginx 构建镜像 。 docker-compose build --no-cache nginx 不带缓存的构建。docker-compose logs nginx 查看nginx的日志 docker-compose logs -f nginx 查看nginx的实时日志docker-compose config -q 验证(docker-compose.yml)文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。 docker-compose events --json nginx 以json的形式输出nginx的docker日志docker-compose pause nginx 暂停nignx容器docker-compose unpause nginx 恢复ningx容器docker-compose rm nginx 删除容器(删除前必须关闭容器)docker-compose stop nginx 停止nignx容器docker-compose start nginx 启动nignx容器
3.1.5 docker 网络相关
docker的网络模式有四种,bridge host container none
bridge模式(默认):直接用宿主机的网卡,自己不再创建网卡
- 当docker启动时会在主机创建一个docker0的虚拟网桥,此主机启动的容器会连接到这个虚拟网桥上。
- 这样容器之间就能通信了。从docker0子网中分配一个IP给容器使用,并设置docker0的IP为容器的默认网关。
- 在主机上创建一对虚拟网卡,veth pair设备 docker将veth pair 的一端放到新创建的容器中,并命名为eth0(容器的网卡)另一端放在主机中,以vethxxx命名,并将这个网络设备加到docker0网桥中。
host模式: 直接用宿主机的网卡,自己不再创建网卡
- 当使用这种模式时,容器不再是一个独立的network ,而是和宿主机使用一个 ip:port 除了网络之外的是隔离的
container模式
- 这个模式指定新创建的容器和已经存在的容器共享一个network 新容器不会创建自己的网卡,配置自己的ip而是跟指定的容器共享一个ip端口
none模式:只有127.0.0.1,不可与外界连通
- 不对docker容器进行网络配置
3.2 其他相关
3.3.1 行方可能没有unzip 命令,最好在外面解压好拷贝进虚拟机
[root@localhost kerlala]# unzip poc.zip
-bash: unzip: 未找到命令
[root@localhost kerlala]# yum install unzip -y
使用unzip命令解压.zip文件,可能没有安装unzip软件
命令: yum list | grep zip/unzip #获取安装列表 获取不到说明没有安装
安装命令: yum install zip #提示输入时,请输入y;
安装命令:yum install unzip #提示输入时,请输入y;
3.3.2 没有ifconfig
、netstat
命令
- 下载
net-tools.x86_64
- 执行
yum install net-tools
3.3.3 防火墙相关
- 查看防火墙状态
- 命令:firewall-cmd --state
- 停止firewall
- 命令:systemctl stop firewalld.service
- 禁止firewall开机启动
- 命令:systemctl disable firewalld.service
四、Impala相关
4.1 容器里面执行命令
[root@localhost ~]# docker exec -it cdh bash
[root@quickstart /]# impala-shell
Starting Impala Shell without Kerberos authentication
Connected to quickstart.cloudera:21000
Server version: impalad version 2.5.0-cdh5.7.0 RELEASE (build ad3f5adabedf56fe6bd9eea39147c067cc552703)
***********************************************************************************
Welcome to the Impala shell. Copyright (c) 2015 Cloudera, Inc. All rights reserved.
(Impala Shell v2.5.0-cdh5.7.0 (ad3f5ad) built on Wed Mar 23 11:33:33 PDT 2016)You can change the Impala daemon that you're connected to by using the CONNECT
command.To see how Impala will plan to run your query without actually executing
it, use the EXPLAIN command. You can change the level of detail in the EXPLAIN
output by setting the EXPLAIN_LEVEL query option.
***********************************************************************************
[quickstart.cloudera:21000] > show databases;
Query: show databases
+------------------+----------------------------------------------+
| name | comment |
+------------------+----------------------------------------------+
| _impala_builtins | System database for Impala builtin functions |
| default | Default Hive database |
| rclp_data | |
+------------------+----------------------------------------------+
Fetched 3 row(s) in 0.55s
[quickstart.cloudera:21000] > use rclp_data;
Query: use rclp_data
[quickstart.cloudera:21000] >
4.2 常用命令备注
4.2.1 进入impala:impala-shell;
4.2.2显示数据库show databases;
4.2.3 数据表show tables;
4.2.4查看表结构定义desc my_first;
五、hbase相关
5.1 容器里面执行命令
[root@localhost ~]# docker exec -it cdh bash
[root@quickstart /]# hbase shell
21/05/17 13:24:31 INFO Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.2.0-cdh5.7.0, rUnknown, Wed Mar 23 11:39:14 PDT 2016hbase(main):001:0>
5.2 常用命令备注
a.查看表的结构
describe 'rclp:cst_mnl_label_info'
COLUMN FAMILIES DESCRIPTION
{NAME => 'col', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => '
FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
1 row(s) in 0.2110 seconds
b.创建表
create 'rclp:cst_mnl_label_info',{NAME => 'col', VERSIONS => 1}
c.插入测试数据
put 'rclp:cst_mnl_label_info','8950261608-M00164','col:cust_no','8950261608'
d.查询数据
scan "rclp:cst_mnl_label_info"
e.高级查询
语法:get <table>,<rowkey>,[<family:column>,....]
get "rclp:cst_mnl_label_info", "8950261608-M00164"
六、开发相关
6.1 impala开发相关:
6.1.1 代码实现的技术点
核心技术点:
动态数据源设置
- 动态数据源配置
- 动态选择数据源
- 动态数据源使用
AOP选择数据源
- 定义数据源注解
- 定义数据源切面
- 使用AOP进行数据源切换
代码包路径为:
com.mtb.im.services.customerprofile.datasource
6.1.2 网上参考
- 网上的参考链接为:
https://www.cnblogs.com/xichji/p/12208141.html
6.1hbase开发相关:
6.1.1 认证方式
6.1.2 配置方式
修改配置文件:hbase-site.xml
<property><name>hbase.zookeeper.quorum</name><!--<value>quickstart</value>-->
<!-- <value>quickstart.cloudera</value>--><value>quickstart.cloudera</value>
<!-- <value>hadoop01</value>-->
<!-- <value>hadoop01,hadoop03,hadoop02</value>--></property><property><name>hbase.zookeeper.property.clientPort</name><value>2181</value></property>
Docker容器部署CDH相关推荐
- Docker 容器部署 Consul 集群
Docker 容器部署 Consul 集群 Consul 介绍 Consul 提供了分布式系统的服务发现和配置的解决方案.基于go语言实现.并且在git上开放了源码consul-git.consul还 ...
- 【云服务器】基于docker容器部署Halo项目的个人博客搭建并部署到云服务器
目录 1 docker快速部署halo个人博客 2 主题设置(本文使用的是M酷Joe 2.0版本的主题,下载链接放在下面了) 2.1 API报错解决方案 2.2 首页分栏设置 2.3 轮播图的修改 2 ...
- 如何使用Docker容器部署O2OA(翱途)开发平台与OnlyOffice的集成版本?
O2OA(翱途)开发平台[下称O2OA平台或者O2OA]默认可以和OnlyOffice进行集成来实现在线文档编辑以及流程集成.开发者可以直接安装O2OA官网的OnlyOffice+O2Server的D ...
- Docker容器部署项目少了8个小时,问题解决Dockerfile修改linux时区
Docker容器部署项目少了8个小时,问题解决&&Dockerfile修改linux时区 情景回顾 打包好的jar包通过Dockerfile构建成一个镜像后,通过docker-comp ...
- docker容器部署wordpress,使用原有nginx代理并开启https
docker容器部署wordpress,使用原有nginx代理并开启https 搭建环境 申请免费证书 第一步 规划目录 第二部 docker-compose配置 第三步 nginx配置 第四步 配置 ...
- 3亿Docker容器部署的挑战及应对方案
原文链接:http://www.csdn.net/article/2014-11-03/2822455 IronWorker是一个面向开发者的任务队列服务,如今其已经部署了3亿多个Docker容器,本 ...
- Docker - 容器部署 Consul 集群
目录 准备 Consul 镜像 安装单个 Consul 组装集群 Consul 启动 Consul 和 Web 管理器 Consul 命令简单介绍 Web 管理器 Server 加入集群 Clie ...
- Docker容器部署详解
1.什么是Docker? 2.Docker的应用场景有哪些? 3.Docker的优点有哪些? 4.Docker与虚拟机的区别是什么? 5.Docker的三大核心是什么? 6.如何快速安装Docker? ...
- Docker容器部署
1.Docker简介 1.1虚拟化 1.1.1什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象 ...
最新文章
- View_01_LayoutInflater的原理、使用方法
- 1.4 os的运行机制和体系结构
- 想成为一名优秀的Web前端工程师,这5点你要知道
- 抱怨一下有些邮件列表的气氛
- UVALive - 8295 Triangle to Hexagon
- [转帖]onInterceptTouchEvent和onTouchEvent调用时序
- lassAtitit事件代理机制原理 基于css class的事件代理的事件代理titi
- 一文读懂运放偏置电流和输入失调电流
- 语文数学英语计算机文理科,高考文理科英语试卷一样吗
- 多线程设计模式-主仆模式
- 矩阵理论第一章—线性空间与子空间,空间分解与维数定理
- java怎么定义一维数组_Java定义一个一维数组有哪几种方法
- 生成HTTPS协议需要的SSL证书
- php html5手机端多张图片上传,PHP+jQuery+html5实现图片选取裁剪上传(兼容手机上传)...
- MongoDB权威指南读书笔记——CRUD
- 2. 彤哥说netty系列之IO的五种模型
- 影石创新在科创板递交招股书注册稿,共有492件专利申请信息
- JAVA经典算法面试40题及答案
- 47 On Interpersonal Relationship 关于人际关系
- 豆瓣评分8.9,这本Python经典入门书重磅升级