zoukankan      html  css  js  c++  java
  • 大数据集群本地虚拟机安装方法

    大数据集群本地安装方法

    1、使用Vmware安装Linux系统

    请自行下载,并安装。至少安装两台(这里以安装三台为例)

    2、 安装xshell和xftp

    安装xshell和xftp主要主要是方面后面传文件、写命令等操作。

    (注意,xshell和xftp的版本一定要一致,不然安装xftp可能会有问题)

    3、 配置虚拟机IP

    A、 每台虚拟机都用root账号登录

    a、  编辑hosts文件(使用以下命令)

    sudo vi /etc/hosts

    添加以下内容

    192.168.79.131 master

    192.168.79.132 slave1

    192.168.79.133 slave2

             B、修改主机名

                       分别修改三台主机/etc/hostname的内容为master、slave1、slave2

    如果没有/etc/hostname目录文件,则自己新建一个。

    注意主机名和hosts文件中设置的名称应当保持一致,否则会产生意外的错误

    注意:1、安装大数据齐群,一定要把虚拟机的防火墙都关掉。

      

          关闭防火墙:systemctl stop firewalld.service

          禁用防火墙:systemctl disable firewalld.service

          查看防火墙状态:firewall-cmd --state

          重启机器: reboot

    2、每次换了网络时看看虚拟机的ip地址是否发生变化,如果发生变化,记得修改相应的地方(最好设定固定ip,配置VMnet8)

    3、配置集群直接免密码登录

      https://www.cnblogs.com/zml-java/p/9448281.html

    4、新建安装目录,最好每台机器建同一目录方便后面的操作

    sudo mkdir -p /data/install 

    5、安装JDK

    1、下载好的tar包放在 /data/install/java 目录并解压:

    tar -xvf jdk-7u80-linux-x64.tar.gz
    配置环境变量 
    首先进入编辑Linux配置环境变量的文件:
    sudo vi /etc/profile

    在里面添加如下内容:

    export JAVA_HOME=/data/install/java/jdk1.7.0_80

    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

    export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib4、使环境变量立刻生效:

    source /etc/profile

     

    使用java -version校验

    6、hadoop的安装和配置

    注:这里只需要配置一台(master),配置好之后,把配置好的hadoop-2.7.3文件夹考到另外几台机子即可,后面的Zookeeper、Hbase,spark也是一样的

    首先到Apache官网(http://www.apache.org/dyn/closer.cgi/hadoop/common/)复制下载地址,然后进入 /data/install/apache 目录下面执行以下命令直接进行下载:

    wget http://mirror.bit.edu.cn/apache/hadoop/common/stable/hadoop-2.7.3.tar.gz

    下载完成后进行解压:

    tar -xvf hadoop-2.7.3.tar.gz

    A、 配置Hadoop

    进入hadoop的配置目录:

    cd /data/install/apache/hadoop-2.7.3/etc/hadoop/

    需要修改的配置文件为:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、slaves、hadoop-env.sh、yarn-env.sh

    core-site.xml(master也可以写成ip地址。目录换成自己对应的目录)

    <configuration>
        <property>
            <name>fs.default.name</name>
            <value>hdfs://master:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>file:/data/install/apache/hadoop-2.7.3/tmp</value>
        </property>
        <property>
            <name>io.file.buffer.size</name>
            <value>131702</value>
        </property>
    </configuration>

    hdfs-site.xml(先在/hadoop-2.7.3文件夹下创建hdfs文件夹,然后在hdfs文件夹下创建name和data文件夹

    <configuration>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:/data/install/apache/hadoop-2.7.3/hdfs/name</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:/data/install/apache/hadoop-2.7.3/hdfs/data</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>master:9001</value>
        </property>
        <property>
            <name>dfs.webhdfs.enabled</name>
            <value>true</value>
        </property>
        <property>
            <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
            <value>false</value>
        </property>
    </configuration>

    mapred-site.xml(好像没有这个文件)

    通过mv etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml创建etc/hadoop/mapred-site.xml,内容改为如下:

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

    slaves文件(删除原来的localhost)

    slave1
    slave2

    hadoop-env.shyarn-env.sh(一定要改成自己的java安装目录,原本是个变量)

    export JAVA_HOME=/data/install/java/jdk1.7.0_80

    配置文件修改完以后,将master下hadoop文件夹复制到slave1和slave2中

    scp -r /data/install/apache/hadoop-2.7.3 root@slaver:/data/install/apache/
     
    scp -r /data/install/apache/hadoop-2.7.3 root@slave2:/data/install/apache/

    C、运行hadoop

    启动hadoop的命令都在master上执行

    (1)初始化hadoop(清空hdfs数据):

    rm -rf /data/install/apache/hadoop-2.7.3/hdfs/*
    rm -rf /data/install/apache/hadoop-2.7.3/tmp/*
    /data/install/apache/hadoop-2.7.3/bin/hdfs namenode -format(只有第一次启动的时候执行。多次执行会有问题。后面hadoop启动之后,每次关掉就行,不用每次启动hadoop都去format)

    启动hadoop(每台机器都要启动)

    /data/install/apache/hadoop-2.7.3/sbin/start-dfs.sh

    (注:停止语句)

    /data/install/apache/hadoop-2.7.3/sbin/stop-dfs.sh

    验证是否启动成功,在master输入 jps,应当存在namenode和secondary namenode

    在slave1和slave2输入jps,应当存在datanode

     

    进一步验证,访问:http:// 192.168.79.131:50070/dfshealth.html(192.168.79.131是master的ip),如图:

    (3)启停yarn

    /data/install/apache/hadoop-2.7.3/sbin/start-yarn.sh
    /data/install/apache/hadoop-2.7.3/sbin/stop-yarn.sh

    在master输入 jps,应当存在resourcemanager

    在slave1和slave2输入jps,应当存在nodemanager

    访问:http:// 192.168.79.131:8088/cluster

    注意:如果安装不成功,或者出现各种问题。建议删除hadoop,然后重新解压配置master,然后将配置好的文件发送到slave1和slave2,这样比解决问题还快些

      很多问题都是多次格式化namenode 或者  没有创建data和name文件造成的。

    参考:https://blog.csdn.net/reblue520/article/details/70888850

      https://www.linuxidc.com/Linux/2017-12/149906.htm

    6、zookeeper集群的安装配置

    1、下载 
    http://apache.fayea.com/zookeeper/stable/下载安装包并解压:

    wget http://apache.fayea.com/zookeeper/stable/zookeeper-3.4.9.tar.gz

    2、配置

    (1)建立数据目录

    mkdir /data/install/apache/zookeeper-3.4.9/data

    (2)进入conf目录创建并修改zoo.cfg文件

    cp zoo_sample.cfg zoo.cfg

    修改以后的内容为:

    # The number of milliseconds of each tick

    tickTime=2000

    # The number of ticks that the initial

    # synchronization phase can take

    initLimit=10

    # The number of ticks that can pass between

    # sending a request and getting an acknowledgement

    syncLimit=5

    # the directory where the snapshot is stored.

    # do not use /tmp for storage, /tmp here is just

    # example sakes.

    dataDir=/data/install/apache/zookeeper-3.4.9/data

    # the port at which the clients will connect

    clientPort=2181

    # the maximum number of client connections.

    # increase this if you need to handle more clients

    #maxClientCnxns=60

    #

    # Be sure to read the maintenance section of the

    # administrator guide before turning on autopurge.

    #

    # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

    #

    # The number of snapshots to retain in dataDir

    #autopurge.snapRetainCount=3

    # Purge task interval in hours

    # Set to "0" to disable auto purge feature

    #autopurge.purgeInterval=1

    server.0=master:2888:3888

    server.1=slave1:2888:3888

    server.2=slave2:2888:3888

    这里还需要在数据目录/data/install/apache/zookeeper-3.4.9/data下面新建名为myid的文件,各个主机对应的内容是不同的,master的内容是0,slave1的内容是1,slave2的内容是2,分别对应server.x中的x

    (3)设置环境变量:/etc/profile添加如下内容

    export ZOOKEEPER_HOME=/data/install/apache/zookeeper-3.4.9

    export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

    别忘了source一下让环境变量生效

    source /etc/profile

    3、启停zookeeper

    在各个节点执行以下命令:

    /data/install/apache/zookeeper-3.4.9/bin/zkServer.sh start

    /data/install/apache/zookeeper-3.4.9/bin/zkServer.sh stop

    输入jps检测一下:

     

    查看各个主机的状态:

    sh bin/zkServer.sh status

     

    这里如果报错:

    bin/zkServer.sh: 81: /data/install/apache/zookeeper-3.4.9/bin/zkEnv.sh: Syntax error: "(" unexpected (expecting "fi")

    看这篇文章的解决方法:http://blog.csdn.net/lcdcxy/article/details/50393363

    10 hbase的安装和配置

     

    1、下载 
    首先到http://apache.fayea.com/hbase/stable/下载稳定版安装包并解压:

    wget http://apache.fayea.com/hbase/stable/hbase-1.2.4-bin.tar.gz

    2、配置

    主要修改conf目录下的三个文件:hbase-env.sh、hbase-site.xml、regionservers

    hbase-env.sh

    export JAVA_HOME=/data/install/java/jdk1.7.0_80

    export HBASE_MANAGES_ZK=true

    export HBASE_LOG_DIR=/data/install/apache/hbase-1.2.4/logs

    hbase-site.xml

    <configuration>

        <property>

            <name>hbase.rootdir</name>

            <value>hdfs://master:9000/hbase</value>

        </property>

        <property>

            <name>hbase.cluster.distributed</name>

            <value>true</value>

        </property>

        <property>

            <name>hbase.zookeeper.quorum</name>

            <value>master,slave1,slave2</value>

        </property>

        <property>

            <name>hbase.master.maxclockskew</name>

            <value>180000</value>

            <description>Time difference of regionserver from master</description>

        </property>

    </configuration>

    regionservers

    slave1

    slave2

    2016.11.25更新:还需要同步集群时间,否则有的从节点无法启动,在每个节点上运行ntp即可

    ntpdate asia.pool.ntp.org

    3、启停hbase

    /data/install/apache/hbase-1.2.4/bin/start-hbase.sh

    /data/install/apache/hbase-1.2.4/bin/stop-hbase.sh

    master输入jps:

     

    slave1和slave2输入jps:

     

    访问:http://192.168.79.131:16010

     

    4、hbase的一些基本命令

    名称

    命令表达式

    创建表

    create ‘表名称’, ‘列名称1’,’列名称2’,’列名称N’

    添加记录

    put ‘表名称’, ‘行名称’, ‘列名称:’, ‘值’

    查看记录

    get ‘表名称’, ‘行名称’

    查看表中的记录总数

    count ‘表名称’

    删除记录

    delete ‘表名’ ,’行名称’ , ‘列名称’

    删除一张表

    disable ‘表名称’
    drop ‘表名称’

    查看所有记录

    scan “表名称”

    首先进入hbase shell

    ./bin/hbase shell

    (1)创建表

    create 'test1','address1'

    (2)添加记录

    put'test','row1','address:province','zhejiang'

    put 'test','row2','address:city','hangzhou'

    (3)查看记录

    get 'test','row1'

    (4)查看表中的记录总数

    count 'test'

    (5)删除记录

    delete 'test','row1','address'

    (6)删除一张表

    disable 'test'

    drop 'test'

    (7)查看所有记录

    scan 'test'

    11 spark的安装和配置

    1、下载 
    首先在http://spark.apache.org/downloads.html下载指定hadoop版本的安装包,然后解压缩

    2、配置

    创建并修改conf目录下的配置文件 spark-env.sh,slaves

    spark-env.sh

    cp spark-env.sh.template spark-env.sh

    修改内容为:

    export JAVA_HOME=/data/install/java/jdk1.7.0_80

    export HADOOP_HOME=/data/install/apache/hadoop-2.7.3

    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

    export HBASE_HOME=/data/install/apache/hbase-1.2.4

    #如果ssh端口非22

    export SPARK_SSH_OPTS="-p 22022"

    slaves

    cp slaves.template slaves

    修改内容为:

    slave1

    slave2

    3、启停spark

    /data/install/apache/spark-2.0.0-bin-hadoop2.7/sbin/start-all.sh

    /data/install/apache/spark-2.0.0-bin-hadoop2.7/sbin/stop-all.sh

    在master上输入jps:

     

    在slave1和slave2上输入jps:

     

    访问:http://192.168.79.131:8080/

     

     

     

    问题解决:

      在安装过程中也遇到了相当多的问题,下面对相关问题进行对应的解决。

    1、启动hadoop的时候要确定master和slave上的的节点是不是启动了,master上面输入jps应出现namenode的字样,slave上应有datanode。如果启动不成功可尝试删除hdfs-site.xml 配置文件里面 dfs.data.dir 的值,找到路径对应的文件夹,把里面name和data下面的文件全部删除,再初始化hadoop环境就能成功启动hadoop。

    2、启动zookeeper的时候注意要将机器的防火墙关闭,不然会导致集群机器之间无法连接,启动hbase的时候也会报错。

    3、hbase启动的时候要注意网络是否正常,如果网络有波动,会导致集群机器的ip发生变化。从而导致莫名其妙地hbase就无法链接zookeeper导致出现问题。

    4、在Windows下面链接hbase的时候按照官网的方法进行连接即可:http://hbase.apache.org/book.html#_examples。(注意Windows下要安装winutils.exe解决方法查看:http://bbs.csdn.net/topics/390951960?page=1)

  • 相关阅读:
    今日进度
    今日进度
    每周总结
    今日进度
    今日进度
    今日进度
    flask展示Excel
    ubuntu 相关
    python解析xml三种方法【ElementTree】【DOM】【SAX】
    Lambda实现if...elif...else【三元表达式】
  • 原文地址:https://www.cnblogs.com/zml-java/p/6559825.html
Copyright © 2011-2022 走看看