1、搭建虚拟机4台,今天用一台(node1)
2、网络配置好,关闭iptables防火墙,关闭selinux
3、上传这两个包
start-dfs.shjdk1.7.0_80(jdk版本)
hadoop-2.6.5.tar.gz(hadoop版本)
4、安装jdk
rpm -ivh jdk-7u80-linux-x64.rpm
5、编辑vi /etc/profile(配置环境变量)
添加两行记录:
export JAVA_HOME=/usr/java/jdk1.7.0_80
export PATH=$PATH:$JAVA_HOME/bin
执行 . /etc/profile让配置生效
6、解压hadoop-2.6.5.tar.gz到/opt目录
tar -zxf hadoop-2.6.5.tar.gz -C /opt
7、向/etc/profile添加两行(配置环境变量)
export HADOOP_PREFIX=/opt/hadoop-2.6.5
export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
执行. /etc/profile让配置生效
8、配置秘钥登录
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub > ~/.ssh/authorized_keys
9、修改/opt/hadoop-2.6.5/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_80
10、修改/opt/hadoop-2.6.5/etc/hadoop/slaves(设置datanode进程所在的主机)
node1
11、配置core-site.xml
1、namenode和其他组件的通信使用hdfs协议
2、node1表示namenode在node1主机上
3、9000 namenode的服务通过端口9000发布
4、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/bjsxt/hadoop/pseudo</value>
</property>
12、配置hdfs-site.xml
指定block默认的副本数为1
<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>
13、格式化HDFS
hdfs namenode -format
14、启动HDFS
start-dfs.sh
在windows访问namenode节点信息的地址
http://node1:50070
15、上传文件
hdfs dfs -D dfs.replication=1 -D dfs.blocksize=1048576 -put /
16、停止hdfs
stop-dfs.sh