部署hadoop集群(伪分布式)
前提条件
需要一台机器node1配置有以下条件
安装hadoop
1.上传hadoop安装包
2.解压hadoop安装包
#hadoop-2.6.5.tar.gz到/opt目录
tar -zxf hadoop-2.6.5.tar.gz -C /opt
3.配置全局环境变量
vi /etc/profile
添加两行记录:
export HADOOP_PREFIX=/opt/hadoop-2.6.5
export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
执行. /etc/profile
让配置生效
. /etc/profile
修改配置文件
1.配置hadoop使用的JDK
修改/opt/hadoop-2.6.5/etc/hadoop/hadoop-env.sh
vi /opt/hadoop-2.6.5/etc/hadoop/hadoop-env.sh
####
#添加
####
export JAVA_HOME=/usr/java/jdk1.8.0_172-amd64
2.NameNode的slaves
vi /opt/hadoop-2.6.5/etc/hadoop/slaves
####
#添加
####
node1
3.配置core-site.xml
<!-- namenode和其他组件的通信使用hdfs协议
node1表示namenode在node1主机上
9000 namenode的服务通过端口9000发布
namenode进程在node1主机上
-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<!--
1、指定namenode在哪个目录存储元数据持久化文件信息
2、指定datanode在哪个目录存储block数据文件
3、指定secondarynamenode在哪个目录存储fsimage和edits log信息
实际上在该目录下分了三个目录存储上面说的三个组件的数据
-->
<property>
<name>hadoop.tmp.dir</name>
<value>/var/hadoop</value>
</property>
4.配置hdfs-site.xml
<!-- 指定block默认的副本数 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 指定secondarynamenode的http服务的地址
实际上也就指定了secondarynamenode进程所在的主机
-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node1:50090</value>
</property>
初始化HDFS
hdfs namenode -format
启动HDFS
start-dfs.sh
测试
在windows访问namenode节点信息的地址
http://node1:50070
hadoop fs -mkdir hdfs://node1:9000/zzz
停止HDFS
stop-dfs.sh