在docker中安装Hadoop

 tar -xzvf zookeeper-3.4.11.tar.gz
/opt/zookeeper-3.4.12
配置环境变量
vim /etc/profilve
        # 添加如下内容
        export ZOOKEEPER_HOME = /opt/zookeeper-3.4.12
        export PATH = $PATH:$ZOOKEEPER_HOME/bin
配置zookeeper集群,修改配置文件      
    cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg
        # 5.1 在zoo.cfg 文件末尾追加(zoo1 为 服务器名称)
        # 具体配置见:http://zookeeper.apache.org/doc/r3.4.11/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
        tickTime=2000
        dataDir=/opt/data/zookeeper # 数据存放路径
        clientPort=2181
        initLimit=5
        syncLimit=2
        server.1=node2:2888:3888
        server.2=node3:2888:3888
        server.3=node4:2888:3888
将配置文件复制到其他节点
   scp /opt/zookeeper/conf/zoo.cfg node2:/opt/zookeeper/conf/  
创建节点ID,在配置的 dataDir 路径中添加myid文件
   cho "1" > myid         


1. 启动ZK服务:       sh bin/zkServer.sh start
2. 查看ZK服务状态:   sh bin/zkServer.sh status
3. 停止ZK服务:       sh bin/zkServer.sh stop
4. 重启ZK服务:       sh bin/zkServer.sh restart          

docker run -itd --name hadoopM --privileged=true --net hadoopnetwork --ip 172.18.0.11 centos7ssh:v2 /usr/sbin/init

docker run -itd --name hadoopS --privileged=true --net hadoopnetwork --ip 172.18.0.12 centos7ssh:v2 /usr/sbin/init
docker run -itd --name hadoopL --privileged=true --net hadoopnetwork --ip 172.18.0.13 centos7ssh:v2 /usr/sbin/init
docker run -itd --name hadoopA --privileged=true --net hadoopnetwork --ip 172.18.0.14 centos7ssh:v2 /usr/sbin/init


MASTER --主
SLAVE  --从


scp ~/.ssh/id_rsa.pub root@172.18.0.12:~/.ssh/id_rsa.pub
scp ~/.ssh/id_rsa.pub root@192.168.30.251:~/.ssh


scp id_rsa.pub root@172.18.0.11:~/.ssh/authorized_keys12
scp id_rsa.pub root@172.18.0.11:~/.ssh/authorized_keys13
scp id_rsa.pub root@172.18.0.11:~/.ssh/authorized_keys14




docker run -h hadoopM -v /etc/hosts:/etc/hosts -itd --name hadoopM --privileged=true --net hadoopnetwork --ip 172.18.0.11 centos7ssh:v2 /usr/sbin/init
docker run -h hadoopS -v /etc/hosts:/etc/hosts -itd --name hadoopS --privileged=true --net hadoopnetwork --ip 172.18.0.12 centos7ssh:v2 /usr/sbin/init
docker run -h hadoopL -v /etc/hosts:/etc/hosts -itd --name hadoopL --privileged=true --net hadoopnetwork --ip 172.18.0.13 centos7ssh:v2 /usr/sbin/init
docker run -h hadoopA -v /etc/hosts:/etc/hosts -itd --name hadoopA --privileged=true --net hadoopnetwork --ip 172.18.0.14 centos7ssh:v2 /usr/sbin/init
docker run -h hadoopV -v /etc/hosts:/etc/hosts -itd --name hadoopV --privileged=true --net hadoopnetwork --ip 172.18.0.15 centos7ssh:v2 /usr/sbin/init






 

上传文件

docker cp opt/ e0a4ee0c987c:/home/wangqing/opt
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
下载文件
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp ecef8319d2c8:/root/test.txt /root/
可以使用Docker Compose来安装和运行Hadoop,以下是一个基本的docker-compose.yml文件示例: ``` version: '2.1' services: namenode: image: sequenceiq/hadoop-docker:2.7.1 container_name: namenode hostname: namenode ports: - "50070:50070" volumes: - ./data/namenode:/hadoop/dfs/name environment: - CLUSTER_NAME=mycluster - CORE_CONF_fs_defaultFS=hdfs://namenode:8020 - HDFS_CONF_dfs_namenode_datanode_registration_ip___hostname___check=false - HDFS_CONF_dfs_webhdfs_enabled=true - HDFS_CONF_dfs_permissions_enabled=false command: /etc/bootstrap.sh -d namenode datanode: image: sequenceiq/hadoop-docker:2.7.1 container_name: datanode hostname: datanode volumes: - ./data/datanode:/hadoop/dfs/data environment: - CLUSTER_NAME=mycluster - CORE_CONF_fs_defaultFS=hdfs://namenode:8020 - HDFS_CONF_dfs_namenode_datanode_registration_ip___hostname___check=false - HDFS_CONF_dfs_webhdfs_enabled=true - HDFS_CONF_dfs_permissions_enabled=false command: /etc/bootstrap.sh -d datanode ``` 在此示例,我们定义了两个服务:namenode和datanode。namenode服务运行Hadoop的NameNode组件,datanode服务运行Hadoop的DataNode组件。 要启动Hadoop集群,请打开终端并在docker-compose.yml文件所在的目录运行以下命令: ``` docker-compose up -d ``` 这将使用Compose文件启动Hadoop集群。您可以使用以下命令检查是否已成功启动: ``` docker-compose ps ``` 要停止Hadoop集群,请运行以下命令: ``` docker-compose down ``` 如果您需要对Hadoop集群进行更多配置,请修改docker-compose.yml文件的相应配置项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王茗颢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值