Docker安装视图库教程(总)

Docker安装视图库教程 #

一、安装环境 #

名称 版本 备注
操作系统 CentOS7.9
Docker 23.0.3
CDH 6.3.2 大数据管理软件

1. 软件清单 #

  • CHD docker镜像文件:docker-cdh.rar 下载
  • docker相关镜像文件映射数据:pqstk.tar 下载

2. 前期准备 #

(1)创建自定义网络

docker network create --subnet=172.10.0.0/16 hadoop_net && docker network ls

(2)宿主机映射外部路径

这里根据自身情况去设置,注意在后续的命令中记得进行替换

mkdir /data/pqcdh

二、安装大数据管理平台CDH #

1. 导入镜像 #

docker load -i pqcdh_6.3.1.tar

2. 执行命令运行镜像: #

docker run -d \
--add-host cm.hadoop:172.10.0.2 \
--net hadoop_net \
--ip 172.10.0.2 \
-h cm.hadoop \
-p 13306:3306 \
-p 10022:22 \
-p 7180:7180 \
-p 9870:9870 \
-p 16010:16010 \
-p 18088:18088 \
-p 9092:9092 \
-p 2181:2181 \
-p 8023:8023 \
-p 6035:6035 \
-p 9006:9006 \
-p 9007:9007 \
-v /home/chezi008/dockerdata/pqcdh:/data \
-m 8g \
--name cdh \
--privileged \
--restart=always \
pqcdh:1.0 \
/usr/sbin/init \
&& docker ps

3. 安装大数据组件 #

(1)根据机器性能执行命令几分钟后,打开浏览器进入登录界面

http://192.168.0.145:7180/

账号密码均为:admin

(2)登录以后点继续操作

(3)同意相关条款

(4)选择免费版本

(5)点继续进入安装界面

(6)创建集群

(7)选择集群机器

(8)选择集群存储库

(9)等待安装完成

(10)跳过检查

(11)安装大数据组件

(12)选择主机

选择主机

其他不要动,点继续即可

(13)配置界面

继续往下滚动,更改相应配置

(14)继续下一步,首次运行

(15)完成安装

(16)进入进群首页

4. 解压视图库相关java程序 #

(1)将pqstk.tar解压至宿主机映射路径,这里是/data/pqcdh

$/home/pqcdh/data$ ll

-rwxr-xr-x 1 root root       386 7月  10  2023 auto_start.sh*
drwxr-xr-x 2 root root      4096 7月  10  2023 minio/
-rw-r--r-- 1 root root 186080614 7月  10  2023 stkcore-0.0.3.tar.gz
-rw-r--r-- 1 root root  79053087 7月  10  2023 stkgateway-1.0-SNAPSHOT.tar.gz
drwxr-xr-x 5 root root      4096 7月  10  2023 stkspark/
-rw-r--r-- 1 root root     10487 7月  10  2023 stk.sql

(2)输入命令进入镜像解压java相关程序

  • 进入镜像命令:docker exec -it xxx bash

  • 进入data目录 cd /data

  • 解压java相关程序

tar -zxvf stkcore-0.0.3.tar.gz
tar -zxvf stkgateway-1.0-SNAPSHOT.tar.gz

(3)修改配置文件

  • 修改stkgateway配置文件 vi /data/stkgateway/config/application-prod.yml 红色框需要修改成主机相应IP

  • 修改stkcore配置文件 vi /data/stkcore/config/application.yml

  • 修改stkspark配置文件 vi /data/stkspark/config/stkspark.properties

5. 运行对象存储程序(第一次需要手动运行) #

bash /data/minio/start.sh
  • 检测运行成功:ps aux|grep minio

  • 浏览器打开网页 http://192.168.0.145:9006

账号:admin
密码:password
  • 创建名称为stk的bucket

  • 输入bucket的名称

  • 修改bucket权限

由private修改成public

三、安装ES镜像 #

1. 导入镜像 #

docker load -i es_6.8.6.tar

2. 运行docker镜像 #

docker run --net hadoop_net \
--ip 172.10.0.3 \
-p 9200:9200 \
-p 9300:9300 \
--name es \
--restart=always \
-e "discovery.type=single-node" es:6.8.6

运行完会打印日志,这里可以ctrl+c结束调,再重新启动es的docker镜像即可

3). 检测安装成功 #

浏览器打开网页

http://192.168.0.145:9200/_cat/indices

四、安装Nginx镜像 #

1. 导入镜像 #

docker load -i pqnginx.tar

2. 解压视图库外部文件夹 #

解压数据

tar -zxvf nginxdata.tar.gz -C /data/pqcdh/

3. 运行docker镜像 #

docker run --net hadoop_net \
--ip 172.10.0.4 \
--name pqngix \
-p 8001:80 \
-v /data/pqcdh/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /data/pqcdh/nginx/conf.d:/etc/nginx/conf.d \
-v /data/pqcdh/nginx/webs:/home/webs \
--restart=always \
-d pqnginx:1.23.1 \
/docker-entrypoint.sh nginx -g 'daemon off;'   

4. 配置nginx #

改成服务对应IP

vi /data/pqcdh/nginx/conf.d/stk.conf

5. 检测安装成功 #

浏览器打开页面

http://192.168.0.145:8001

能打开就是部署成功

五、安装Redis #

1. 导入Redis镜像 #

docker load -i redis_5.0.14.tar

2. 运行docker镜像 #

docker run -itd \
--net hadoop_net \
--ip 172.10.0.5 \
--name redis \
-p 6379:6379 \
--restart=always \
redis:5.0.14

六、检测组件状态 #

1. Hbase #

初始化hbase

vi /data/bin/hbase-init.sh

#!/bin/sh
BASE_DIR="/data/bin"
hbase shell $BASE_DIR/hbase-init.txt

再运行该脚本

bash /data/bin/hbase-init.sh

检查hbase是否正常运行

//浏览器打开
http://192.168.1.56:16010

2. 检查hadoop #

3. 检查es #

七、其他问题 #

1. java程序乱码问题 #

临时解决

export LANG=C.UTF-8
或者
LANG=C.UTF-8
source /etc/profile

2. 无法访问外网的问题 #

关闭SELinux

# 查看SELinux状态
getenforce

# 临时关闭SELinux
setenforce 0

# 永久关闭SELinux
vim /etc/selinux/config
# 将 `SELINUX=enforcing` 改成 `SELINUX=disabled`

# 重启linux
reboot

3. Hbase过期时间更改 #

在容器内执行

hbase shell

//执行
disable 'face'
alter 'face',NAME=>'info',TTL=>'2147483647'
enable 'face'
//查看
desc 'face'

4. kafka日志文件更改 #

原本的路径/var/local/kafka/data

改成/data/data/kafka/data

日志保留的时长也更改下

5. cdh命令 #

//7180无法访问,重启下服务
service cloudera-scm-server restart

6. cluster_block_exception #

curl -X 'PUT' -H "Content-Type:application/json" 'http://localhost:9200/_all/_settings' -d '{"index.blocks.read_only_allow_delete": null}'