HDFS搭建分布式集群
一、创建4台虚机
192.168.1.156 maste
192.168.1.157 slave1
192.168.1.158 slave2
192.168.1.159 slave3
1、修改4台机器hosts文件
sudo vi etc/hosts
2、修改每个机器的hostname
sudo vi etc/hostname
分别将localhost.localdomain修改为maste,slave1,slave2,slave3
3、生成私钥
ssh-******
3.1分别将157,158,159三台服务器的公钥id_rsa.pub,复制到156中,如下图所示
一直回车即可。
进入cd root/.ssh 目录
cat id_rsa.pub >> authorized_keys
cat id_rsa.pub157 >> authorized_keys
cat id_rsa.pub158 >> authorized_keys
cat id_rsa.pub159 >> authorized_keys
3.2、分别在157,158,159三台服务上重复3.1操作。
3.2、ssh maste
ssh slave1
ssh slave2
ssh slave3
4台服务器互相ssh登录成功即可。
二、在网上下载hdfs安装包。
http://hadoop.apache.org/releases.html
三、安装JDK
通过fz将jdk安装包上传
解压安装包
tar -zxvf [jdk安装包位置]
配置环境变量
vim /etc/profile
在文件行尾加入配置后保存退出
export JAVA_HOME=/usr/java/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin
重新加载profile使配置生效
source /etc/profile
环境变量配置完成,测试环境变量是否生效
echo $JAVA_HOME
java -version
四、安装hadoop
通过fz将hadoop安装包上传到linux
解压安装包
tar -zxvf [hadoop安装包位置]
五、(1)修改 hadoop-env.sh
通过vim打开
vim [hadoop]/etc/hadoop/hadoop-env.sh
主要是修改java_home的路径
在hadoop-env.sh,把export JAVA_HOME=${JAVA_HOME}修改成具体的路径
重新加载使修改生效
source hadoop-env.sh
(2)修改 core-site.xml
通过vim打开
vim [hadoop]/etc/hadoop/core-site.xml
增加namenode配置、文件存储位置配置
<configuration>
<property>
<!--用来指定hdfs的老大,namenode的地址-->
<name>fs.defaultFS</name>
<value>hdfs://maste:9000</value>
</property>
<property>
<!--用来指定hadoop运行时产生文件的存放目录-->
<name>hadoop.tmp.dir</name>
<value>/home/park/work/hadoop-2.5.2/tmp</value>
</property>
</configuration>
(3)修改 hdfs-site.xml
通过vim打开
vim [hadoop]/etc/hadoop/hdfs-site.xml
配置包括自身在内的备份副本数量。
<configuration>
<property>
<!--指定hdfs保存数据副本的数量,包括自己,默认为3-->
<!--伪分布式模式,此值必须为1-->
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
(4)修改 mapred-site.xml
说明:在/etc/hadoop的目录下,只有一个mapred-site.xml.template文件,复制一个
cp mapred-site.xml.template mapred-site.xml
通过vim打开
vim [hadoop]/etc/hadoop/mapred-site.xml
配置mapreduce运行在yarn上
<configuration>
<property>
<!--指定mapreduce运行在yarn上-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(5)修改 yarn-site.xml
通过vim打开
vim [hadoop]/etc/hadoop/yarn-site.xml
配置
<configuration>
<property>
<!--指定yarn的老大resourcemanager的地址-->
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<property>
<!--NodeManager获取数据的方式-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
(6)修改 slaves,3.X版本修改workers
(7)配置hadoop的环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_65
export HADOOP_HOME=/opt/hadoop-2.7.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
环境变量配置完成,测试环境变量是否生效
echo $HADOOP_HOME
hadoop version
修改完成后,将其他三台服务器做上述同样的操作
六、
hdfs namenode -format (hadoop namenode -format 以前的方式)
在格式化的时候,会有这样的输出:Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted变成功。
systemctl stop firewalld
sudo ufw disable
sudo ufw status
hadoop fs -chmod 777 /
rm -rf /opt/tmp/*
start-all.sh
start-dfs.sh
start-yarn.sh
hadoop dfsadmin -report查看使用情况
启动成功后访问:
ip:50070
ip:8088
即可。