HDFS完全分布式搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/JiaoKun_/article/details/82998170

前期配置

  1. 修改静态IP
    修改/etc/sysconfig/network-scripts/ifcfg-eth0文件
//修改
ONBOOT=yes
BOOTPROTO=none
//添加
IPADDR={要修改的IP地址}
PREFIX=24
GATEWAY=192.168.80.2
DNS1=8.8.8.8	
  • 如果是克隆机,需要修改IPv4
  1. 修改主机名
    修改/etc/sysconfig/network文件
HOSTNAME={自定义主机名,如node01} 

  1. 关闭防火墙
#临时关闭防火墙
service iptables stop

时间同步

  1. 安装ntp
yum install ntp
  1. 网上查找最新的时间服务器,如ntp1.aliyun.com,在所有节点时间同步
ntpdate ntp1.aliyun.com

配置免密登录

  1. 所有节点执行 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  2. 在node01节点执行,将node01的公钥加入到其他节点的白名单中 ssh-

copy-id -i ~/.ssh/id_rsa.pub root@node01
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node02
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node03
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node04


配置/etc/hosts(所有节点内)

//写入所有节点IP+主机名
192.168.23.128 node01
	...... 

修改hadoop配置文件

  1. 修改hdfs-site.xml配置文件
<property>
	        <name>dfs.replication</name>
#节点数
	        <value>3</value>
</property>
<property>   
			<name>dfs.namenode.secondary.http-address</name>
#SecondaryNode节点
	     <value>node02:50090</value>
</property>
  1. 修改core-site.xml配置文件
<property>
	        <name>fs.defaultFS</name>
	        <value>hdfs://node01:9000</value>
</property>
<property>
	        <name>hadoop.tmp.dir</name>
	        <value>/var/abc/hadoop/cluster</value>
</property>

3.修改slaves配置文件
#写入所有DataBode节点
node02 
node03 
node04

将配置好的安装包分发到其他节点上

scp -r software root@node02:/opt/software/hadoop/
#或者
scp -r software root@node02:`pwd`

JDK配置(所有节点)

#卸载旧有jdk
rpm -qa|grep java
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
rpm -e --nodeps tzdata-java-2013g-1.el6.noarch
# vi /etc/profile
export JAVA_HOME=/opt/software/jdk/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin  

格式化NameNode并启动HDFS

  1. 将所有的HDFS相关的进程关闭
  2. 在node01节点执行
#格式化
hdfs namenode -format
#启动
start-dfs.sh

可能遇到的问题

启动成功后,Live Notes为0

关闭HDFS,删除所有节点core-site.xml配置文件中的hadoop.tmp.dir所指明的目录,如:

<property>
        <name>hadoop.tmp.dir</name>
        <value>/var/abc/hadoop/cluster</value>
</property>

则删除所有节点的/var/abc后,重新格式化,然后启动。

猜你喜欢

转载自blog.csdn.net/JiaoKun_/article/details/82998170