上节我们学习了虚拟机环境配置,包括JDK安装,主机名修改,ssh免密登录等内容,这节我们学习一下Hadoop的安装及环境配置
1、首先我们需要到Apache官网下载我们需要的Hadoop版本,Apache产品官网是:http://archive.apache.org/dist/,我们到hadoop目录core,下载需要的包
我这里用的是hadoop-2.7.3,我们把包上传到master105服务器 /software/目录下解压
tar -zxvf hadoop-2.7.3.tar.gz (tar的意思是打包和解包,-zxvf中的z是gzip类型的包,x是释放的意思(如果是c的话意思是创建),v代表解压过程的详情,f代表file的意思)
2.配置环境变量hadoop-env.sh,我们进入hadoop的配置文件目录/software/hadoop-2.7.3/etc/hadoop/,找到hadoop-env.sh
修改JAVA环境变量,将红框部分的java路径改为本机实际的java路径,我机子是/software/jdk1.8.0_181/
3、配置环境变量yarn-env.sh,还是/software/hadoop-2.7.3/etc/hadoop/目录,在文件的靠前的部分找到下面的一行代码
export JAVA_HOME=/home/y/libexec/jdk1.6.0/
将这行代码修改为下面的代码(将#号去掉)
export JAVA_HOME=/software/jdk1.8.0_181/
4、配置核心组件core-site.xml,还是 /software/hadoop-2.7.3/etc/hadoop/目录,vi /software/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml
用下面的代码替换core-site.xml中的内容:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master105:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/software/hadoop-2.7.3/hadoopdata</value>
</property>
</configuration>
5、配置文件系统hdfs-site.xml 还是/software/hadoop-2.7.3/etc/hadoop/目录,修改为
<configuration>
<property>
<name>dfs.replication</name> <value>3</value>
</property>
</configuration>
该配置文件用来指定HDFS保存数据副本的数量,集群为3
6、配置mapred-site.xml ,我们在hadoop目录下发现文件列表中只有mapred-site.xml.template而没有mapred-site.xml,因此我们需要先把mapred-site.xml.template的复制一份改后缀
cp mapred-site.xml.template mapred-site.xml
然后修改新文件mapred-site.xml,用下面内容替换
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
7、配置yarn-site.xml,资源调度yarn
<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master105:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master105:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master105:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master105:18141</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master105:18088</value>
</property>
</configuration>
至此,五个配置文件都修改了,注意2台slave也相同配置,我们可以把配置复制过去。
scp -r /software/hadoop-2.7.3 root@slave106:/software/
scp -r /software/hadoop-2.7.3 root@slave107:/software/
hadoop文件夹复制到2台从节点后,我们在master105节点配置slaves文件vi /software/hadoop-2.7.3/etc/hadoop/slaves,这里很重要,是集群生效的关键
8、Hadoop集群初始化和测试
8.1配置hadoop环境变量
首先我们需要配置Hadoop的环境变量,我们回到~目录,输入命令:vi .bash_profile并按回车进入配置文件,如下
JAVA_HOME=/software/jdk1.8.0_181
HADOOP_HOME=/software/hadoop-2.7.3
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME
export HADOOP_HOME
export PATH
使环境变量设置生效 source .bash_profile,该环境变量设置在106,107都需要配置好
接下来我们开始初始化HDFS(格式化文件系统),格式化之前我们先到hadoop2.7.3目录,查看下该目录下都有哪些文件,从下图我们可以看出已经建好hadoopdata这个目录。
8.2格式化文件系统
我们在master105节点上执行hdfs namenode -format,我们看到下图红框的提示,说明文件系统格式化成功了
格式化完之后,我们再来看看hadoop-2.7.3目录下的文件列表,已经产生dfs目录了
8.3 启动hadoop集群
因为已经配置了环境变量,我们在任意目录直接输入 start-all.sh ,启动过程会提示输入yes
2个slave节点也启动了
启动完start-all.sh之后,我们来看一下java process snapshot(jps),发现有6个进程,其中NameNode是HDFS的老大,DataNode是HDFS的小弟,ResourceManager是YARN的老大,NodeManager是YARN的小弟,另外SecondaryNameNode是HDFS的NameNode的助理帮助NameNode完成一些数据的同步,主要用来合并fsimage和edits文件等。这说明我们修改的5个配置文件完全正确,我们一次性启动成功!
我们在slave节点执行jps,会有三个进程NodeManager、DataNode和Jps,表示从节点启动成功
我们可以通过浏览器的方式验证集群状态:
http://master105:50070 (hdfs管理界面)
http://192.168.8.88:8088 (yarn管理界面)
经过2种验证,我们的集群一切正常
本节内容到此结束,下节我们讲解下hadoop的使用
总结
感谢能看到这里的朋友😉
本次的分享就到这里,猫头鹰数据致力于为大家分享技术干货😎
如果以上过程中出现了任何的纰漏错误,烦请大佬们指正😅
受益的朋友或对技术感兴趣的伙伴记得点赞关注支持一波🙏
也可以搜索关注我的微信公众号【猫头鹰数据分析】,留言交流🙏