Docker容器搭建大数据集群

Docker容器搭建大数据集群

首先准备好Centos7(之前准备好的模板机)

  • 在这里插入图片描述

安装Docker

  • 更新yum包(期间选择全选’y’)

    • 在这里插入图片描述

    • yum update
      
  • 安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖

    • yum install -y yum-utils device-mapper-persistent-data lvm2
      

    在这里插入图片描述

  • 设置yum源为阿里云

    • yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      

    在这里插入图片描述

  • 安装Docker

    • yum -y install docker-ce
      

      在这里插入图片描述

    • 检查安装是否成功

      • docker -v
        

        在这里插入图片描述

  • 设置ustc的镜像

    • 创建docker目录

      • mkdir -p /etc/docker
        

        在这里插入图片描述

    • 编辑daemon.json

      • vim /etc/docker/daemon.json
        

        在这里插入图片描述

        {"registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
        }
        
  • 启动Docker(完成此步骤最好保存快照,以免后面环境出错难以恢复)

    • systemctl start docker
      

      在这里插入图片描述

    • 查看是否启动成功

      • systemctl status docker
        

        在这里插入图片描述

Hadoop集群安装准备

  • 基础镜像准备

    • 拉取centos镜像

      • docker pull centos:7.5.1804
        
  • 创建docker-hadoop

    • mkdir docker-hadoop
      

      在这里插入图片描述

  • 把jdk上传~/docker-hadoop

    • 在这里插入图片描述
  • 创建Dockerfile

    • vim Dockerfile
      
      FROM centos:7.5.1804
      #安装JDK
      RUN mkdir -p /opt/software && mkdir -p /opt/service
      ADD jdk-8u212-linux-x64.tar.gz /opt/service#安装语言包
      RUN yum -y install kde-l10n-Chinese glibc-common vim
      RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
      RUN echo "LANG=zh_CN.UTF-8" >> /etc/locale.conf#解决login环境变量失效问题
      RUN touch /etc/profile.d/my_env.sh
      RUN echo -e "export LC_ALL=zh_CN.UTF-8\nexport JAVA_HOME=/opt/service/jdk1.8.0_212\nexport PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile.d/my_env.sh#安装ssh服务
      #更换国内阿里云yum源
      RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
      RUN sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
      RUN yum makecache#安装sshd
      RUN yum install -y openssh-server openssh-clients vim net-tools lrzsz
      RUN sed -i '/^HostKey/'d /etc/ssh/sshd_config
      RUN echo 'HostKey /etc/ssh/ssh_host_rsa_key' >> /etc/ssh/sshd_config#生成ssh-key
      RUN ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key#更改root用户登录密码
      RUN echo 'root:123456' | chpasswd#声明22端口 
      EXPOSE 22
      #容器运行时启动sshd
      RUN mkdir -p /opt
      RUN echo '#!/bin/bash' >> /opt/run.sh
      RUN echo '/usr/sbin/sshd -D' >> /opt/run.sh
      RUN chmod +x /opt/run.sh
      #CMD ["/opt/run.sh"]
      CMD [ "/usr/sbin/init"]
      
  • 生成基础镜像

    • docker build -t hadoopbase:1.0 ./
      
    • 查看镜像是否成功构建

      •     docker images
        

        在这里插入图片描述

  • 测试镜像

    • 起一个容器测试

      • docker run -itd --name test -p 222:22 hadoopbase:1.0
        
      • 可以新打开一个xshell窗口,IP地址和宿主机一致,端口号改为222即可连接

  • 集群环境配置

    • 创建三个容器

      • docker create -it --name hadoop102 --privileged=true -h hadoop102 hadoopbase:1.0 /usr/sbin/init
        docker create -it --name hadoop103 --privileged=true -h hadoop103 hadoopbase:1.0 /usr/sbin/init
        docker create -it --name hadoop104 --privileged=true -h hadoop104 hadoopbase:1.0 /usr/sbin/init
        

        在这里插入图片描述

    • 创建脚本

      • 先进入目录/usr/local/bin/

        • cd /usr/local/bin/
          

          在这里插入图片描述

      • 把pipework拷贝上传上去

        • 在这里插入图片描述
      • 创建docker.sh

        • vim docker.sh
          

          在这里插入图片描述

          #!/bin/bash#启动容器
          docker start hadoop102
          docker start hadoop103
          docker start hadoop104#搭建网桥,下面8.8.8.80是宿主机的IP
          brctl addbr br0; \
          ip link set dev br0 up; \
          ip addr del 8.8.8.80/24 dev ens33; \
          ip addr add 8.8.8.80/24 dev br0; \
          brctl addif br0 ens33; \
          ip route add default via 8.8.8.1 dev br0#睡眠5秒
          sleep 5#给容器配置ip和网关
          pipework br0 hadoop102 8.8.8.102/24@8.8.8.2
          pipework br0 hadoop103 8.8.8.103/24@8.8.8.2
          pipework br0 hadoop104 8.8.8.104/24@8.8.8.2
          
        • 增加脚本执行权限并下载工具

          • chmod 777 docker.sh
            chmod 777 pipework
            yum install bridge-utils
            

            在这里插入图片描述

        • 执行脚本

          • docker.sh
            
      • 用xshell连接三个容器

        • 在这里插入图片描述
      • 配置主机和ip映射,三台容器都需要执行

        • vim /etc/hosts
          
        • 配置如下

          • 8.8.8.102 hadoop102
            8.8.8.103 hadoop103
            8.8.8.104 hadoop104
            

            在这里插入图片描述

  • 配置免密登录

    • 设置公钥和私钥(此步骤需要在三台容器都执行)

      • #输入命令后一直按回车
        ssh-keygen -t rsa
        
    • 拷贝公钥(此步骤需要在三台容器都执行)

      • #输入命令之后会输入yes,然后输入密码
        ssh-copy-id hadoop102
        ssh-copy-id hadoop103
        ssh-copy-id hadoop104
        

Hadoop安装

  • 在三台机子都运行如下命令

    • #安装所需要的工具
      yum install -y psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static tree iotop git
      
  • 创建分发文件脚本(写在hadoop102上102是我们的主机)

    • cd ~
      mkdir bin
      cd bin
      touch my_rsync.sh
      #提升权限
      chmod 744 my_rsync.sh
      vim my_rsync.sh
      
      #!/bin/bash#参数预处理
      if [ $# -lt 1 ]
      thenecho '参数不能为空!!!'exit
      fi#遍历集群中的机器一次分发内容
      for host in hadoop103 hadoop104
      do#依次分发内容for file in $@do#判断当前文件是否存在if [ -e $file ]then#存在#1.获取当前文件的目录结构pdir=$(cd -P $(dirname $file); pwd)#2.获取当前的文件名fname=$(basename $file)#3.登录目标机器,创建同一目录结构ssh $host "mkdir -p $pdir"#4.依次把要分发的文件或目录进行分发rsync -av $pdir/$fname $host:$pdirelse#不存在echo "$file 不存在"exitfidone
      done
      
  • 将hadoop导入到/opt/software文件下(hadoop102上操作)

    • cd /opt/software/
      

      在这里插入图片描述

  • 将其解压到/opt/service/

    • tar -zxvf hadoop-3.1.3.tar.gz -C /opt/service/
      
    • 进入目录查看

      • cd /opt/service/
        

        在这里插入图片描述

  • 将hadoop添加到环境变量

    • 第一步到hadoop家目录下获取路径

      • cd /opt/service/hadoop-3.1.3/
        pwd
        

        在这里插入图片描述

    • 第二步:打开/etc/profile.d/my_env.sh文件

      • vim /etc/profile.d/my_env.sh
        
    • 第三步:在my_env.sh中添加如下配置

      • #HADOOP_HOME
        export HADOOP_HOME=/opt/service/hadoop-3.1.3
        export PATH=$PATH:$HADOOP_HOME/bin
        export PATH=$PATH:$HADDOP_HOME/sbin
        
    • 第四步:刷新配置文件

      • source /etc/profile.d/my_env.sh
        
  • 修改配置文件,进入$HADOOP_HOME/etc/hadoop

    • cd $HADOOP_HOME/etc/hadoop
      
    • 修改core-site.xml

    • vim core-site.xml
      
    • 修改内容如下

      • 
        <configuration><property><name>fs.defaultFSname><value>hdfs://hadoop102:9820value>property><property><name>hadoop.tmp.dirname><value>/opt/service/hadoop-3.1.3/datavalue>property><property><name>hadoop.http.staticuser.username><value>rootvalue>property><property><name>hadoop.proxyuser.root.hostsname><value>*value>property><property><name>hadoop.proxyuser.root.groupsname><value>*value>property><property><name>hadoop.proxyuser.root.groupsname><value>*value>property>configuration>
        
      • 配置hdfs-site.xml

      • vim hdfs-site.xml
        
      • 文件配置如下

        • 
          <configuration><property><name>dfs.namenode.http-addressname><value>hadoop102:9870value>property><property><name>dfs.namenode.secondary.http-addressname><value>hadoop104:9868value>property>
          configuration>
          
      • 配置yarn-site.xml

      • vim yarn-site.xml
        
      • 文件配置如下

        • 
          <configuration><property><name>yarn.nodemanager.aux-servicesname><value>mapreduce_shufflevalue>
          property>
          <property><name>yarn.resourcemanager.hostnamename><value>hadoop103value>
          property>
          <property><name>yarn.nodemanager.env-whitelistname><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOMEvalue>
          property>
          <property><name>yarn.scheduler.minimum-allocation-mbname><value>512value>property><property><name>yarn.scheduler.maximum-allocation-mbname><value>4096value>
          property>
          <property><name>yarn.nodemanager.resource.memory-mbname><value>4096value>
          property>
          <property><name>yarn.nodemanager.pmem-check-enabledname><value>falsevalue>property><property><name>yarn.nodemanager.vmem-check-enabledname><value>falsevalue>property>
          configuration>
          
      • 配置mapred-site.xml

      • vim mapred-site.xml
        
      • 配置如下

        • 
          <configuration><property><name>mapreduce.framework.namename><value>yarnvalue>property>
          configuration>
          
  • 把文件分发到各个主机(使用前面所写的分发脚本)

    • cd $HADOOP_HOME
      my_rsync.sh /opt/service/hadoop-3.1.3/
      #把环境变量配置也分发过去,因为我们图方便用的root用户登录,所以可以直接用分发脚本
      my_rsync.sh /etc/profile.d/my_env.sh
      
  • 格式化namenode

    • cd $HADOOP_HOME
      hdfs namenode -format
      
  • 配置群起脚本(hadoop102上执行下面步骤)

    • 先修改配置

      • vim /opt/service/hadoop-3.1.3/etc/hadoop/workers
        
      • 配置内容如下(切记不能有然后空格和空行)

      • hadoop102
        hadoop103
        hadoop104
        
    • 分发刚才修改之后的文件

      • my_rsync.sh /opt/service/hadoop-3.1.3/etc/hadoop/workers
        
    • 回到home目录,并创建编写脚本

      • cd ~/bin
        touch my_cluster.sh
        chmod 744 my_cluster.sh
        vim my_cluster.sh
        
      • 脚本内容如下

      • #!/bin/bashif [ $# -lt 1 ]
        thenecho '参数不能为空!!!'exit
        ficase $1 in
        "start")#启动HDFS集群echo "===========启动HDFS集群============"ssh hadoop102 /opt/service/hadoop-3.1.3/sbin/start-dfs.sh#启动YARN集群echo "===========启动YARN集群============"ssh hadoop103 /opt/service/hadoop-3.1.3/sbin/start-yarn.sh
        ;;
        "stop")#启动HDFS集群echo "===========停止HDFS集群============"ssh hadoop102 /opt/service/hadoop-3.1.3/sbin/stop-dfs.sh#启动YARN集群echo "===========停止YARN集群============"ssh hadoop103 /opt/service/hadoop-3.1.3/sbin/stop-yarn.sh
        ;;
        *)echo '参数错误!!!'
        ;;
        esac
        
    • 在环境变量中添加如下几个配置

      • vim /etc/profile
        
        #添加在末尾
        export HDFS_NAMENODE_USER=root
        export HDFS_DATANODE_USER=root
        export HDFS_SECONDARYNAMENODE_USER=root
        export YARN_RESOURCEMANAGER_USER=root
        export YARN_NODEMANAGER_USER=root
        
      • 使用分发脚本把/etc/profile分发下去,并source /etc/profile(三台机子都需要执行source命令)

        • my_rsync.sh /etc/profile
          source /etc/profile
    • 在$HADOOP_HOME/sbin路径下查找start-dfs.sh和stop-dfs.sh两个文件,在其顶部都添加上

      • #!/usr/bin/env bash
        HDFS_DATANODE_USER=root
        HADOOP_SECURE_DN_USER=hdfs
        HDFS_NAMENODE_USER=root
        HDFS_SECONDARYNAMENODE_USER=root
        
    • 顺便在start-yarn.sh和stop-yarn.sh两个文件顶部也分别加上

      • #!/usr/bin/env bash
        YARN_RESOURCEMANAGER_USER=root
        HADOOP_SECURE_DN_USER=yarn
        YARN_NODEMANAGER_USER=root
        
    • 然后使用分发脚本把sbin分发下去

      • my_rsync.sh /opt/service/hadoop-3.1.3/sbin/*
        
    • 编写一个脚本方便查看集群状态

      • cd ~/bin
        vim my_jps.sh
        
      • 内容如下

        • #!/bin/bash#查看集群中所有的状态for host in hadoop102 hadoop103 hadoop104
          doecho "=========$host========="ssh $host jps
          done
          
      • chmod 744 my_jps.sh
        
  • 在hadoop102上运行测试

    • #就使用刚才所写的群起脚本
      my_cluster.sh start
      
    • 在物理机上访问8.8.8.102:9870

      在这里插入图片描述

      如果有3个就证明成功,建议在此保留一份快照

搭建MySQL【主机上】(hadoop102是我们的主机)

  • 1.卸载Linux自带的MySQL
    • 1.1查自带的软件

      • #如果查询有没有结果就可以跳过卸载步骤
        rpm -qa | grep -E mysql\|mariadb
        
    • 1.2卸载

      • #后面的mariadb-libs-5.5.68-1.el7.x86_64是前一步查询出的结果
        rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
        
  • 2.正式安装MySQL
    • 上传MySQL软件包

      • cd /opt/software/
        
    • 在/opt/software/目录下创建一个文件来收纳tar包的解压文件

      • mkdir mysql-rpm
        tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C ./mysql-rpm/
        

        在这里插入图片描述

    • 到刚才解压到的包

      • cd /opt/software/mysql-rpm/
        #安装依赖,防止MySQL安装报错
        yum install -y libaio numactl
        #安装MySQL,严格按照顺序安装
        rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
        rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
        rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
        rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
        rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
        
      • 检查是否安装完成

        • rpm -qa | grep mysql
          

          在这里插入图片描述

    • 初始化数据库

      • mysqld --initialize --user=mysql
        
    • 启动MySQL服务

      • systemctl start mysqld
        
    • 查看MySQL状态

      • 在这里插入图片描述
    • 查看临时密码

      • cat /var/log/mysqld.log | grep password
        

        在这里插入图片描述

    • 复制好刚才查看到的临时密码,登录MySQL

      • #不建议把刚才复制的密码直接粘贴到-p之后,建议下面命令回车之后再粘贴密码
        mysql -uroot -p
        

        在这里插入图片描述

    • 修改密码

      • set password = password('123456');
        

        在这里插入图片描述

    • 修改远程连接,修改之后就可以使用Navicat连接MySQL

      • use mysql;
        update user set host = '%' where user = 'root';
        flush privileges;
        

        在这里插入图片描述

搭建Hive集群(Hadoop103和Hadoop104)

  • 上传hive安装包

    • cd /opt/software/
      

      在这里插入图片描述

  • 解压包

    • tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/service/
      
  • 查看软件包,并修改名字

    • cd /opt/service/
      mv apache-hive-3.1.2-bin/ hive-3.1.2
      
  • 配置环境变量

    • vim /etc/profile.d/my_env.sh
      
      #hive
      export HIVE_HOME=/opt/service/hive-3.1.2
      export PATH=$PATH:$HIVE_HOME/bin
      

      在这里插入图片描述

    • source /etc/profile.d/my_env.sh 
      
  • 解决日志冲突

    • 删除jar包

      • cd /opt/service/hive-3.1.2/lib/
        rm -rf log4j-slf4j-impl-2.10.0.jar
        
  • hive元数据配置到MySQL

    • cd $HIVE_HOME/conf
      touch hive-site.xml
      vim hive-site.xml
      
      
      
      <configuration><property><name>javax.jdo.option.ConnectionURLname><value>jdbc:mysql://hadoop102:3306/metastore?useSSL=falsevalue>
      property><property><name>javax.jdo.option.ConnectionDriverNamename><value>com.mysql.jdbc.Drivervalue>
      property><property><name>javax.jdo.option.ConnectionUserNamename><value>rootvalue>property><property><name>javax.jdo.option.ConnectionPasswordname><value>123456value>
      property><property><name>hive.metastore.warehouse.dirname><value>/user/hive/warehousevalue>property><property><name>hive.metastore.schema.verificationname><value>falsevalue>property><property><name>hive.metastore.event.db.notification.api.authname><value>falsevalue>property>
      configuration>
      
  • 将MySQL的JDBC驱动拷贝到Hive的lib目录下

    • cd $HIVE_HOME/lib
      

      上传驱动包

  • 初始化源数据库

    • 回到hadoop102,连接MySQL创建数据库

      • mysql -uroot -p123456
        

        在这里插入图片描述

        create database metastore;
        

        在这里插入图片描述

    • 回到hadoop103,初始化Hive元数据库

      • schematool -initSchema -dbType mysql -verbose
        

        在这里插入图片描述

  • 启动测试Hive

    • 首先要启动Hadoop集群

    • #启动好Hadoop集群之后在hadoop103执行命令
      hive
      

      在这里插入图片描述

  • 最后把文件和配置好的环境变量分发到hadoop104

    • scp -r /opt/service/hive-3.1.2/ root@hadoop104:/opt/service/
      
    • 环境变量也发送到hadoop104

      • scp -r /etc/profile.d/my_env.sh root@hadoop104:/etc/profile.d/
        

        在这里插入图片描述

    • 此时Hive集群已完成

搭建Flume 【主机】

  • 上传安装包到/opt/software/

    • cd /opt/software/
      

      在这里插入图片描述

  • 解压软件包

    • tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /opt/service/
      
  • 修改名字

    • cd /opt/service/
      mv apache-flume-1.9.0-bin/ flume-1.9.0
      

      在这里插入图片描述

  • 配置环境变量

    • vim /etc/profile.d/my_env.sh
      
      #flume
      export FLUME_HOME=/opt/service/flume-1.9.0
      export PATH=$PATH:$FLUME_HOME/bin
      

      在这里插入图片描述

    • source /etc/profile.d/my_env.sh

  • 解决与Hadoop的冲突

    • cd $FLUME_HOME/lib
      rm -rf guava-11.0.2.jar
      

      到此就已经安装完成

搭建Zookeeper(hadoop102上操作)

  • 先停掉Hadoop集群

    • #在hadoop102执行
      my_cluster.sh stop
      
  • 上传软件包到/opt/software/

    • cd /opt/software/
      
  • 解压软件包

    • tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/service/
      
  • 修改解压之后的名字

    • cd /opt/service/
      mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7
      

      在这里插入图片描述

  • 创建数据目录

    • cd /opt/service/zookeeper-3.5.7/
      mkdir zkData
      
  • 修改配置文件

    • cd /opt/service/zookeeper-3.5.7/conf/
      mv zoo_sample.cfg zoo.cfg
      vim zoo.cfg
      
    • 修改dataDir

      • dataDir=/opt/service/zookeeper-3.5.7/zkDataserver.2=hadoop102:2888:3888
        server.3=hadoop103:2888:3888
        server.4=hadoop104:2888:3888
        

        在这里插入图片描述

  • 给集群配标号

    • cd /opt/service/zookeeper-3.5.7/zkData/
      touch myid
      vim myid
      

      在文件中输入2

      在这里插入图片描述

  • 分发文件,讲zookeeper分发到集群

    • cd /opt/service/
      my_rsync.sh zookeeper-3.5.7/
      

      在这里插入图片描述

  • 到另外两个容器中修改myid文件,hadoop103对应3,hadoop104对应4

    • cd /opt/service/zookeeper-3.5.7/zkData/
      vim myid
      

      在这里插入图片描述

      在这里插入图片描述

  • 封装zookeeper集群启停脚本(hadoop102容器上操作)

    • cd ~/bin/
      touch zk_cluster.sh
      chmod 744 zk_cluster.sh
      vim zk_cluster.sh
      
      #!/bin/bashif [ $# -lt 1 ]
      thenecho '参数不能为空!!!'exit
      fifor host in hadoop102 hadoop103 hadoop104
      docase $1 in"start")echo "$1*****$host*******ZK**********"ssh $host /opt/service/zookeeper-3.5.7/bin/zkServer.sh $1;;"stop")echo "$1*****$host*******ZK**********"ssh $host /opt/service/zookeeper-3.5.7/bin/zkServer.sh $1;;"status")echo "$1*****$host*******ZK**********"ssh $host /opt/service/zookeeper-3.5.7/bin/zkServer.sh $1;;*)echo '参数有误!!!'exit;;esac
      done
      

      到此zookeeper集群就搭建完成

搭建HBASE集群

  • 上传软件包到hadoop102的/opt/software/目录下

    • cd /opt/software/
      

      在这里插入图片描述

  • 解压安装包

    • tar -zxvf hbase-2.0.5-bin.tar.gz -C /opt/service/
      
  • 配置环境变量

    • vim /etc/profile.d/my_env.sh
      
      #hbase
      export HBASE_HOME=/opt/service/hbase-2.0.5
      export PATH=$PATH:$HBASE_HOME/bin
      

      在这里插入图片描述

    • source /etc/profile.d/my_env.sh
      
  • 修改配置文件

    • #先到目录下
      cd /opt/service/hbase-2.0.5/conf/
      vim hbase-env.sh
      
      • 打开export HBASE_MANAGES_ZK=false配置

      • 在这里插入图片描述

      • vim hbase-site.xml
        
        <configuration><property><name>hbase.rootdirname><value>hdfs://hadoop102:9820/hbasevalue>property><property><name>hbase.cluster.distributedname><value>truevalue>property><property><name>hbase.zookeeper.quorumname><value>hadoop102,hadoop103,hadoop104value>property>
        configuration>
        
      • vim regionservers
        
        hadoop102
        hadoop103
        hadoop104
        

        在这里插入图片描述

  • 分发文件

    • cd /opt/service/
      my_rsync.sh hbase-2.0.5/
      my_rsync.sh /etc/profile.d/my_env.sh
      
  • 启动测试

    • #启动Hadoop集群
      my_cluster.sh start
      #启动zookeeper集群
      zk_cluster.sh start
      #启动Hbase
      start-hbase.sh
      
    • 在这里插入图片描述

    • 在物理机访问8.8.8.102:16010

    • 在这里插入图片描述

    若进程和我一样,并且能访问web那个界面证明hbase就安装成功了

搭建SQOOP集群

  • 我们在hadoop103上配置

  • 上传软件包到/opt/software/

    • cd /opt/software/
      
  • 解压软件包

    • tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /opt/service/
      
  • 修改名字

    • mv sqoop-1.4.7.bin__hadoop-2.6.0/ sqoop-1.4.7
      
  • 配置环境变量

    • vim /etc/profile.d/my_env.sh
      
      #sqoop
      export SQOOP_HOME=/opt/service/sqoop-1.4.7
      export PATH=$PATH:$SQOOP_HOME/bin
      

      在这里插入图片描述

      source /etc/profile.d/my_env.sh
      
  • 修改配置文件

    • cd $SQOOP_HOME/conf
      #重命名配置文件
      mv sqoop-env-template.sh sqoop-env.sh
      vim sqoop-env.sh
      

      在这里插入图片描述

  • 拷贝jdbc驱动到sqoop的lib

    • #到了这个目录上传驱动
      cd $SQOOP_HOME/lib
      
  • 验证连接

    • sqoop list-databases --connect jdbc:mysql://hadoop102:3306/ --username root --password 123456
      

      在这里插入图片描述

      如此便成功安装sqoop

搭建Kafaka集群(hadoop102上操作)

  • 上传软件包到/opt/software/

    • cd /opt/software/
      
  • 解压软件包

    • tar -zxvf kafka_2.11-2.4.1.tgz -C /opt/service/
      
  • 修改名字

    • cd /opt/service/
      mv kafka_2.11-2.4.1/ kafka
      
  • 配置环境变量

    • vim /etc/profile.d/my_env.sh
      
      #kafka
      export KAFKA_HOME=/opt/service/kafka
      export PATH=$PATH:$KAFKA_HOME/bin
      

      在这里插入图片描述

  • 分发文件(分发完之后三个容器都运行一下 source /etc/profile.d/my_env.sh)

    • my_rsync.sh /etc/profile.d/my_env.sh
      
  • 修改配置文件

    • cd $KAFKA_HOME/config
      vim server.properties
      
      • 修改broker.id

        • broker.id=2	
          

        在这里插入图片描述

      • 修改log.dirs

        • log.dirs=/opt/service/kafka/logs
          

          在这里插入图片描述

      • 修改zookeeper.connect

        • zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka
          

          在这里插入图片描述

  • 分发文件

    • cd /opt/service/
      my_rsync.sh kafka/
  • 修改另外两个容器的broker.id

    • 到hadoop103

      • vim /opt/service/kafka/config/server.properties
        

        在这里插入图片描述

    • 到hadoop014

      • vim /opt/service/kafka/config/server.properties
        

        在这里插入图片描述

  • 启动测试

    • 编写群起脚本

      • cd ~/bin/
        touch kafka_all.sh
        chmod 744 Kafka_all.sh
        vim kafka_all.sh
        
        #!/bin/bashfor host in hadoop102 hadoop103 hadoop104
        dossh $host kafka-server-start.sh -daemon /opt/service/kafka/config/server.properties
        done
        
    • 启动之前一定要先启动zookeeper,可以先查看状态(只启动zookeeper就可以了,其他东西尽量关掉)

      • my_jps.sh
        

        在这里插入图片描述

    • 启动kafka

      • kafka_all.sh
        
        #查看所有jps
        my_jps.sh
        

        在这里插入图片描述

        如果和我进程一样就说明成功安装好了kafka

搭建Spark集群

  • 上传文件到/opt/software

    • cd /opt/software
      
  • 解压文件

    • tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/service/
      
  • 修改文件名

    • cd /opt/service
      mv spark-3.0.0-bin-hadoop3.2/ spark-standalone
      
  • 修改配置文件

    • cd /opt/service/spark-standalone/conf/
      #修改文件名
      mv slaves.template slaves
      vim slaves
      
      • hadoop102
        hadoop103
        hadoop104
        

        在这里插入图片描述

    • mv spark-env.sh.template spark-env.sh
      vim spark-env.sh
      
      export JAVA_HOME=/opt/service/jdk1.8.0_212
      SPARK_MASTER_HOST=hadoop102
      SPARK_MASTER_PORT=7077
      

      在这里插入图片描述

  • 分发文件

    • cd /opt/service/
      my_rsync.sh spark-standalone/
      
  • 启动集群

    • cd /opt/service/spark-standalone/
      sbin/start-all.sh
      
    • 使用my_jps.sh查看进程

      • 在这里插入图片描述

      • 访问web ui

        • 8.8.8.102:8080
          

          在这里插入图片描述

    • 如此便安装成功

搭建Redis

  • 上传文件到/opt/software/

    • cd /opt/software/
      
  • 解压文件

    • tar -zxvf redis-5.0.2.tar.gz -C /opt/service/
      
  • 进入解压目录执行make命令

    • #先下载依赖包
      yum -y install gcc automake autoconf libtool make
      cd /opt/service/redis-5.0.2/
      make
  • 执行make install 创建快捷方式

    • cd /opt/service/redis-5.0.2/
      make install 
      

      在这里插入图片描述

  • 启动redis

    • redis-server
      

      在这里插入图片描述

    • 如此便完全安装成功了


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部