最近学了一下大数据,包括hadoop环境的搭建,搭建工具:centos6.5,hadoop2.6.4,eclipse Mars.1 Release (4.5.1),jdk1.8

第一步、网络与ip地址的设置,安装virtualbox此处省略,接下来就是安装centos6.5,具体参照这篇博客http://www.2cto.com/os/201407/318477.html,安装好之后会重启,点击输入密码进入root用户,我将root用户的密码设置为123456,比较简单,接下来要在VirtualBox界面设置虚拟机的网络连接方式,如下图:

             

为了确保每个虚拟机都可以使用主机的网络,还要另外设置一块网卡为NAT模式(前提必须是虚拟机是关机状态的),如下图:

             

            

设置好之外还需要设置全局连接方式:VirtualBox主界面 管理->全局设定->网络->把第一个NatWork打钩,然后再设置仅Host-Only联网方式双击VirtualBox Host-Only Ethernet Adapter ,设置成如下图:

                        

DHCP的设置,不启用DHCP服务器,开启虚拟机进入root用户设置ip地址,

[root@localhost ~]# vi  /etc/sysconfig/network-scripts/ifcfg-eth0

修改成如下图所示:

                 

NETMASK:

子网掩码  用来标识这个IP地址的网段,IP地址间能不能通信主要看属不属于同一网段,用子网掩码来区分网段,子网掩码为1的部分对应IP地址不可变,为0的部分可变,不可变的为网络位,可变的为主机位

IPADDR:

ip地址必须和GATEWAY在同一网关字段,

GATEWAY:

默认网关 ,就是上一张图片里的ip 192.168.18.1地址,这里是使用了一个虚拟的网卡VirtualBox Host-Only Ethernet Adapter来实现网关

将NM_CONTROLLED=yes改为no这条指令,不改报错了,改了之后,使用命令service network restart,如果没报错,再使用ifconfig出现如下所示界面,则证明修改成功:

              ·        

接下来可以在主机中ping 192.168.18.110,如果ping通则证明主机与虚拟机连通了, 接着可以使用第三方软件在windows环境下连接虚拟机如Xshell,或者SecureCRT.exe之类的软件在windows下操作虚拟机,其他两台虚拟机操作同上,或者利用Virtualbox的虚拟机复制功能,复制两台一样的虚拟机,只需要修改一下ip地址和mac硬件地址,我采用的是重复第一台的操作,继续搭建了第二和第三台虚拟机,

二、hadoop集群安装

将192.168.18.110设置为主节点,其他两个节点的ip分别设置为192.168.18.111,192.168.112

1.配置hosts

接下来就是添加主机IP与主机名的映射关系

[root@localhost ~]# vi /etc/hosts

前两行注释掉:

#127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

#添加映射关系:

192.168.18.110   master

192.168.18.111   slaver1

192.168.18.112   slaver2

保存之后,将主节点的hosts分别拷贝到其他两个子节点,在主节点上执行

[root@localhost ~]# scp /etc/hosts root@192.168.18.111:/etc/

[root@localhost ~]# scp /etc/hosts root@192.168.18.112:/etc/

[root@localhost ~]# source /etc/profile         在192.168.18.110上执行

[root@localhost ~]# source /etc/profile         在192.168.18.111上执行

[root@localhost ~]# source /etc/profile         在192.168.18.112上执行

    

2. 配置ssh无密码访问

生成公钥密钥对

在每个节点上分别执行:

[root@master ~]# ssh-keygen -t rsa

[root@slaver1 ~]# ssh-keygen -t rsa

[root@slaver2 ~]# ssh-keygen -t rsa

一直按回车直到生成结束

执行结束之后每个节点上的/root/.ssh/目录下生成了两个文件 id_rsa 和 id_rsa.pub

其中前者为私钥,后者为公钥

在主节点上执行:

[root@master ~]# cd /root/.ssh/

[root@master .ssh]# cp id_rsa.pub authorized_keys

将子节点的公钥拷贝到主节点并添加进authorized_keys

将两个子节点的公钥拷贝到主节点上,分别在两个子节点上执行:

[root@slaver1 ~]# scp /root/.ssh/id_rsa.pub root@master:/root/.ssh/id_rsa_slaver1.pub

[root@slaver2 ~]# scp /root/.ssh/id_rsa.pub root@master:/root/.ssh/id_rsa_slaver2.pub

然后在主节点上,将拷贝过来的两个公钥合并到authorized_keys文件中去

主节点上执行:

[root@master ~]# cd /root/.ssh/

[root@master .ssh]# cat id_rsa_slaver1.pub>>authorized_keys

[root@master .ssh]# cat id_rsa_slaver2.pub>>authorized_keys

cat id_rsa_slaver1.pub>>authorized_keys

将主节点的authorized_keys文件分别替换子节点的authorized_keys文件

主节点上执行用scp命令将authorized_keys文件拷贝到子节点的相应位置

[root@master ~]# cd /root/.ssh

[root@master .ssh]# scp authorized_keys root@slaver1:/root/.ssh/

[root@master .ssh]# scp authorized_keys root@slaver2:/root/.ssh/

最后测试是否配置成功

在主节点上分别执行

[root@master ~]# ssh slaver1

[root@master ~]# ssh slaver2

能正确跳转到两台子节点的操作界面即可,同样在每个子节点通过相同的方式登录主节点和其他子节点也能无密码正常登录就表示配置成功。

这里的配置方式可以有多种操作步骤,最终目的是每个节点上的/root/.ssh/authorized_keys文件中都包含所有的节点生成的公钥内容。

上面配置SSH切换服务器较繁琐,稍不小心就会出错,可以用下面的

 

安装ssh 证书

[root@master ~]$ ssh-keygen -t rsa

[root@slaver1 ~]$ ssh-keygen -t rsa

[root@slaver2 ~]$ ssh-keygen -t rsa

[root@master ~]$ ssh-copy-id -i /root/.ssh/id_rsa.pub master

[root@master ~]$ ssh-copy-id -i /root/.ssh/id_rsa.pub slaver1

[root@master ~]$ ssh-copy-id -i /root/.ssh/id_rsa.pub slaver2

[root@slaver1 ~]$ ssh-copy-id -i /root/.ssh/id_rsa.pub master

[root@slaver1 ~]$ ssh-copy-id -i /root/.ssh/id_rsa.pub slaver1

[root@slaver1 ~]$ ssh-copy-id -i /root/.ssh/id_rsa.pub slaver2

[root@slaver2 ~]$ ssh-copy-id -i /root/.ssh/id_rsa.pub master

[root@slaver2 ~]$ ssh-copy-id -i /root/.ssh/id_rsa.pub slaver1

[root@slaver2 ~]$ ssh-copy-id -i /root/.ssh/id_rsa.pub slaver2

3. 安装jdk

卸载jdk(三台机器上都要卸载)

查看系统已经装的jdk:

[root@master ~]# rpm -qa|grep jdk

java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

卸载jdk:

[root@master ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

[root@master ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

其他两个节点操作上边相同动作

安装JDK(三台机器都要安装)

安装在同一位置/opt/java/jdk1.7.0_76

下载JDK。这里如何将jdk从windows发送至虚拟机,使用的是FileZillaClient进行连接如下图,将文件发送到/opt/java/目录下(注java是在/opt目录下新建的):

          

解压JDK :

[root@master ~]# mkdir -p /opt/java/

[root@master ~]# tar -zxvf /opt/java/jdk-7u76-linux-x64.tar.gz -C /opt/java/

其他两个节点操作上边相同动作

配置环境变量, 编辑profile文件:

[root@master ~]# vi /etc/profile

在profile文件末尾添加以下代码:

export JAVA_HOME=/opt/java/jdk1.7.0_76

export JAVA_BIN=/opt/java/jdk1.7.0_76/bin

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH

拷贝profile到子节点

主节点上执行:

[root@master ~]# scp /etc/profile root@slaver1:/etc/

[root@master ~]# scp /etc/profile root@slaver2:/etc/

重启生效:

[root@master ~]# reboot

[root@slaver1 ~]# reboot

[root@slaver2 ~]# reboot

 

以下只在主节点上操作

4.安装hadoop

首先将hadoop-2.6.4.tar.gz放到三台机器的/usr目录下

在master主机上安装hadoop

安装位置自定,例如安装在/usr目录下面

下载hadoop包,放在/usr目录下,解压hadoop

[root@master ~]# tar -zxvf /usr/hadoop-2.6.4.tar.gz -C /usr/

在usr下面生成hadoop-2.6.4目录

配置环境变量:

[root@master ~]# vi .bash_profile

PATH=$PATH:$HOME/bin:/usr/hadoop-2.6.4/sbin

export PATH

export JAVA_HOME=/opt/java/jdk1.7.0_76

export JAVA_BIN=/opt/java/jdk1.7.0_76/bin

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH

HADOOP_HOME=/usr/hadoop-2.6.4

HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

PATH=$HADOOP_HOME/bin:$PATH

export HADOOP_HOME HADOOP_CONF_DIR PATH

[root@master ~]# source .bash_profile

5.配置hadoop

配置hadoop配置文件

需要配置的文件的位置为/hadoop-2.6.4/etc/hadoop,需要修改的有以下几个

hadoop-env.sh

yarn-env.sh

core-site.xml

hdfs-site.xml

mapred-site.xml

yarn-site.xml

slaves

其中

hadoop-env.sh和yarn-env.sh里面都要添加jdk的环境变量:

hadoop-env.sh中

[root@master ~]# cd /usr/hadoop-2.6.4/etc/hadoop

[root@master hadoop]# vi hadoop-env.sh

# The java implementation to use.

export JAVA_HOME=/opt/java/jdk1.7.0_76

(红色为新添加的内容,其他的代码是文件中原有的)

# The jsvc implementation to use. Jsvc is required to run secure datanodes

# that bind to privileged ports to provide authentication of data transfer

# protocol.  Jsvc is not required if SASL is configured for authentication of

# data transfer protocol using non-privileged ports.

#export JSVC_HOME=${JSVC_HOME}

yarn-env.sh中

[root@master ~]# cd /usr/hadoop-2.6.4/etc/hadoop

[root@master hadoop]# vi yarn-env.sh

# User for YARN daemons

export HADOOP_YARN_USER=${HADOOP_YARN_USER:-yarn}

# resolve links - $0 may be a softlink

export YARN_CONF_DIR="${YARN_CONF_DIR:-$HADOOP_YARN_HOME/conf}"

# some Java parameters

export JAVA_HOME=/opt/java/jdk1.7.0_76

(红色为新添加的内容,其他的代码是文件中原有的)

[root@master ~]# mkdir -p /usr/temp

[root@master ~]# mkdir -p /usr/hadoop-2.6.4/dfs/data

[root@master ~]# mkdir -p /usr/hadoop-2.6.4/dfs/namesecondary

[root@master ~]# mkdir -p /usr/hadoop-2.6.4/dfs/name

注:下边配置参数时蓝色汉字为注释,不能拷贝进配置文件中

core-site.xml中

[root@master ~]# cd /usr/hadoop-2.6.4/etc/hadoop

[root@master hadoop]# vi core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>      #相当于版本一的fs.default.name 默认端口号8020

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

<description>NameNode URI.</description>

</property>

<property>

<name>io.file.buffer.size</name>  #流的缓冲区为128K

<value>131072</value>

<description>Size of read/write buffer used inSequenceFiles.</description>

</property>

<property>

<name>hadoop.tmp.dir</name>  #HDFS与本地磁盘的临时文件路径,服务器多磁盘每个都配

<value>file:///usr/temp</value>

</property>

<property>

<name>hadoop.proxyuser.root.hosts</name>

#sqoop访问Hadoop的MapReduce使用的是代理的方式,必须在Hadoop中配置所接受的proxy(代理,委托)用户和组,找到Hadoop的core-site.xml配置文件

<value>*</value>

</property>

<property>

<name>hadoop.proxyuser.root.groups</name>

<value>*</value>

</property>

</configuration>

hdfs-site.xml中

[root@master ~]# cd /usr/hadoop-2.6.4/etc/hadoop

[root@master hadoop]# vi hdfs-site.xml

<configuration>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>master:9001</value>

#hadoop 在NameNode所在机器里运行SecondaryNameNode,http监听端口50090,在浏览器输入NameNode的地址和50090端口号,就可看到其信息

<description>The secondary namenode http server address andport.</description>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:///usr/hadoop-2.6.4/dfs/name</value>

#存放 naname table 和 dfs.namenode.edits.dir,存放edit(编辑校订)文件

<description>Path on the local filesystem where the NameNodestores the namespace and transactions logs persistently.</description>

</property>

<property>

<name>dfs.datanode.data.dir</name>         #数据块的存放位置

<value>file:///usr/hadoop-2.6.4/dfs/data</value>

<description>Comma separated list of paths on the local filesystemof a DataNode where it should store its blocks.</description>

</property>

<property>

<name>dfs.namenode.checkpoint.dir</name>   #检查点路径

<value>file:///usr/hadoop-2.6.4/dfs/namesecondary</value>

<description>Determines where on the local filesystem the DFSsecondary name node should store the temporary images to merge. If this is acomma-delimited list of directories then the image is replicated in all of thedirectories for redundancy.</description>

</property>

<property>

<name>dfs.replication</name>              #副本镜像数

<value>2</value>

</property>

<property>

<name>dfs.webhdfs.enabled</name>

#1.配置

namenode必须将dfs.webhdfs.enabled设置为true,否则不能使用webhdfs的LISTSTATUS、LISTFILESTATUS等需要列出文件、文件夹状态的命令,因为这些信息都是由namenode来保存的。

2.使用说明

hdfs使用50070端口,访问datanode的webhdfs使用50075端口,访问文件、文件夹信息使用namenode的IP和50070端口,访问文件内容或者进行打开、上传、修改、下载等操作使用datanode的IP和50075端口,要想不区分端口,直接使用namenode的IP和端口进行所有的webhdfs操作,就需要在所有的datanode上都设置hefs-site.xml中的dfs.webhdfs.enabled为true

<value>true</value>

</property>

<property>

<name>dfs.permissions</name>           #设置权限

<value>false</value>

</property>

<property>

<name>dfs.web.ugi</name>              #Web接口访问的用户名和组的帐户设定

<value>supergroup</value>

</property>

</configuration>

[root@master ~]# cd /usr/hadoop-2.6.4/etc/hadoop

[root@master hadoop]# cp mapred-site.xml.template mapred-site.xml

[root@master hadoop]# vi mapred-site.xml

mapred-site.xml中

<configuration>

<property>

<name>mapreduce.framework.name</name>     #mapreduce框架名称

<value>yarn</value>

<description>Theruntime framework for executing MapReduce jobs. Can be one of local, classic oryarn.</description>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>master:10020</value>

<description>MapReduce JobHistoryServer IPC host:port</description>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>master:19888</value>

<description>MapReduce JobHistoryServer Web UI host:port</description>

</property>

<property>

<name>mapred.remote.os</name>

<value>Linux</value>

</property>

<property>

<name>mapreduce.app-submission.cross-platform</name>

<value>true</value>

</property>

<property>

<name>mapreduce.application.classpath</name>

<value>

/usr/hadoop-2.6.4/etc/hadoop,

/usr/hadoop-2.6.4/share/hadoop/common/*,

/usr/hadoop-2.6.4/share/hadoop/common/lib/*,

/usr/hadoop-2.6.4/share/hadoop/hdfs/*,

/usr/hadoop-2.6.4/share/hadoop/hdfs/lib/*,

/usr/hadoop-2.6.4/share/hadoop/mapreduce/*,

/usr/hadoop-2.6.4/share/hadoop/mapreduce/lib/*,

/usr/hadoop-2.6.4/share/hadoop/yarn/*,

/usr/hadoop-2.6.4/share/hadoop/yarn/lib/*

</value>

</property>

</configuration>

yarn-site.xml中

[root@master ~]# cd /usr/hadoop-2.6.4/etc/hadoop

[root@master hadoop]# vi yarn-site.xml

<configuration>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>master</value>

<description>The hostname of theRM.</description>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

<description>Shuffle service that needs to be set for Map Reduceapplications.</description>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>master:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>master:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>master:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>master:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>master:8088</value>

</property>

<property>

<name>yarn.application.classpath</name>

<value>

/usr/hadoop-2.6.4/etc/hadoop,

/usr/hadoop-2.6.4/share/hadoop/common/*,

/usr/hadoop-2.6.4/share/hadoop/common/lib/*,

/usr/hadoop-2.6.4/share/hadoop/hdfs/*,

/usr/hadoop-2.6.4/share/hadoop/hdfs/lib/*,

/usr/hadoop-2.6.4/share/hadoop/mapreduce/*,

/usr/hadoop-2.6.4/share/hadoop/mapreduce/lib/*,

/usr/hadoop-2.6.4/share/hadoop/yarn/*,

/usr/hadoop-2.6.4/share/hadoop/yarn/lib/*

</value>

</property>

</configuration>

slaves中

[root@master hadoop]# vi slaves

slaver1

slaver2

拷贝hadoop安装文件到子节点

主节点上执行:

[root@master hadoop]# scp -r /usr/hadoop-2.6.4/ root@slaver1:/usr/

[root@master hadoop]# scp -r /usr/hadoop-2.6.4/ root@slaver2:/usr/

格式化主节点的namenode

主节点上进入hadoop目录

然后执行:

[root@master ~]#

[root@master hadoop-2.6.4]# ./bin/hadoop namenode -format

新版本用下面的语句不用hadoop命令了cd /usr/hadoop-2.6.4

[root@master ~]# cd /usr/hadoop-2.6.4

[root@master hadoop-2.6.4]# ./bin/hdfs namenode -format

启动hadoop

主节点上在hadoop-2.6.4目录下执行:

[root@master ~]# cd /usr/hadoop-2.6.4

[root@master hadoop-2.6.4]#./sbin/start-all.sh

主节点上jps进程有:

[root@master hadoop-2.6.4]# jps

NameNode

SecondaryNameNode

ResourceManager

jps

每个子节点上的jps进程有:

[root@slaver1 hadoop-2.6.4]# jps

DataNode

NodeManager

Jps

[root@slaver1 hadoop-2.6.4]# jps

DataNode

NodeManager

jps

如果这样表示hadoop集群配置成功

注:xml文件中的注释必须去掉,否则会报错。

使用VirtualBox虚拟机搭建hadoop运行环境,的更多相关文章

  1. virtualbox 虚拟3台虚拟机搭建hadoop集群

    用了这么久的hadoop,只会使用streaming接口跑任务,各种调优还不熟练,自定义inputformat , outputformat, partitioner 还不会写,于是干脆从头开始,自己 ...

  2. Hadoop运行环境搭建

    Hadoop运行环境搭建 更改为阿里的Centos7的yum源 #下载wget yum -y install wget #echo 下载阿里云的yum源配置  Centos-7.repo wget - ...

  3. 使用VirtualBox虚拟机搭建局域网(续)

    最近家中Windows 10更新后抽风,最后不得不重装系统,原本配置好的开发环境全部要重装,也包括局域网搭建,但由于是家庭网络并非公司局域网,故旧文<使用VirtualBox虚拟机搭建局域网&g ...

  4. 使用VirtualBox虚拟机搭建局域网

    参考资料: http://www.awaimai.com/995.html https://my.oschina.net/cofecafe1/blog/206535 最近公司局域网网络改造,在改造前已 ...

  5. 用三台虚拟机搭建Hadoop全分布集群

    用三台虚拟机搭建Hadoop全分布集群 所有的软件都装在/home/software下 虚拟机系统:centos6.5 jdk版本:1.8.0_181 zookeeper版本:3.4.7 hadoop ...

  6. JDK+Tomcat搭建JSP运行环境--JSP基础

    一.搭建JSP运行环境之前需要了解的基本知识 配置JSP运行环境之前,我们需要了解JSP的运行机制.只有了解JSP运行机制后,我们才能知道为什么要搭建JSP运行环境?如何去搭建JSP运行环境?为什么要 ...

  7. Ubuntu&nbsp;12.04搭建hadoop单机版环境

    前言: 本文章是转载的,自己又加上了一些自己的笔记整理的 详细地址请查看Ubuntu 12.04搭建hadoop单机版环境 Hadoop的三种运行模式 独立模式:无需任何守护进程,所有程序都在单个JV ...

  8. 【Hadoop】:Windows下使用IDEA搭建Hadoop开发环境

    笔者鼓弄了两个星期,终于把所有有关hadoop的环境配置好了,一是虚拟机上的完全分布式集群,但是为了平时写代码的方便,则在windows上也配置了hadoop的伪分布式集群,同时在IDEA上就可以编写 ...

  9. 9款一键快速搭建PHP运行环境的好工具

    9款一键快速搭建PHP运行环境的好工具 胡倡萌 2011/02/19 网络资源 77,063 1     内容提要: 建立一个PHP网站,首先需要搭建PHP的开发和运行环境,对于PHP初学者也是一个难 ...

随机推荐

  1. c# timestamp转换datetime

    一.Codes class Program { static void Main(string[] args) { ); } public static DateTime UnixTimeStampT ...

  2. MSIL实用指南-返回结果

    一个方法体执行完指令后,必须要完成调用并返回,这是要使用Ret指令.Ret指令的详细解释是从当前方法返回,并将返回值(如果存在)从被调用方的计算堆栈推送到调用方的计算堆栈上.就是说如果计算堆栈上没有变 ...

  3. Github资源下载

    自己收集的一些日常使用软件.编程书籍以及自己动手实践的程序,欢迎下载. 收集维护不易,喜欢请Star或Fork支持呀,(^-^)V. 所有资源均自己制作或收集自网络,如有侵权请联系删除. 友情链接 G ...

  4. CAS及其ABA问题

    CAS.volatile是JUC包实现同步的基础.Synchronized下的偏向锁.轻量级锁的获取.释放,lock机制下锁的获取.释放,获取失败后线程的入队等操作都是CAS操作锁标志位.state. ...

  5. 上海学生事务中心&新华路派出所的位置

    上海学生事务中心: 地址:冠生园路401号    工作时间:9:00-17:00    电话:021-64829191 新华路派出所: 地址:新华路590弄21号    工作时间:周一至周六 9:00 ...

  6. 在React中使用Bootstrap

    这几天想在react中用一下bootstrap,尽管有一个适配react的很好的库叫react-bootstrap,但我还是想直接使用bootstrap 可以在react项目中执行以下命令安装boot ...

  7. mysql之innodb日志管理

    本文从两个方面进行阐述,常规的日志文件(不区分存储引擎),第二就是讲innodb存储引擎的事务日志. 一.基本日志文件 1.1.基本日志文件分类:错误日志(error log)慢查询日志日志(slow ...

  8. webstorm的live templates快速编辑功能,让你的css JS代码书写速度飞起来

    前言: Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来生成代码, 大大提高了HTML/CSS代码编写的速度,比如下面 ...

  9. SecureCRT安装及破解

    ### SecureCRT简介  > SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件. > &g ...

  10. AOE工程实践-NCNN组件

    作者:杨科 NCNN是腾讯开源的一个为手机端极致优化的高性能神经网络前向计算框架.在AOE开源工程里,我们提供了NCNN组件,下面我们以SqueezeNet物体识别这个Sample为例,来讲一讲NCN ...