https://www.cnblogs.com/lzxlfly/p/7221890.html

总的下载地址:      http://mirror.bit.edu.cn/apache/

hadoop下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.5/hadoop-2.7.5.tar.gz

hbase下载地址:  http://mirror.bit.edu.cn/apache/hbase/1.2.6/hbase-1.2.6-bin.tar.gz

spark下载地址:   http://mirror.bit.edu.cn/apache/spark/spark-2.1.2/spark-2.1.2-bin-hadoop2.7.tgz

官方文档:  http://hadoop.apache.org/docs/r2.7.3/

Hadoop安装部署基本步骤:

1、安装jdk,配置环境变量。

jdk可以去网上自行下载,环境变量如下:

编辑  vim  /etc/profile 文件,添加如下内容:

export JAVA_HOME=/opt/java_environment/jdk1.7.0_80(填写自己的jdk安装路径)
       export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
       export PATH=$PATH:$JAVA_HOME/bin

输入命令,source /etc/profile  使配置生效

分别输入命令,java 、 javac 、 java -version,查看jdk环境变量是否配置成功

2、linux环境下,至少需要3台机子,一台作为master,2台(以上)作为slave。

    这里我以3台机器为例,linux用的是CentOS  6.5  x64为机器。

master 192.168.172.71
         slave1 192.168.172.72
         slave2 192.168.172.73

3、配置所有机器的hostname和hosts(注意hostname不能带下划_线)。

(1)更改hostname,可以编辑 vim /etc/sysconfig/network

     更改master的HOSTNAME,这里改为HOSTNAME=master

     其它slave为HOSTNAME=slave1、HOSTNAME=slave2 ,重启后生效。

     或者直接输:  hostname   名字,更改成功,这种方式无需重启即可生效,

     但是重启系统后更改的名字会失效,仍是原来的名字

   (2)更改host,可以编辑 vim /etc/hosts,增加如下内容:

       192.168.172.71    master 
            192.168.172.72    slave1 
              192.168.172.73     slave2

       hosts可以和hostname不一致 ,这里为了好记就写一致了。

4、配置SSH所有机器之间免密码登录

  (1)CentOS默认没有启动ssh无密登录,编辑 vim  /etc/ssh/sshd_config,

      去掉以下两行注释,开启Authentication免登陆。

      #RSAAuthentication yes
           #PubkeyAuthentication yes

     如果是root用户下进行操作,还要去掉 #PermitRootLogin yes注释,允许root用户登录。

  (2)输入命令,ssh-keygen -t rsa,生成key,一直按回车,

      就会在/root/.ssh生成:authorized_keys   id_rsa.pub   id_rsa 三个文件,

     这里要说的是,为了各个机器之间的免登陆,在每一台机器上都要进行此操作。

  (3) 接下来,在master服务器,合并公钥到authorized_keys文件,

     进入/root/.ssh目录,输入以下命令

          cat id_rsa.pub>> authorized_keys    把master公钥合并到authorized_keys 中

       ssh root@192.168.172.72 cat ~/.ssh/id_rsa.pub>> authorized_keys

       ssh root@192.168.172.73 cat ~/.ssh/id_rsa.pub>> authorized_keys

       把slave1、slave2公钥合并到authorized_keys 中

完成之后输入命令,把authorized_keys远程copy到slave1和slave2之中

      scp authorized_keys 192.168.172.72:/root/.ssh/

        scp authorized_keys 192.168.172.73:/root/.ssh/

      最好在每台机器上进行chmod 600  authorized_keys操作,

       使当前用户具有 authorized_keys的读写权限。

      拷贝完成后,在每台机器上进行 service sshd restart  操作, 重新启动ssh服务。

      之后在每台机器输入 ssh 192.168.172.xx,测试能否无需输入密码连接另外两台机器。

免密简单方法:(只需要在主上执行,即 只要主能通信所有机器)

su -c "ssh-keygen -t rsa -N ''" root

ssh-copy-id -i /root/.ssh/id_rsa.pub master

ssh-copy-id -i /root/.ssh/id_rsa.pub slave1

ssh-copy-id -i /root/.ssh/id_rsa.pub slave2

5、配置Hadoop环境变量,HADOOP_HOME、hadoop-env.sh、yarn-env.sh。

  (1)配置HADOOP_HOME,编辑  vim  /etc/profile 文件,添加如下内容:

     export HADOOP_HOME=/opt/hbase/hadoop-2.7.3 (Hadoop的安装路径)

     export PATH=$PATH:$HADOOP_HOME/sbin

     export PATH=$PATH:$HADOOP_HOME/bin 

     (以下两行最好加上,若没有启动Hadoop、hbase时都会有没加载lib成功的警告)    

     export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
     export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"

  (2)配置hadoop-env.sh、yarn-env.sh,在Hadoop安装目录下

     编辑  vim etc/hadoop/hadoop-env.sh

      加入export JAVA_HOME=/opt/java_environment/jdk1.7.0_80(jdk安装路径)

     编辑  vim etc/hadoop/yarn-env.sh

      加入export JAVA_HOME=/opt/java_environment/jdk1.7.0_80(jdk安装路径)

     保存退出

6、配置基本相关xml,core-site.xml、hdfs-site.xml、mapred-site.xml、mapred-site.xml

  创建相关目录

    cd /opt/hadoop-2.7.5

    mkdir tmp dfs dfs/data dfs/name

  (1)配置core-site.xml,在Hadoop安装目录下 编辑  vim etc/hadoop/core-site.xml

    

<configuration>
<property>
<name>fs.defaultFS</name> <!--NameNode 的URI-->
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name> <!--hadoop临时文件的存放目录-->
<value>/opt/hbase/hadoop-2.7./tmp</value>
</property>
  <property> <!--权限控制开关、需要权限控制开启-->
    <name>hadoop.security.authorization</name> 
      <value>flase</value> 
  </property>
<property>
<name>io.file.buffer.size</name>
<value></value>
</property>
</configuration>

  (2)配置hdfs-site.xml,在Hadoop安装目录下 编辑  vim etc/hadoop/hdfs-site.xml

    

<configuration>
<property> <!--namenode持久存储名字空间及事务日志的本地文件系统路径-->
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/dfs/name</value>
</property>
<property> <!--DataNode存放块数据的本地文件系统路径-->
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/dfs/data</value>
</property>
<property> <!--数据需要备份的数量,不能大于集群的机器数量(即datanode的数量),默认为3,我们有2个datanode,所以副本数设置为1-->
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:</value>
</property>
<property> <!--设置为true,可以在浏览器中IP+port查看-->
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

(3)配置mapred-site.xml,在Hadoop安装目录下 编辑  vim etc/hadoop/mapred-site.xml

<configuration>
<property> <!--mapreduce运用了yarn框架,设置name为yarn-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property> <!--历史服务器,查看Mapreduce作业记录-->
<name>mapreduce.jobhistory.address</name>
<value>master:</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:</value>
</property>
</configuration>

(4)配置yarn-site.xml,在Hadoop安装目录下 编辑  vim etc/hadoop/yarn-site.xml

  

<configuration>
<property> <!--NodeManager上运行的附属服务,用于运行mapreduce-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property> <!--ResourceManager 对客户端暴露的地址-->
<name>yarn.resourcemanager.address</name>
<value>master:</value>
</property>
<property> <!--ResourceManager 对ApplicationMaster暴露的地址-->
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:</value>
</property>
<property> <!--ResourceManager 对NodeManager暴露的地址-->
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:</value>
</property>
<property> <!--ResourceManager 对管理员暴露的地址-->
<name>yarn.resourcemanager.admin.address</name>
<value>master:</value>
</property>
<property> <!--ResourceManager 对外web暴露的地址,可在浏览器查看-->
<name>yarn.resourcemanager.webapp.address</name>
<value>master:</value>
</property>
<property> <!-- 至少1024-->
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1024</value>
</property>
</configuration>

7、配置slaves文件

  在Hadoop安装目录下,编辑vim etc/hadoop/slaves,

  去除默认的localhost,

加入

slave1

slave2

保存退出。

8、通过远程复制命令scp,将配置好的Hadoop复制到各个节点对应位置

  同步hadoop、jdk和env.sh到slave1和slave2

rsync -avPz /opt/hadoop-2.7.5 slave1:/opt/

rsync -avPz /opt/hadoop-2.7.5 slave2:/opt/

rsync -avPz /opt/jdk1.7.0_80 slave1:/opt/

     rsync -avPz /opt/jdk1.7.0_80 slave2:/opt/

rsync -avPz /etc/profile.d/env.sh slave1:/etc/profile.d/

rsync -avPz /etc/profile.d/env.sh slave2:/etc/profile.d/

slave1和slave2 执行 . /etc/profile

env.sh内容(env.sh里包含了JAVA_HOME HADOOP_HOME)  

export JAVA_HOME=/opt/jdk1..0_80
export JAVA_BIN=/opt/jdk1..0_80/bin
export JRE_HOME=/opt/jdk1..0_80/jre
export CLASSPATH=/opt/jdk1..0_80/jre/lib:/opt/jdk1..0_80/lib:/opt/jdk1..0_80/jre/lib/charsets.jar export HADOOP_HOME=/opt/hadoop-2.7.
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
export PATH=$PATH:/opt/jdk1..0_80/bin:/opt/jdk1..0_80/jre/bin:$HADOOP_HOME/sbin

9、Hadoop的启动与停止

  (1)在Master服务器启动hadoop,从节点会自动启动,进入Hadoop目录下,

      输入命令,bin/hdfs namenode -format进行hdfs格式化

      输入命令,sbin/start-all.sh,进行启动

      也可以分开启动,sbin/start-dfs.sh、sbin/start-yarn.sh

      在master 上输入命令:jps, 看到ResourceManager、

      NameNode、SecondaryNameNode进程

         在slave 上输入命令:jps, 看到DataNode、NodeManager进程

      出现这5个进程就表示Hadoop启动成功。

sbin/start-dfs.sh启动 NameNode SecondaryNameNode DataNode

sbin/start-yarn.sh 启动 ResourceManager NodeManager

  (2)接下来配置本地hosts,编辑 C:\Windows\System32\drivers\etc的hosts文件,加入

      192.168.172.71   master

      192.168.172.72   slave1

      192.168.172.73   slave2

     在浏览器中输入http://master:50070查看master状态,

     输入http://master:8088查看集群状态

  (3)停止hadoop,进入Hadoop目录下,输入命令:sbin/stop-all.sh,

      即可停止master和slave的Hadoop进程

10、测试hadoop

以下操作在master上实现
cd /usr/local/hadoop
建立测试目录 bin/hdfs dfs -mkdir /
如果提示 copyFromLocal: Cannot create directory //. Name node is in safe mode.
这是因为开启了安全模式,解决办法
bin/hdfs dfsadmin -safemode leave
将当前目录下的LICENSE.txt复制到hadopp中
bin/hdfs dfs -copyFromLocal ./LICENSE.txt /
查看//下有哪些文件 bin/hdfs dfs -ls /
用wordcount分析LICENSE.txt bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7..jar wordcount //LICENSE.txt /output/
bin/hdfs dfs -ls /output/ 查看分析后的文件
bin/hdfs dfs -cat /output//part-r- 查看分析结果

Hbase安装部署基本步骤:

  1、在Hadoop配置的基础上,配置环境变量HBASE_HOME、hbase-env.sh

    编辑 vim /etc/profile  加入

      export  HBASE_HOME=/opt/hbase-1.2.6

         export  PATH=$HBASE_HOME/bin:$PATH

    编辑vim /opt/hbase-1.2.6/conf/hbase-env.sh  加入

      export JAVA_HOME=/opt/java_environment/jdk1.7.0_80(jdk安装路径)

    去掉注释 # export  HBASE_MANAGES_ZK=true,使用hbase自带zookeeper。

   2、配置hbase-site.xml文件 

<configuration>

    <property>
<name>hbase.rootdir</name> <!-- hbase存放数据目录 -->
<value>hdfs://master:9000/opt/hbase-1.2.6/hbase_db</value> <!-- 端口要和Hadoop的fs.defaultFS端口一致-->
</property>
<property>
<name>hbase.cluster.distributed</name> <!-- 是否分布式部署 -->
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name> <!-- list of zookooper -->
<value>master,slave1,slave2</value>
</property>     <property><!--zookooper配置、日志等的存储位置 -->
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/hbase-1.2./zookeeper</value>
</property> </configuration>

  3、配置regionservers

    编辑 vim /opt/hbase-1.2.6/conf/regionservers   去掉默认的localhost,
     加入slave1、slave2,保存退出 

     然后把在master上配置好的hbase,通过远程复制命令

    rsync -avPz /etc/profile.d/env.sh slave1:/etc/profile.d/

    rsync -avPz /etc/profile.d/env.sh slave2:/etc/profile.d/

    env.sh内容

export JAVA_HOME=/opt/jdk1..0_80
export JAVA_BIN=/opt/jdk1..0_80/bin
export JRE_HOME=/opt/jdk1..0_80/jre
export CLASSPATH=/opt/jdk1..0_80/jre/lib:/opt/jdk1..0_80/lib:/opt/jdk1..0_80/jre/lib/charsets.jar export HADOOP_HOME=/opt/hadoop-2.7.
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native" export HBASE_HOME=/opt/hbase-1.2. export PATH=$PATH:/opt/jdk1..0_80/bin:/opt/jdk1..0_80/jre/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin

      rsync -avPz  /opt/hbase-1.2.6  slave1:/opt/

    rsync -avPz  /opt/hbase-1.2.6  slave1:/opt/

    3台都执行 . /etc/profile

     复制到slave1、slave2对应的位置

  4、启动与停止Hbase

     (1)在Hadoop已经启动成功的基础上,输入start-hbase.sh,过几秒钟便启动完成,

      输入jps命令查看进程是否启动成功,若 master上出现HMaster、HQuormPeer,

      slave上出现HRegionServer、HQuorumPeer,就是启动成功了。

      (2)输入hbase shell 命令 进入hbase命令模式

          输入status命令可以看到如下内容,1个master,2 servers,3机器全部成功启动。

          1 active master, 0 backup masters, 2 servers, 0 dead, 2.0000 average load

    (3)接下来配置本地hosts,(前边配置过的无需再配置了)

       编辑 C:\Windows\System32\drivers\etc的hosts文件,加入

        192.168.172.71   master

        192.168.172.72   slave1

        192.168.172.73   slave2

      在浏览器中输入http://master:16010就可以在界面上看到hbase的配置了

    (4)当要停止hbase时输入stop-hbase.sh,过几秒后hbase就会被停止了。

Spark2.1.2完全分布式环境搭建

  以下操作都在Master节点进行。

  1)下载二进制包spark-2.1.2-bin-hadoop2.7.tgz

  2)解压并移动到相应目录,命令如下:

  tar -zxvf spark-2.1.2-bin-hadoop2.7.tgz

  mv spark-2.1.2-bin-hadoop2.7 /opt

  3)修改相应的配置文件。

  修改/etc/profie,增加如下内容:

export SPARK_HOME=/opt/spark-2.1.2-bin-hadoop2.7/
export PATH=$PATH:$SPARK_HOME/bin

  

  复制spark-env.sh.template成spark-env.sh

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

  修改$SPARK_HOME/conf/spark-env.sh,添加如下内容:

export JAVA_HOME=/opt/jdk1.7.0_80
export SCALA_HOME=/usr/share/scala
export HADOOP_HOME=/opt/hadoop-2.7.5
export HADOOP_CONF_DIR=/opt/hadoop-2.7.5/etc/hadoop
export SPARK_MASTER_IP=master
export SPARK_MASTER_HOST=master
export SPARK_LOCAL_IP=master
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=2
export SPARK_HOME=/opt/spark-2.1.2-bin-hadoop2.7
export SPARK_DIST_CLASSPATH=$(/opt/hadoop-2.7.5/bin/hadoop classpath)

  复制slaves.template成slaves

  cp slaves.template slaves

  修改$SPARK_HOME/conf/slaves,添加如下内容:

master
slave1
slave2

  4)将配置好的spark文件复制到Slave1和Slave2节点。

  rsync -avPz /opt/spark-2.1.2-bin-hadoop2.7 root@slave1:/opt

rsync -avPz  /opt/spark-2.1.2-bin-hadoop2.7 root@slave2:/opt

  5)修改Slave1和Slave2配置。

  在Slave1和Slave2上分别修改/etc/profile.d/env.sh,增加Spark的配置,过程同Master一样。

  # rsync -avPz /etc/profile.d/env.sh slave1:/etc/profile.d/

  # rsync -avPz /etc/profile.d/env.sh slave2:/etc/profile.d/  3台都执行 . /etc/profile

env.sh内容

export JAVA_HOME=/opt/jdk1..0_80
export JAVA_BIN=/opt/jdk1..0_80/bin
export JRE_HOME=/opt/jdk1..0_80/jre
export CLASSPATH=/opt/jdk1..0_80/jre/lib:/opt/jdk1..0_80/lib:/opt/jdk1..0_80/jre/lib/charsets.jar export HADOOP_HOME=/opt/hadoop-2.7.
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native" export HBASE_HOME=/opt/hbase-1.2. export SPARK_HOME=/opt/spark-2.1.-bin-hadoop2./ export PATH=$PATH:/opt/jdk1..0_80/bin:/opt/jdk1..0_80/jre/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$SPARK_HOME/bin

  在Slave1和Slave2修改$SPARK_HOME/conf/spark-env.sh,将export SPARK_LOCAL_IP=master改成slave1和slave2对应节点的IP。

  6)在Master节点启动集群。

  /opt/spark-2.1.2-bin-hadoop2.7/sbin/start-all.sh

  7)查看集群是否启动成功:

  jps

  Master在Hadoop的基础上新增了:

  Master

  

  Slave在Hadoop的基础上新增了:

  Worker

  访问: master:8080

Hadoop2.7.3+Hbase-1.2.6+spark2.1.2完全分布式安装部署的更多相关文章

  1. Hbase分布式安装部署过程

    系统 Red hat linux 6.4 Hadoop版本 1.2.1 Hbase版本 0.94.16 Hbase的完全分布式安装概述: 1. 配置hosts,确保涉及的主机名均可解析为ip 2. 编 ...

  2. 史上最完整Hadoop2.x完全分布式安装部署-小白也能学会

    一.环境要求: 1.        虚拟机安装并设置网络: 2.        修改主机地址映射: 3.        必备软件:Jdk.Development Tools   Development ...

  3. Hadoop2.7.3+Hbase-1.2.6完全分布式安装部署

    因为学习,在网上找了很多hbase搭建的文章,感觉这篇很好,点此 搭建好后,jps查看了后台进程,发现在slave上面没有HRegionServer进程 便查看了 slave上关于HRegionSer ...

  4. hbase学习(二)hbase单机和高可用完全分布式安装部署

    hbase版本 2.0.4  与hadoop兼容表http://hbase.apache.org/book.html#hadoop  我的 hadoop版本是3.1   1.单机版hbase 1.1解 ...

  5. hadoop2 Ubuntu 下安装部署

    搭建Hadoop环境( 我以hadoop 2.7.3 为例, 系统为 64bit Ubuntu14.04 ) hadoop 2.7.3 官网下载 , 选择自己要安装的版本.注意每个版本对应两个下载选项 ...

  6. hadoop2.2.0 + hbase 0.94 + hive 0.12 配置记录

    一开始用hadoop2.2.0 + hbase 0.96 + hive 0.12 ,基本全部都配好了.只有在hive中查询hbase的表出错.以直报如下错误: java.io.IOException: ...

  7. Hadoop2.7.3+Spark2.1.0完全分布式集群搭建过程

    1.选取三台服务器(CentOS系统64位) 114.55.246.88 主节点 114.55.246.77 从节点 114.55.246.93 从节点 之后的操作如果是用普通用户操作的话也必须知道r ...

  8. CentOS下SparkR安装部署:hadoop2.7.3+spark2.0.0+scale2.11.8+hive2.1.0

    注:之前本人写了一篇SparkR的安装部署文章:SparkR安装部署及数据分析实例,当时SparkR项目还没正式入主Spark,需要自己下载SparkR安装包,但现在spark已经支持R接口,so更新 ...

  9. Hadoop2.7.3+Spark2.1.0 完全分布式环境 搭建全过程

    一.修改hosts文件 在主节点,就是第一台主机的命令行下; vim /etc/hosts 我的是三台云主机: 在原文件的基础上加上; ip1 master worker0 namenode ip2 ...

随机推荐

  1. LOJ 6436 「PKUSC2018」神仙的游戏——思路+卷积

    题目:https://loj.ac/problem/6436 看题解才会. 有长为 i 的 border ,就是有长为 n-i 的循环节. 考虑如果 x 位置上是 0 . y 位置上是 1 ,那么长度 ...

  2. WORM Worm worm 毛毛虫爬树爬树~

    对于动态规划,我也就不多说了.因为还不会, 每个题都不一样,但大致原则是一样的.抓住题意, 本题:n棵树,毛毛虫在m分钟内从p到t的路线种数,毛毛虫只可以向左右相邻位置走. 中心代码: for(i = ...

  3. vue将页面导出成pdf

    npm i jspdf-html2canvas prinOut(){ // 导出pdf let page = document.querySelector('.app-main'); // page ...

  4. 自动收集有效IP代理

    自动收集有效IP代理 #需要的外部依赖包requests和lxml#自动获取的代理ip数据保存为”IP代理池.txt“#read_ip函数用于提取”IP代理池.txt“的数据返回类型为列表from l ...

  5. 【SpringBoot】 理解SpringBoot的启动原理

    前言 前文已经介绍了Spring Bean的生命周期,那么使用过程中发现SpringBoot 的启动非常快捷,本文将介绍SpringBoot的内部启动原理. 启动过程 如上图所示,我们先分析下Spri ...

  6. Linux随笔 - Linux LVM逻辑卷配置过程详解[转载]

    许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据,甚至被迫重新规划分区并重装操作系统,以 ...

  7. mockito测试入门学习

    一.什么是mock测试,什么是mock对象? 先来看看下面这个示例: 从上图可以看出如果我们要对A进行测试,那么就要先把整个依赖树构建出来,也就是BCDE的实例. 一种替代方案就是使用mocks 从图 ...

  8. vue 项目配置sass

    1.运行npm install node-sass --save-dev npm install sass-loader --save-dev 2.打开build文件夹下面的webpack.base. ...

  9. Html5 学习笔记 【PC固定布局】 实战5 咨询页面 侧栏

    最终效果图: 提出公共页脚和导航部分: 新建infomatino.html (旅游咨询)页面 <!DOCTYPE html> <html lang="zh-cn" ...

  10. 【记录】linux常用命令二

    编辑文本时候删除文本数据 dd:删除游标所在的一整行(常用) ndd:n为数字.删除光标所在的向下n行,例如20dd则是删除光标所在的向下20行 d1G:删除光标所在到第一行的所有数据 dG:删除光标 ...