昨天晚上吃的东西不怎么卫生今天肚子很难受,还好放清明了,今天刚刚从医院回来,玩一个hadoop的分布式搭建再休息休息
废话不多说
1、网络配置好,关闭iptables防火墙,关闭selinux
2、jdk1.7.0_67
hadoop-2.6.5.tar.gz
上传这两个包
3、安装jdk
rpm -ivh jdk-7u80-linux-x64.rpm
4、编辑vi /etc/profile
添加两行记录:
export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
执行 . /etc/profile让配置生效
5、解压hadoop-2.6.5.tar.gz到/opt目录
tar -zxf hadoop-2.6.5.tar.gz -C /opt
6、向/etc/profile添加两行
export HADOOP_PREFIX=/opt/hadoop-2.6.5
export PATH= P A T H : PATH: PATH:HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
执行. /etc/profile让配置生效

7、配置免秘钥登录

为什么要免密钥的登录???
因为hadoop它本身要通过脚本通过ssh的方式在远程服务器启动进程,如果不配置免密钥,每次都要输入密码,很麻烦
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa    
cat ~/.ssh/id_dsa.pub > ~/.ssh/authorized_keys

8、修改/opt/hadoop-2.6.5/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_67
如下图在这里插入图片描述
9、修改/opt/hadoop-2.6.5/etc/hadoop/slaves
node1
设置datanode进程所在的主机
如下图在这里插入图片描述
10、配置/opt/hadoop-2.6.5/etc/hadoop/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/huawei/hadoop/pseudo</value>
</property>

11、配置/opt/hadoop-2.6.5/etc/hadoop/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>

12、格式化HDFS

hdfs namenode -foramt

13、启动HDFS

start-dfs.sh

在windows访问namenode节点信息的地址
http://node1:50070

在这里插入图片描述
14、上传文件

hdfs dfs -D dfs.replication=1 -D dfs.blocksize=1048576 -put /

15、停止hdfs

stop-dfs.sh

头还挺疼的,今天先在一台node上搭建一个伪hadoop,多台node其实也差不多,有不会的朋友,改天我再写下多台node如何搭建hadoop

Logo

更多推荐