阿里云搭建单机Hadoop之HDFS

配置Java环境

JDK安装

# tar -zxvf xxxx.tar.gc -C ~/app
# 环境变量
# vim ~/.bash_profile

编辑内容

 export JAVA_HOME=/home/hadoop/app/jdk路径
 export PATH=$JAVA_HOME/bin:$PATH

**使其生效

# source ~/.bash_profile
# java -version

SSH 安装

centos环境:

# sudo yum install ssh

配置免密登录:方便DN NN

# ssh-****** -t rsa

查看隐藏文件 : ls -la(-a 标识全显示,包括隐藏)
将生成的文件进行复制

# cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

Hadoop安装

这里提供下载地址,和官方说明文档,一些配置可以直接进行cp,这里使用的是cdh版的,后续文章会讲解hadoop各个版本的介绍和选择。
http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html
http://archive.cloudera.com/cdh5/cdh/5/ - hadoop-2.6.0-cdh5.7.0
http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz

下载好之后进行解压:

# tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz

解压后 查看是否成功 :

# ./bin/hadoop version

配置环境变量(就是方便)

# vim ~/.bash_profile
//编辑文件内容为:
  export HADOOP_HOME=/usr/local/Hadoop/hadoop-2.6.0-cdh5.7.0
  export PATH=$HADOOP_HOME/bin:$PATH
//生效环境:
# source ~/.bash_profile
//验证 :
# echo $HADOOP_HOME

配置文件:

注意这里localhost好像有问题,我实际用的阿里云环境,使用的是hostname,如何设置查看百度

位置 : hadoop_home/etc/hadoop
在hadoop-env.sh配置JAVA_HOME

core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/app/tmp</value>
    </property>
</configuration>

设置临时目录,如果不设置的话,最开始数据存储在临时目录,机器重启可能就消失

hdfs-site.xml:(副本系数为1,单节点)

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

slave DN 写在这里面,这里就写hostname

启动HDFS

格式化文件系统 (仅第一次执行,不要重复执行) :

# bin/hdfs namenode -format

启动

# sbin/start-dfs.sh

jps查看
阿里云搭建单机Hadoop之HDFS

查看日志:
阿里云搭建单机Hadoop之HDFS
通过浏览器:
ip:50070
阿里云搭建单机Hadoop之HDFS

问题点:

1 - core-site.xml:配置文件只有一个标签

2 - ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /home/hadoop/app/tmp/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible : 提示某个文件不存在,进入对应目录进行创建即可

3 - ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
java.io.IOException: NameNode is not formatted : 重新进行格式化 bin/hdfs namenode -format

(遇到问题去查看对应日志文件,查找问题点)

停止:

# sbin/stop -dfs.sh

后续会更新如何操作HDFS, Hadoop简介,如果有什么我问题,进行留言,我进行改进