hadoop-2.7.3 集群的搭建
要做的前提工作:
VMware版本: VMware-workstation-full-12.5.7.20721.exe,秘钥:5A02H-AU243-TZJ49-GTC7K-3C61N(来自:https://zhidao.baidu.com/question/1240914582586009779.html)
centos 镜像版本: CentOS-7-x86_64-DVD-1511.iso
JDK版本: jdk-8u152-linux-x64.tar.gz
Hadoop版本: hadoop-2.7.3.tar.gz
三台进行集群搭建:
master
slave1
slave2
基本的环境准备好后进行如下操作
安装jdk-8u152-linux-x64.tar.gz 到/usr/local/soft目录中
tar -zxvf jdk-8u152-linux-x64.tar.gz
安装hadoop-2.7.3.tar.gz 到/usr/local/soft目录中
tar -zxvf hadoop-2.7.3.tar.gz
配置环境变量
[hadoop@master soft]$ vi ~/.bashrc
export JAVA_HOME=/usr/local/soft/jdk1.8.0
export CLSSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export HADOOP_HOME=/usr/local/soft/hadoop-2.7.3
export PATH=.:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
export HADOOP_LOG_DIR=/usr/local/soft/hadoop-2.7.3/logs
export YARN_LOG_DIR=$HADOOP_LOG_DIR
让环境变量生效:
[hadoop@master soft]$ source ~/.bashrc
环境变量配置成功
下面对hadoop-2.7.3进行配置:
进入hadooop-2.7.3的目录·:
对此目录的文件进行配置:
hadoop-env.sh slaves core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml
[hadoop@master hadoop]$ vi hadoop-env.sh
export JAVA_HOME=/usr/local/soft/jdk1.8.0/
[hadoop@master hadoop]$ vi slaves
master
slave1
slave2
[hadoop@master hadoop]$ vi core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000/</value>
<description> 设定 namenode的主机名及端口</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/soft/hadoop-2.7.3/tmp</value>
<description>存储临时文件的目录</description>
</property>
[hadoop@master hadoop]$ vi hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
<description> 设定 HDFS储存文件的副本个数,默认为3</description>
</property>
<property>
[hadoop@master hadoop]$ vi mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
[hadoop@master hadoop]$ vi yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
切换到root用户 vi /etc/hosts
192.168.178.100 master
192.168.178.101 slave1
192.168.178.102 slave2
关闭防火墙:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
下面在master的基础上克隆两台虚拟机
slave1
slave2
在slave1 slave2 上面修改ip
master相关的IP信息:
修改slave1的IP
设置静态1IP
service network restart
检查是否通信成功
slave2 如上所示步奏与slave1相同
进行免密登陆:
在此目录中进行如下操作 上图所示
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cd .ssh/
ls
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
ssh localhost
ssh-copy-id -i ~/.ssh/id_rsa.pub slave1
ssh-copy-id -i ~/.ssh/id_rsa.pub slave2
免密成功的标志(免密的内容通过查阅资料进行了解)
格式化HDFS文件
[hadoop@master hadoop]$ ./hdfs namenode -format
启动进程检测配置是否正确
[hadoop@master hadoop]$ start-all.sh
slave1 查询结果如图:
slave2 查询结果如图:
可通过WEB浏览器可视化验证是否服务已成功开启
(1)通过访问192.168.178.100:50070可查看主节点hadoopm的dfs的情况,如下图所示:
通过访问192.168.178.100:8088可查看主节点hadoopm的yarn进程的情况,如下图:
至此,Hadoop基于虚拟机的完全分布式集群配置完毕。