• hadoop-ha+zookeeper+hbase+hive+sqoop+flume+kafka+spark集群安装


    创建3台虚拟机 主机为桌面版 其他为迷你版本

    ******************************常用命令、进程名称****************************
    启动集群命令: start-all.sh
    启动zookeeper: zkServer.sh start
    启动journalnode: hadoop-daemon.sh start journalnode
    启动namenode: hadoop-daemon.sh --script hdfs start namenode
    启动zkfc: hadoop-daemon.sh --script hdfs start zkfc
    启动datanode: hadoop-daemon.sh --script hdfs start datanode

    手动failover: hdfs haadmin -failover 主机名1 主机名2
    查看namenode状态:hdfs haadmin -getServiceState nn1
    离开hadoop安全模式:hadoop dfsadmin -safemode leave
    获取当前hadoop运行状态: hadoop dfsadmin -report
    启动 Hadoophistoryserver mr-jobhistory-daemon.sh start historyserver
    防火墙关闭: service iptables stop & chkconfig iptables off
    启动NTP服务: service ntpd start & chkconfig ntpd on
    ldd命令查看依赖库

    ****************************************************************************

    ========================配置网络=====================
    1. 查看网络接口状态 ifconfig

    2. 编辑eth0网卡(善用补全键 Table)
    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    注意查看自己虚拟机的网络编辑器中的VMnet8给予的子网IP
    对照子网IP进行设置

    3.shift+G 到最后一行 O 另取一行开始编辑
    写入 :
    IPADDR=192.168.80.141
    GATEWAY=192.168.80.2
    NETMASK=255.255.255.0
    DNS1=192.168.80.2

    修改:
    BOOTPROTO=static
    ONBOOT=yes

    3.重启网卡
    service network restart
    ------------------------------------eg------------------------------------------------
    [root@test1 ~]# service network restart
    正在关闭接口 eth0: 设备状态:3 (断开连接)
    [确定]
    关闭环回接口: [确定]
    弹出环回接口: [确定]
    弹出界面 eth0: 活跃连接状态:已激活
    活跃连接路径:/org/freedesktop/NetworkManager/ActiveConnection/1
    [确定]
    ---------------------------------------------------------------------------------------

    4. 检测网络时候接通
    ping 8.8.8.8

    -------------------------------------eg----------------------------------------------
    [root@test1 ~]# ping 8.8.8.8
    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    64 bytes from 8.8.8.8: icmp_seq=12 ttl=128 time=56.4 ms
    64 bytes from 8.8.8.8: icmp_seq=13 ttl=128 time=24.4 ms
    64 bytes from 8.8.8.8: icmp_seq=14 ttl=128 time=22.9 ms
    ----------------------------------------------------------------------------------------


    5.修改 hosts文件(此文件是机器识别的身份证号码)
    vi /etc/hosts
    在文件内容后添加
    IP + 主机名(根据自己的实际情况改)
    192.168.245.221 test1
    192.168.245.222 test2
    192.168.245.223 test3
    192.168.245.224 test4

    可以通过 ping 命令测试


    ===========================ssh免密配置================================
    1.在每一台进行安装ssh客户端(需要良好的网络环境否则会显示镜像错误)
    yum install openssh-clients
    ·················································································错误解决方法················································································
    检查是否能上网:ping www.baidu.com

    如果显示没有连接的话,就说明没网,也就无法使用yum 命令安装。

    ping通了的话,还是用不了yum命令,大部分原因是yum镜像有问题,下载一个更新。

    在安装完CentOS后一般需要修改yum源,这样在安装更新rpm包时速度比较快。国内比较快的有163源、sohu源。以下是以163源为例。

    cd /etc/yum.repos.d
    mv CentOS-Base.repo CentOS-Base.repo.backup
    wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
    mv CentOS6-Base-163.repo CentOS-Base.repo
    yum clean all
    最后在使用yum 就可以了。
    ·······················································································································································································
    2. 生成公钥私钥对(最好在每一台,嫌麻烦可以只在主机配置)
    ssh-keygen

    3.复制密匙(最好每一台相互设置,嫌麻烦可只在主机设置)
    ssh-copy-id 机器名称


    ==============================时间同步====================================
    采用的是同步上海时区的时间

    下载时间同步模块
    yum -y install ntpdate

    连接远程服务器
    ntpdate -u time1.aliyun.com

    修改文件
    ntpdate -u ntp.api.bz

    date 查看系统时间

    hwclock --show 查看硬件时间

    hwclock -w 永久保存

    date 查看 成功

    ========================================================================


    ===========================安装Jdk、Hadoop、zookeeper======================
    【安装JDK以及其他HADOOP以及组件需要注意环境配置里面文件的位置名称等等】
    1.采用winscp或者rz、xshell等方式上传安装包到/home目录

    2.创建文件夹存放解压文件
    mkdir /home/java mkdir /home/hadoop mkdir /home/zk

    3. 解压安装包(注意为tar.gz结尾)
    tar -zxvf jdk-7u79-linux-x64.tar.gz -C /home/java
    tar -zxvf hadoop-2.6.4.tar.gz -C /home/hadoop
    tar -xzvf zookeeper-3.4.6.tar.gz -C /home

    4.修改文件名(此步骤必须进入解压文件存放的文件夹下即 /home/java 、/home/zookeeper-3.4.6和 /home/hadoop 目录 )
    mv jdk1.7.0_79 jdk mv hadoop-2.6.4 hadoop mv zookeeper-3.4.6 zk

    5.配置环境变量
    vi /etc/profile
    写入jdk环境变量:
    export JAVA_HOME=/home/java/jdk
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    hadoop环境变量:
    export HADOOP_HOME=/home/hadoop/hadoop
    export PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH

    export HADOOP_LOG_DIR=/home/hadoop/hadoop/logs
    export YARN_LOG_DIR=$HADOOP_LOG_DIR


    zookeeper环境变量
    export ZOOKEEPER_HOME=/home/zk/zk
    export PATH=$PATH:$ZOOKEEPER_HOME/bin

    6.运行 source /etc/profile (此步骤不会有提示 有提示就错了!!!!)

    --------修改zookeeper配置文件--------------------------
    创建文件夹存放所需其他缓存文件(!!在每一台上面!!)
    mkdir /tmp/zookeeper -p
    mkdir /tmp/logs/zookeeper -p
    cd /tmp/zookeeper vi myid (新文件 这个文件写入机器的ID 1~5依次类推)
    第一台:1
    ·······
    ·······
    第五台:5

    cd $ZOOKEEPER_HOME/conf (进入配置文件目录)
    cp zoo_sample.cfg zoo.cfg (拷贝配置文件模板)
    写入:
    server.1=test1:2888:3888
    server.2=test2:2888:3888
    server.3=test3:2888:3888
    server.4=test4:2888:3888
    server.5=test5:2888:3888

    cd $ZOOKEEPER_HOME/bin/zkEnv.sh
    写入:
    ZOO_LOG_DIR=/tmp/logs/zookeeper

    设置zookeeper自启(避免多台机器要开启 )
    直接修改/etc/rc.d/rc.local文件
    vi /etc/rc.d/rc.local
    写入:
    export JAVA_HOME=/home/java/jdk #jdk安装目录
    /home/zk/zk/bin/zkServer.sh start #zookeeper启动命令
    ---------------------------------------------------------

    ---------------修改hadoop配置文件-------------------------
    (针对Hadoop-Ha配置 5台机器 需要配置3台请见老文件)
    【若主机名不同记得修改,否则会导致错误】
    【记得文件中的起始标符号以及结束的标语】
    创建需要的文件夹
    mkdir -p /var/log/hadoop/tmp
    mkdir -p /data/hadoop/yarn/local
    mkdir -p /data/tmp/log
    mkdir -p /home/hadoop/hadoop/tmp/hdfs/name
    mkdir -p /home/hadoop/hadoop/tmp/hdfs/data

    cd $HADOOP_HOME/etc/hadoop (进入hadoop配置文件所在目录)

    1.vi core-site.xml

    <configuration>
            <property>
                      <name>fs.defaultFS</name>
                      <value>hdfs://mycluster</value>
            </property>
            <property>
                       <name>hadoop.tmp.dir</name>
                      <value>/var/log/hadoop/tmp</value>
            </property>
             <property>
                    <name>ha.zookeeper.session-timeout.ms</name>
                    <value>30000</value>
             </property>
    </configuration>

    2.vi hadoop-env.sh
    export JAVA_HOME=/home/java/jdk

    3. vi yarn-env.sh
    export JAVA_HOME=/home/java/jdk

    4. vi mapred-site.xml
    cp mapred-site.xml.template mapred-site.xml (复制模板编辑)

    <configuration>
            <property>
                    <name>mapreduce.framework.name</name>
                    <value>yarn</value>
            </property>
            <property>
                    <name>mapreduce.jobhistory.address</name>
                    <value>test1:10020</value>
            </property>
            <property>
                    <name>mapreduce.jobhistory.webapp.address</name>
                    <value>test1:19888</value>
            </property>
    </configuration>

    5. vi yarn-site.xml

    <configuration>
    
    <!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>test1</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>${yarn.resourcemanager.hostname}:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>${yarn.resourcemanager.hostname}:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>${yarn.resourcemanager.hostname}:8088</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.https.address</name>
        <value>${yarn.resourcemanager.hostname}:8090</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>${yarn.resourcemanager.hostname}:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>${yarn.resourcemanager.hostname}:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.local-dirs</name>
        <value>/data/hadoop/yarn/local</value>
    </property>
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.resourcemanager.remote-app-log-dir</name>
        <value>/data/tmp/logs</value>
    </property>
    <property>
        <name>yarn.log.server.url</name>
        <value>http://test1:19888/jobhistory/logs/</value>
        <description>URL for job history server</description>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>2048</value>
    </property>
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>512</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>4096</value>
    </property>
    <property>
        <name>mapreduce.map.memory.mb</name>
        <value>2048</value>
    </property>
    <property>
        <name>mapreduce.reduce.memory.mb</name>
        <value>2048</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>1</value>
    </property>
    </configuration>

    6. vi slaves(写入从机名称)
    test3
    test4
    test5

    7. vi hdfs-site.xml

    <configuration>
    <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:///home/hadoop/hadoop/tmp/hdfs/name</value>
    </property>
    <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:///home/hadoop/hadoop/tmp/hdfs/data</value>
    </property>
    <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>test1:50090</value>
    </property>
    <property>
            <name>dfs.replication</name>
            <value>2</value>  #文件副本数目
    </property>
    <property>
            <name>dfs.qjournal.start-segment.timeout.ms</name>
            <value>60000</value>
    </property>
    <property>
            <name>dfs.nameservices</name>
            <value>mycluster</value>
    </property>
    <property>
            <name>dfs.ha.namenodes.mycluster</name>
            <value>test1,test2</value>
    </property>
    <property>
            <name>dfs.namenode.rpc-address.mycluster.test1</name>
            <value>test1:8020</value>
    </property>
    <property>
            <name>dfs.namenode.rpc-address.mycluster.test2</name>
            <value>test2:8020</value>
    </property>
    <property>
            <name>dfs.namenode.http-address.mycluster.test1</name>
            <value>test1:50070</value>
    </property>
    <property>
            <name>dfs.namenode.http-address.mycluster.test2</name>
            <value>test2:50070</value>
    </property>
    <property>
            <name>dfs.namenode.shared.edits.dir</name>
            <value>qjournal://test1:8485;test2:8485;test3:8485;test4:8485;test5:8485/mycluster</value>
    </property>
    <property>
            <name>dfs.client.failover.proxy.provider.mycluster</name>
            <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>
    <property>
            <name>dfs.ha.fencing.methods</name>
            <value>sshfence</value>
    </property>
    <property>
            <name>dfs.ha.fencing.ssh.private-key-files</name>
            <value>/root/.ssh/id_rsa</value>
    </property>
    <property>
            <name>dfs.journalnode.edits.dir</name>
            <value>/tmp/jn</value>
    </property>
    <property>
            <name>dfs.ha.automatic-failover.enabled</name>
            <value>true</value>
    </property>
    <property>
            <name>ha.zookeeper.quorum</name>
            <value>test1:2181,test2:2181,test3:2181,test4:2181,test5:2181</value>
    </property>
    </configuration>

    -------------------------------------------------------------------------------------------------------------------------

    =========================拷贝安装文件夹、配置文件============================
    命令:scp -r +原目标文件位置 机器名:存放目标文件位置
    eg:
    scp -r /home test2:/
    scp -r /etc/profile test2:/etc/profile (每一台拷贝过去后记得刷新 source /etc/profile )
    scp -r /etc/hosts test2:/etc/hosts
    scp -r /etc/rc.d/rc.local test2:/etc/rc.d/rc.local

    ====================================================================

    =======================================================
    创建文件夹在每一台上面 mkdir /data/hadoop/hdfs/jn -p

    在五台机上运行 hadoop-daemon.sh start journalnode
    删除匹配集群ID文件(遇到datanode启动不了可以删除这两个文件之后再格式化)
    rm -rf $HADOOP_HOME/tmp/hdfs/name/current
    rm -rf $HADOOP_HOME/tmp/hdfs/data/current


    关闭防火墙:每一台 service iptables stop & chkconfig iptables off (连续输入两次)

    格式化namenode
    test1上面: hdfs namenode -format
    test1上面: hadoop-daemon.sh start namenode

    test2: hdfs namenode -bootstrapStandby

    初始化journalnode
    test1: hadoop-daemon.sh stop namenode
    test1: hdfs namenode -initializeSharedEdits

    =======================以上步骤为hadoop集群格式化===========================

    在每一台机器启动zookeeper
    zkServer.sh start


    初始化ZooKeeper集群
    hdfs zkfc -formatZK

    主机进入zkClient 【查看是否有 hadoop-ha 没有就没初始化成功 要检查每一台要创建的文件夹、配置文件是否弄好】
    [root@test1 ~]#
    eg:
    [zk: localhost:2181(CONNECTED) 0] 即为进入zk客户端 输入 ls /

    查看是否有 hadoop-ha 如若没有即为每成功!!!!!

    启动hadoop-ha集群顺序
    zookeeper(这里我们设置了开机自启,需要重启后生效: reboot)----journalnode-----namenode------zkfc------datanode

    每一台重启后步骤完成 start-all.sh 即可启动集群
    输入 hadoop dfsadmin -report 可获取集群状况 否则自动切换主机没成功

    ======================================================================


    ================================hive配置===============================
    hive安装配置需要开启集群且集群可以正常使用
    mysql安装
    1. 查看电脑中已安装的mysql版本:
    rpm -qa | grep mysql

    2. 选择卸载,或者保留当前前版本
    卸载: rpm -e xxxxxxxxxxxxxx(mysql版本) --nodeps (--nodeps代表强制卸载)
    例: rpm -e mysql-libs-5.1.73-8.el6_8.x86_64 --nodeps
    或者: rpm -e --nodeps mysql

    3. 解压传过来的mysql.tar包
    cd /home
    tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz -C /home

    4. 安装mysql服务
    yum install mysql-server

    5. 安装开发库以及包含文件
    yum install mysql-devel

    6.开启mysqld服务
    service mysqld start

    7.登录mysq进行设置
    mysql -u root -p (初始密码为空)
    设置密码:
    set password for 'root'@'localhost'=password('123456');
    set password for 'root'@'%'=password('123456');
    set password for 'root'@'test1'=password('123456');

    开放远程连接:
    grant all privileges on *.* to root@"%" identified by "root" with grant option;

    让设置立即生效:
    flush privileges

    创建数据库便于hive使用
    create database hivedb (名字自己修改)

    新建文件夹,mkdir /home/hive

    上传Hive安装文件压缩包

    解压hive安装文件压缩文件

    tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /home/

    重命名hive解压文件
    mv apache-hive-2.1.1 hive

    配置环境变量:
    vi /etc/profile

    在文件末尾增加一段(hive包含bin文件的目录)
    export HIVE_HOME=/home/hive/
    export PATH=${HIVE_HOME}/bin:$PATH

    让环境变量生效
    source /etc/profile

    进入Hive的配置文件目录
    cd /home/hive/hive/conf
    修改hive-env.sh
    cp hive-env.sh.tamplate hive-env.sh
    将以下内容写到hive-env.sh中
    export JAVA_HOME=/home/java/jdk
    export HADOOP_HOME=/home/hadoop/hadoop
    export HIVE_HOME=/home/hive/

    新建hive-site.xml文件
    vi hive-site.xml
    写入

    <configuration>
            <property>
                    <name>javax.jdo.option.ConnectionURL</name>
                    <value>jdbc:mysql://192.168.80.131:3306/hahive?createDatabaseIfNotExist=true</value>#(本机ip以及数据库名称)
            </property>
    
            <property>
                    <name>javax.jdo.option.ConnectionDriverName</name>
                    <value>com.mysql.jdbc.Driver</value>#(驱动)
            </property>
    
            <property>
                    <name>javax.jdo.option.ConnectionUserName</name>
                    <value>root</value>#(数据库账户)
            </property>
    
            <property>
                    <name>javax.jdo.option.ConnectionPassword</name>
                    <value>123456</value>#(密码)
            </property>
    
            <property>
                    <name>hive.metastore.schema.verification</name>
                    <value>false</value>
            </property>
    </configuration>

    将mysql驱动上传到虚拟机
    拷贝驱动到 /home/hive/lib
    cp mysqlxxx--xx------ /home/hive/lib

    初始化Hive
    schematool -initSchema -dbType mysql (若报错使用 schematool -dbType mysql -initSchema )

    (开启mysqld服务)运行hive测试(登录mysql命令mysql -uroot -p123456)

    ====================================================================

    ============================HBASE安装部署=============================
    HBASE需要在完整Hadoop-Ha下进行除Hive外 【时间同步必须进行检验】
    1.在官网下载HBASE安装包,并上传到虚拟机 、home

    2.解压安装包

    tar -zxvf hbase-xxxxxxxxxx -C /home
    mv /home/hbasexxxxxxx /home/hbase

    3.编辑环境变量
    vi /etc/profile
    写入:
    export HBASE_HOME=/home/hbase
    export PATH=$PATH:$HBASE_HOME/bin

    4.编辑HBASE配置文件 进入HBASE安装目录 cd /home/hbase/conf

    vi hbase-env.sh
    写入:
    export JAVA_HOME=/home/java/jdk/
    export HBASE_CLASSPATH=/home/hadoop/hadoop/etc/hadoop
    export HBASE_LOG_DIR=${HBASE_HOME}/logs
    export HBASE_MANAGES_ZK=false

    vi hbase-site.xml (注意主机名)

    <property>
                    <name>hbase.rootdir</name>
                    <value>hdfs://mycluster/hbase</value>
            </property>
            <property>
                    <name>hbase.cluster.distributed</name>
                    <value>true</value>
            </property>
            <property>
                    <name>hbase.zookeeper.quorum</name>
                    <value>test1,test2,test3,test4,test5</value>
            </property>
            <property>
                    <name>dfs.replication</name>
                    <value>2</value>
            </property>

    vi regionservers (加入从机)

    test3
    test4
    test5

    5.拷贝到其他机器(每一台)
    scp -r /home/hbase test2:/home/
    scp -r /etc/profile test2:/etc/profile

    HBASE常用命令:
    启动: hbase-daemon.sh start master (第一台)
    其他启动: hbase-daemon.sh start regionserver
    进入shell: hbase shell

    ---------------------------------------------ERROR---------------------------------------------------------
    假如启动 hbase shell报错:
    [ERROR] Terminal initialization failed; falling back to unsupported
    ...............................
    Unhandled Java exception: java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
    java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected

    是 /home/hadoop/hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar jar包版本太低
    解决方案:

    删除原本的jar包 rm -rf /home/hadoop/hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar

    拷贝新jar包 cp /home/hive/lib/jline-2.12.jar /home/hadoop/hadoop/share/hadoop/yarn/lib/

    -------------------------------------------------------------------------------------------------------------
    ========================HBASE shell常用命令==============================
    1. 版本获取: version
    hbase(main):005:0> version
    2.0.6, rd65cccb5fda039217954a558c65bda423e0d6df3, Wed Aug 14 15:44:48 UTC 2019
    Took 0.0003 seconds
    版本号 校验码 发布时间 运行命令的时间

    2. 状态获取: status
    hbase(main):006:0> status
    1 active master, 0 backup masters, 4 servers, 0 dead, 0.7500 average load
    Took 0.0094 seconds

    3. 帮助: help

    分组:
    Group name: general(普通)
    Commands: processlist, status, table_help, version, whoami

    Group name: ddl
    Commands: alter, alter_async, alter_status, create, describe, disable, disable_all, drop, drop_all, enable, enable_all, exists, get_table, is_disabled, is_enabled, list, list_regions, locate_region, show_filters
    Group name: dml
    Commands: append, count, delete, deleteall, get, get_counter, get_splits, incr, put, scan, truncate, truncate_preserve

    4. 建立表格:create '表名','列族名1','列族名2'.........
    hbase(main):009:0> create 'table1','Nmae family','Otherfamily

    5. 插入数据:put '表名称', '行名称', '列名称:xxx', '值' ,【时间戳】
    hbase(main):021:0> put '10-12','row1','l1:lastname','kai'

    ===================================================================
    *********************************常用命令、进程名称**********************************
    启动集群命令: start-all.sh
    启动zookeeper: zkServer.sh start
    启动journalnode: hadoop-daemon.sh start journalnode
    启动namenode: hadoop-daemon.sh --script hdfs start namenode
    启动zkfc: hadoop-daemon.sh --script hdfs start zkfc
    启动datanode: hadoop-daemon.sh --script hdfs start datanode

    手动failover: hdfs haadmin -failover 主机名1 主机名2
    离开hadoop安全模式:hadoop dfsadmin -safemode leave
    获取当前hadoop运行状态: hadoop dfsadmin -report
    启动 Hadoophistoryserver mr-jobhistory-daemon.sh start historyserver
    防火墙关闭: service iptables stop & chkconfig iptables off
    启动NTP服务: service ntpd start & chkconfig ntpd on

    ****************************************************************************

    ============================Sqoop安装部署=============================

    安装Sqoop的前提是已经具备Java和Hadoop的环境。
    3.1、下载并解压
    1) 最新版下载地址:http://mirrors.hust.edu.cn/apache/sqoop/1.4.7/
    2) 上传安装包sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz到虚拟机中,如我的上传目录是:/home
    3) 解压sqoop安装包到指定目录,如:
    tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /home
    mv /home/sqoop-1.4.7.bin__hadoop-2.6.0 /home/sqoop
    3.2、修改配置文件
    Sqoop的配置文件与大多数大数据框架类似,在sqoop根目录下的conf目录中。
    1) 重命名配置文件
    mv sqoop-env-template.sh sqoop-env.sh
    mv sqoop-site-template.xml sqoop-site.xml

    配置环境变量:
    vi /etc/profile

    在文件末尾增加一段(hive包含bin文件的目录)
    export SQOOP_HOME=/home/sqoop/
    export PATH=${SQOOP_HOME}/bin:$PATH

    让环境变量生效
    source /etc/profile

    2) 修改配置文件
    sqoop-env.sh
    export HADOOP_COMMON_HOME=/home/hadoop/hadoop
    export HADOOP_MAPRED_HOME=/home/hadoop/hadoop
    export HIVE_HOME=/home/hive/hive
    export ZOOKEEPER_HOME=/home/zk/zk
    export ZOOCFGDIR=/home/zk/zk

    3.3、拷贝JDBC驱动
    拷贝jdbc驱动到sqoop的lib目录下,如:
    cp -a mysql-connector-java-5.1.47-bin.jar /home/sqoop/lib/

    3.4、测试Sqoop是否能够成功连接数据库
    sqoop list-databases --connect jdbc:mysql://min01:3306/ --username root --password 123456

    ============================flume安装部署=============================
    1)解压安装包
    tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /home
    2)修改解压后的文件名称
    mv apache-flume-1.7.0-bin flume
    3)配置环境变量
    vi /etc/profile
    配置环境变量:
    export FLUME_HOME=/home/flume
    export FLUME_CONF_DIR=$FLUME_HOME/conf
    export PATH=$PATH:$FLUME_HOME/bin
    让配置生效
    source /etc/profile
    配置flume-env.sh文件的JavaHome
    export JAVA_HOME=/home/java/jdk

    启动测试
    flume-ng agent -n agent -c conf -f conf/flume-conf.properties.template -DFlume.root.logger=INFO,console

    错误
    flume-ng version 报找不到org.apache.flume.tools.GetJavaProperty
    解决办法
    ng脚本问题,解决办法:增加最后一段 2>/dev/null | grep hbase

     ===========================Kafka安装部署=============================

    Kafka集群部署
    1)解压安装包
    tar -zxvf kafka_2.11-2.1.1.tgz -C /home
    2)修改解压后的文件名称
    mv kafka_2.11-2.1.1 kafka
    3) 修改配置文件zookeeper.properties中的dataDir=/tmp/zookeeper与zookeeper中的zoo.cfg保持一致
    4)在/opt/module/kafka目录下创建logs文件夹 mkdir logs
    5)配置环境变量vi /etc/profile
    export KAFKA_HOME=/home/kafka
    export PATH=$PATH:$KAFKA_HOME/bin
    让环境变量生效
    source /etc/profile
    6)修改配置文件server.properties
    #删除topic功能使能
    delete.topic.enable=true
    #kafka运行日志存放的路径
    log.dirs=/home/kafka/logs
    #配置连接Zookeeper集群地址
    zookeeper.connect=min01:2181,min02:2181,min03:2181
    分发命令:scp -r +原目标文件位置 机器名:存放目标文件位置(另外机器)
    eg:
    scp -r /home/kafka min02:/home
    scp -r /etc/profile min02:/etc/profile (每一台拷贝过去后记得刷新 source /etc/profile )

    7)分别在min02和min03上修改配置文件/home/kafka/config/server.properties中的broker.id=1、broker.id=2
    注:broker.id不得重复
    8)启动集群
    依次在min01、min02、min03节点上启动kafka(首先确保zk启动了)
    bin/kafka-server-start.sh config/server.properties &
    bin/kafka-server-start.sh config/server.properties &
    bin/kafka-server-start.sh config/server.properties &
    9)关闭集群
    bin/kafka-server-stop.sh stop
    bin/kafka-server-stop.sh stop
    bin/kafka-server-stop.sh stop

    验证
    1)查看当前服务器中的所有topic
    bin/kafka-topics.sh --zookeeper min01:2181 --list
    2)创建topic
    bin/kafka-topics.sh --zookeeper min01:2181 --create --replication-factor 3 --partitions 1 --topic first
    选项说明:
    --topic 定义topic名
    --replication-factor 定义副本数
    --partitions 定义分区数

      ===========================Spark安装部署=============================

    Spark环境搭建
    1、安装Scala(查看版本scala -version)
    下载路径:http://www.scala-lang.org/download/
    拷贝文件到对应主机
    (2)解压缩 tar -zvxf scala-2.12.2.tgz
    (3)mv *** /opt/scala
    (4)配置环境变量 /etc/profile
    export SCALA_HOME=/home/scala
    export PATH=$PATH:$SCALA_HOME/bin (每一台拷贝过去后记得刷新 source /etc/profile )

    (1) 把安装包上传到hadoop01服务器并解压
    tar zxvf spark-2.3.4-bin-hadoop2.6.tgz -C /home
    mv spark-2.3.4-bin-hadoop2.6 spark
    修改spark-env.sh配置文件
    # 把SPARK_HOME/conf/下的spark-env.sh.template文件复制为spark-env.sh
    mv spark-env.sh.template spark-env.sh
    修改spark-env.sh配置文件,添加如下内容
    修改spark-env.sh配置文件

    # 把SPARK_HOME/conf/下的spark-env.sh.template文件复制为spark-env.sh
    export JAVA_HOME=/usr/local/java/jdk1.8.0_73
    export HADOOP_CONF_DIR=/home/hadoop/apps/hadoop-2.7.4/etc/hadoop
    export SPARK_MASTER_HOST=hadoop01
    export SPARK_MASTER_PORT=7077
    export SPARK_WORKER_CORES=1
    export SPARK_WORKER_MEMORY=1g

    修改slaves配置文件,添加Worker的主机列表
    mv slaves.template slaves
    # 里面的内容原来为localhost
    hadoop01
    hadoop02
    hadoop03
    hadoop04

    (4) 把SPARK_HOME/sbin下的start-all.sh和stop-all.sh这两个文件重命名
    mv start-all.sh start-spark-all.sh
    mv stop-all.sh stop-spark-all.sh

    在集群所有节点中配置SPARK_HOME环境变量vi /etc/profile
    export SPARK_HOME=/home/spark
    export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin (每一台拷贝过去后记得刷新 source /etc/profile )

    分发命令:scp -r +原目标文件位置 机器名:存放目标文件位置(另外机器)
    eg:
    scp -r /home/spark min02:/home
    scp -r /etc/profile min02:/etc/profile (每一台拷贝过去后记得刷新 source /etc/profile )

    在spark master节点启动spark集群
    start-spark-all.sh

  • 相关阅读:
    JavaScript 数组去重,并按大小排序
    JavaScript 把秒转换成分钟,比如100s转换成 01:40
    JavaScript style.left、offsetLeft的问题
    JavaScript画出一个星罗密布
    bootstrap轮播图怎么居中
    JavaScript 把数组里的0放到后面
    JavaScript----- Moving Zeros To The End
    5.2 Array类型的方法汇总
    5.2 Array类型介绍
    5.1 JS中Object类型
  • 原文地址:https://www.cnblogs.com/hgc-bky/p/12635175.html
Copyright © 2020-2023  润新知