一、HDFS集群的搭建:
1.准备四台虚拟机:
1台namenode master
3台datanode slave1/slave2/slave3
1台secondaryNameNode slave2
->通过克隆
2.修改虚拟机分配的内存
内存512MB
3.启动四台虚拟机
4.修改IP地址:修改网卡(/etc/sysconfig/network-scripts/ifcfg-enXXX)
修改master: vim ifcfg-xxx
-IPADDR:192.168.56.200
重启网卡:service network restart
查看ip地址:ifconfig
slave1-3:
-IPADDR:192.168.56.201
-IPADDR:192.168.56.202
-IPADDR:192.168.56.203
5.XShell远程连接以及虚拟机之间互Ping
Xshell 连接四台虚拟机
6.设置主机名称:
192.168.56.200 master 指令: hostnamectl set-hostname master
192.168.56.201 slave1 指令: hostnamectl set-hostname slave1
192.168.56.202 slave2 指令: hostnamectl set-hostname slave2
192.168.56.203 slave3 指令: hostnamectl set-hostname slave3
查看主机名称:hostname
7.修改hosts文件(/etc/hosts)
在最底下添加:
192.168.56.200 master
192.168.56.201 slave1
192.168.56.202 slave2
192.168.56.203 slave3
测试是否成功:
ping master
ping slave1
ping slave2
ping slave3
8.关闭四台虚拟机防火墙:
firewall-cmd --state
【若runnig:
systemctl stop firewalld.service
关闭开机启动:
systemctl disable firewalld.service】
9.开启免密登录:希望namenode可以免密登录到其他三台datanode上
这时就需要namenode产生对应的公钥、私钥,将公钥拷贝到其他三台电脑上
1)master免密:cp .ssh/id_rsa.pub .ssh/authorized_keys
2)slave免密:
a. 在namenode上生成公钥、私钥
ssh-keygen -t rsa
b. 将namenode的公钥拷贝到slave1/slave2/slave3
ssh-copy-id slave1/ssh-copy-id slave2/ssh-copy-id slave3
过程出现是否连接以及输入密码
10.上传JDK、Hadoop安装软件
11.解压JDK、Hadoop安装软件,配置环境变量
12.Hadoop配置:
1):hadoop-env.sh(JAVA_HOME)
2):core-site.xml 添加
<!--指定hadoop使用HDFS文件系统作为默认的文件系统-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!--指定hadoop运行时产生的临时文件存放目录-->
<property>
<name>hadoop.tem.dir</name>
<value>/opt/hadoop-2.7.3/tem</value>
</property>
3):hdfs-site.xml 添加
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave2:50090</value>
</property>
4):slaves 添加datanode名
slave1
slave2
slave3
5):namenode格式化:在master主机上格式化操作
hdfs namenode -format
6):如果需要修改副本数量以及检测时间
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.heartbeat.recheck-interval</name>
<value>10000</value>
</property>
7):单独开启或关闭一台
hadoop-daemon.sh stop datanode
hadoop-daemon.sh start datanode
关注公众号" 编译未来 "
获取更多hadoop资料