阿里云搭建单机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查看
查看日志:
通过浏览器:
ip:50070
问题点:
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简介,如果有什么我问题,进行留言,我进行改进