搭建之前, 先根据HDFS三种模式一文将集群的初始环境配置好.
将上传的Hadoop压缩包解压
这里我将文件解压到/opt/software/hadoop文件夹下.
tar -zxf hadoop-2.6.5.tar.gz -C /opt/software/hadoop
进入配置文件修改目录
cd /opt/software/hadoop/hadoop-2.6.5/etc/hadoop/
修改hdfs-site.xml配置
vim hdfs-site.xml
编辑文件, 在configuration标签对中插入:
dfs.replication
1
dfs.namenode.secondary.http-address
node01:50090
其中dfs.replication配置的是block块的副本数, 这里伪分布式设值为1, 即没有副本, 只有本身;
dfs.namenode.secondary.http-address配置的是SecondaryNameNode节点的地址和端口, 伪分布式都放在同一台服务器上.
vim core-site.xml
编辑文件, 在configuration标签对中插入
fs.defaultFS
hdfs://node01:9000
hadoop.tmp.dir
/var/abc/hadoop/cluster
其中fs.defaultFS配置的是hdfs文件目录的前缀, 这里配置好后, 在输入操作hdfs目录的命令时, 就可以直接从’ / ’ 处开始输入路径.
hadoop.tmp.dir配置的是hdfs生成文件的存放目录, 包括元数据信息以及blockId.
vim slaves
编辑slaves, 在文件中写入:
node01
slaves中配置的是从节点(DataNode)信息, 对于伪分布式来说, 只需加入自身即可.
此步可先跳过, 该文件可以不修改. 当启动hdfs出现" JAVA_HOME cannot find or set" 类似的说明java_home没有配置的提示时, 可再手动配置(前提是执行java -version成功在显示器打印java版本).
vim hadoop-evn.sh
编辑文件, 找到export JAVA_HOME=${JAVA_HOME}那一行
将 = 后的内容改为JAVA_HOME的确切路径, 可使用 echo $JAVA_HOME查看
export JAVA_HOME=/usr/local/jdk1.8.0_181
此处配置好后, 可以在任意位置使用hdfs的指令.
vim ~/.bashrc
在文件最后插入
export PATH=$PATH:/opt/software/hadoop/hadoop-2.6.5/bin:/opt/software/hadoop/hadoop-2.6.5/sbin
hdfs namenode -format
创建core-site中配置的目录及文件
start-dfs.sh
jps
创建目录 hdfs dfs -mkdir -p /abc/cba
上传文件 hdfs dfs -D dfs.blocksize=1048576 -put text.txt
...
stop-dfs.sh
或
killall java
HDFS的进程都是基于JVM的, 因此杀死所有java进程也会把hdfs的进程给关闭.