HDFS完全分布式搭建
角色分配:
node01:Namenode
node02:SecondiryNamenode,Datanode
node03:Datanode
node04:Datenode
- 1.同步服务器时间
①各个节点安装ntp
——命令:yum install ntp
②上网查找最新的时间服务器,这里使用阿里的
——地址:ntp1.aliyun.com
③同步时间
——命令:ntpdate ntp1.aliyun.com
- 2.配置免密登录
node01->node01
node01->node02
node01->node03
node01->node04
①所有节点执行
——命令:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
②在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
注:node01~04为服务器名称,可用ip地址替换
- 3.所有节点配置JDK
①卸载自带jdk
——命令:yum remove *openjdk*
②下载想要的jdk版本并进入所在目录,解压
——命令:tar -zxvf jdk-8u131-linux-x64.tar.gz
③设置环境变量,打开etc下的profile文件
——命令:vim /etc/profile
④添加jdk所在目录
——命令:export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131
——命令:export PATH=$PATH:$JAVA_HOME/bin
⑤重新执行profile文件
——命令:source /etc/profile
或. /etc/profile
⑥检查新安装的jdk
——命令:java -version
显示以下内容jdk就配置完成了,还需要在每个节点配置jdk。
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
- 4.修改hdfs-site.xml配置文件
文件位于:/解压目录/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node02:50090</value>
</property>
- 5.修改core-site.xml配置文件
文件位于:/解压目录/etc/hadoop/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>
- 6.修改slaves配置文件
文件位于:/解压目录/etc/hadoop/slaves
将localhost修改为node02 node03 node04 - 7.将配置好的安装包分发到其他节点上
——命令:
scp -r hadoop-2.6.5 root@node02:/opt/software/hadoop/
scp -r hadoop-2.6.5 root@node03:/opt/software/hadoop/
scp -r hadoop-2.6.5 root@node04:/opt/software/hadoop/
注:安装包目录应该统一
- 8.将所有的HDFS相关的进程关闭
——命令:stop-dfs.sh
- 9.格式化NameNode在node01节点执行
——命令:hdfs namenode -format
注:格式化NameNode时将会创建/var/abc/hadoop/cluster文件目录,如遇错误需要重新格式化时需要删除/var/abc文件目录再格式化
- 10.启动HDFS
——命令:start-dfs.sh
至此完全分布式的HDFS就搭建完成了
未完待续…