最快方式搭建docker大数据 测试集群
平时搭建一套测试集群 找包 找的累死,现在使用docker搭建 cdh版本的
1.首先在服务器上安装docker
yum install docker
2.配置国内 阿里云docker仓库服务
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
换成地址,重启docker服务
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://vy8pfxw7.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
2.执行下载
docker pull cloudera/quickstart:latest
需要时间 4个g的镜像文件
3.启动
docker run --privileged=true --hostname=quickstart.cloudera -p 8020:8020 -p 7180:7180 -p 21050:21050 -p 50070:50070 -p 50075:50075 -p 50010:50010 -p 50020:50020 -p 8888:8888 -t -i 4239cd2958c6 /usr/bin/docker-quickstart
docker run --privileged=true --hostname=quickstart.cloudera -p 8020:8020 -p 7180:7180 -p 21050:21050 -p 50070:50070 -p 50075:50075 -p 50010:50010 -p 50020:50020 -p 8888:8888 -t -i 4239cd2958c6 /usr/bin/docker-quickstart 这条docker run命令用来启动一个名为quickstart.cloudera的Cloudera Quickstart容器,这是一个预配置的Hadoop和CDH(Cloudera Distribution Including Apache Hadoop)环境,用于快速搭建大数据处理平台。下面是对命令中各个部分的详细解释: docker run:这是启动一个新容器的Docker命令。 --privileged=true:此标志授予容器额外的权限,使其能够访问主机的设备和资源,比如网络设备和硬件中断。这在运行某些需要直接访问底层硬件的软件时很有用,但同时也增加了安全风险。 --hostname=quickstart.cloudera:设置容器的主机名,这在容器内部的网络识别和配置中非常重要。 -p 8020:8020,-p 7180:7180...-p 8888:8888:这一系列-p标志用于端口映射,将容器内的端口映射到宿主机的相应端口。例如,-p 8020:8020意味着容器内的8020端口将被映射到宿主机的8020端口。这样,从宿主机或网络上的其他机器可以通过这些端口访问容器中的服务。 -t:表示容器将在一个tty(终端)中运行,这意味着标准输入、输出和错误流都将保持打开状态。 -i:表示交互模式,意味着容器将以交互的方式运行,接受来自标准输入的数据。 4239cd2958c6:这看起来像是一个容器ID或镜像ID。但是,通常我们会使用镜像的名称和标签来运行容器,例如cloudera/quickstart。这里可能是直接从一个具体的镜像ID运行,这通常在你已经拉取了镜像并知道其确切的ID时使用。 /usr/bin/docker-quickstart:这是容器启动时运行的命令或程序。在Cloudera Quickstart容器中,这通常是一个脚本,用于初始化和启动Hadoop、CDH等服务。 这条命令启动的容器将允许你通过一系列的端口访问Hadoop生态系统中的各种服务,如HDFS NameNode、Cloudera Manager、Impala、Hive、YARN Resource Manager等。每个端口号对应着不同的服务,便于在宿主机上管理和监控这些服务。 在实际使用中,建议使用镜像的完整名称和标签,例如cloudera/quickstart:latest,而不是直接使用镜像ID,以增加可读性和可维护性。
上面命令执行完 就进入容器里面了
执行 /home/cloudera/cloudera-manager --force --express &
前面的宿主机和容器端口已经映射了,直接使用宿主机:7180访问