Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System),简称 HDFS。HDFS 有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。 Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
—百度百科
Hadoop HDFS 的起源来自 Google 于 2003 年 10 月发布的一篇 GFS 的论文。
Hadoop MapReduce 的起源来自 Google 于2004 年 12 月发布的一篇 MapReduce 的论文。
因为 Google 当时只是发布了论文,并没有开源,于是就出现了 Hadoop 的 HDFS 和 MapReduce,两者都 是根据 Google 发布的论文制作的克隆版,是免费的,开源的。
本次使用的环境是 :
Ubuntu 14.04 LTS
VirtualBox 5.1.30
hadoop 2.7.1
JDK 1.8
及以上均可上述环境均是从所在官网下载。
本次搭建的是 Hadoop 伪分布式环境,即所有本机模拟运行所有节点。
为了操作方便,这里直接切换到 root
权限进行操作。
先设置 root
用户的密码:
1 | sudo passwd |
---|
然后输入一遍当前用户密码,再输入两次 root
用户要设置的密码。
设置完后,切换到 root
用户。
1 | su root |
---|
然后输入 root
账号的密码即可成功切换。
到 Java 官网下载 JDK 的 1.8 以上的版本, 下载地址
我下载的文件名为 jdk-8u151-linux-x64.tar.gz
,然后解压:
12 | cd ~ #切换到 /root 目录下。tar -zxvf jdk-8u151-linux-x64.tar.gz |
---|
编辑 /etc/profile
,在最下面添加以下内容:
12 | export JAVA_HOME=/root/jdk1.8.0_151export PATH=$PATH:$JAVA_HOME/bin |
---|
修改完后,使用 source ~/.bash_profile
命令使环境变量生效。
JAVA_HOME 为 JDK 的解压后所在的全路径。
执行 apt-get install openssh-service
来安装 SSH服务。
(如遇到错误,则执行 apt-get install openssh-client=1.6.6p1-2ubuntu1
)。
1 | /etc/init.d/ssh start |
---|
~/
目录下生成一个 .ssh
的文件夹。进入后配置免登陆
1cp id_rsa.pub authorized_keys 然后使用 ssh localhost 命令即可测试是否配置成功。首次登录会提示是否确认接收链接,确认即可。之后再登录就可以免密直接登录了。
去 Hadoop官网 下载相应版本或点击下方我提供的链接。
12 | cd ~tar -zxvf hadoop-2.7.1.tar.gz |
---|
在 /etc/profile
文件的末尾加入以下内容:
12 | export HADOOP_HOME=/root/hadoop-2.7.1export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin |
---|
在 HADOOP_HOME
下的 etc/hadoop/
目录中(全路径:/root/hadoop-2.7.1/etc/hadoop/
)。
12345678910 | <!--默认文件系统地址--><property> <name>fs.defaultFS</name> <value>hdfs://localhost:8020</value></property><!--文件存放地址--><property> <name>hadoop.tmp.dir</name> <value>/root/tmp</value></property> |
---|
1234 | <property> <name>dfs.replication</name> <value>1</value></property> |
---|
Hadoop_HOME/bin
下):
1./hdfs namenode -format Hadoop_HOME/sbin
下)
1./start-dfs.sh jps
命令验证是否启动成功,如果显示以下进程则说明启动成功,如果发现少了进程,则说明配置文件出了问题,根据启动日志检查下即可。
1 2 3 413888 DataNode 14072 SecondaryNameNode 13803 NameNode 14299 Jps http://[IP/localhost]:50070/
可查看网页版信息
脚本路径在 HADOOP_HOME/sbin
下:
1 | ./stop-dfs.sh |
---|