Hadoop-HDFS的伪分布式和完全分布式集群搭建

Hadoop-HDFS
HDFS伪分布式集群搭建步骤
一、配置免密登录

ssh-keygen -t rsa
1
一句话回车到底

ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01
1
跟随提示进行,一般需要yes确认之后输入一次密码就成功了
如果没配置免密登录的话,会出现登录和退出HDFS时,所有节点都需要输一遍密码。(本人亲身实践,虽然还是启动成功了)

二、上传jdk和hadoop压缩包
可以使用ftp或者使用命令rz

yum install lrzsz -y
1
三、解压jdk和hadoop压缩包
建议可以解压到统一的目录下
tar -zxvf 压缩包名
四、配置环境变量

export JAVA_HOME=/opt/software/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin
1
2
必须让环境变量生效,代码如下:

source /etc/profile
1
PS:用户变量 .bashrc
系统变量 /etc/profile
系统操作命令(文件的增删改查) bin
系统管理命令(集群的启动、关闭) sbin
hadoop配置信息 etc/hadoop
五、修改配置文件
① slaves配置Datanode节点
② 修改hdfs-site.xml

//设置备份个数
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
//secondaryNamenode
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node01:50090</value>
</property>
1
2
3
4
5
6
7
8
9
10
③ 修改core-site.xml

//namenode
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9000</value>
</property>
//namenode启动后产生的信息
<property>
<name>hadoop.tmp.dir</name>
<value>/var/abc/hadoop/local</value>
</property>
1
2
3
4
5
6
7
8
9
10
④ 把*-env.sh的文件内部所有的java路径改为绝对路径
六、格式化
让所有文件生效,此命令在/opt/software/hadoop/bin目录下

hdfs namenode -format
1
七、启动命令
此命令在/opt/software/hadoop/sbin目录下

./start-dfs.sh
1
八、配置hadoop的环境变量
配置完这两条环境变量之后,可以在任意目录下启动Hadoop集群

export HADOOP_HOME=/opt/software/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
1
2
九、操作HDFS文件系统
创建根目录,首先要写换到hadoop的bin目录下

./hdfs dfs -mkdir -p /user/root
1
通过命令hdfs dfs -put 文件名或目录名,上传文件

十、本人在配置时出现的一些问题
/etc/hosts中的网络映射信息必须配置对
配置完环境变量后必须使用source /ect/profile使它生效

HDFS完全分布式集群配置
我是这么做的:
先克隆一台虚拟机,进行一下操作
一、修改hdfs-site.xml配置文件
value的数量不能超过节点数
第二个property标签配置的是secondarynamenode,节点要和主节点Namenode不同

<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>

<name>dfs.namenode.secondary.http-address</name>
<value>node02:50090</value>
</property>
1
2
3
4
5
6
7
8
9
二、修改core-site.xml配置文件
第一个property标签是配置主节点Namenode
第二个property标签是配置集群启动时产生的信息

<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/abc/hadoop/cluster</value>
</property>
1
2
3
4
5
6
7
8
三、修改slaves配置文件
修改主节点的slaves配置文件如下

node02
node03
node04
1
2
3
进行完这三个操作后再克隆三台虚拟机,然后配置各自的网络
四、配置网络

(之后补充)大概就是修改/ect/sysconfig/network的主机名,修改/ect/sysconfig/network-scripts/ifcfg-eth0中的IP地址,IPADDR修改为此虚拟机的IP,GATEWAY和DNS1为虚拟机的网关,DNS2随意,如下图也行,
修改完成后使用命令service network restart重启网卡,如果还有问题就删掉第二行和地四行,删掉之后若还有问题,请自行百度

,删除rm -rf /etc/udev/rules.d/70-persistent-net.rules文件,重要的事情说三遍!
重启虚拟机!!!!!!!!!!!!!!
重启虚拟机!!!!!!!!!!!!!!
重启虚拟机!!!!!!!!!!!!!!

在各自的/ect/hosts目录下配置四台虚拟机的网络映射
代码可以参照如下:
注意:IP不可以冲突,必须每台虚拟机都配置

192.168.145.131 node01
192.168.145.132 node02
192.168.145.133 node03
192.168.145.134 node04
1
2
3
4
五、格式化
让所有文件生效,此命令在/opt/software/hadoop/bin目录下

hdfs namenode -format
1
六、启动命令
此命令在主节点/opt/software/hadoop/sbin目录下

./start-dfs.sh
1

---------------------

原文地址:https://www.cnblogs.com/ly570/p/11091183.html