一、安装jdk-8u152-linux-x64.tar.gz(注:搭建hadoop-2.7.4需要jdk1.8以上版本)
1、将压缩包jdk-8u152-linux-x64.tar.gz放入linux系统中,我放在/usr/java文件下
2、进入文件夹/usr/java
3、解压:输入命令:tar -zxvf jdk-8u152-linux-x64.tar.gz -C /usr/java/ (这是解压在/usr/java文件夹下)
4、解压完成后,配置java环境变量,输入命令:vi /etc/profile
5、在最后一行插入:export JAVA_HOME=/usr/java/jdk1.8.0_152 (/usr/java/jdk1.8.0_152此文件夹是你解压jdk后的文件夹,根据自己解压的情况自己改)
export JRE_HOME=/usr/java/jdk1.8.0_152/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
6、保存退出,输入命令:source /etc/profile
7、查看jdk版本,验证环境变量是否配好:输入命令:java -version 看到jdk版本就说明配置成功了
二、安装hadoop-2.7.4.tar.gz
1、将压缩包hadoop-2.7.4.tar.gz放入linux系统中,我放在/itcast文件下
2、进入文件夹/itcast
3、解压:输入命令:tar -zxvf hadoop-2.7.4.tar.gz -C /itcast/ (这是解压在/itcast文件夹下)
4、关闭防火墙:service iptables stop(停止防火墙) chkconfig iptables off(关闭开机启动防火墙)
5、进入文件夹 etc/hadoop
6、修改hadoop配制文件:
(1)修改hadoop-env.sh , vim hadoop.env.sh 配制JAVA_HOME , (根据自己java安装位置配制):
export JAVA_HOME=/usr/java/jdk1.8.0_152
(2)修改core-site.xml , vim core-site.xml 在configuration中添加如下配制:
<property>
<name>fs.defaultFS</name>
<value>hdfs://itcast01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/itcast/hadoop-2.7.4/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
(3)修改hdfs-site.xml , vim hdfs-site.xml 在configuration中添加如下配制:
<property>
<!--dfs.replication设置块的复制数量-->
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
(4)修改mapred-site.xml , cp mapred-site.xml.template mapred-site.xml 或mv mapred-site.xml.template mapred-site.xml , vim mapred-site.xml 在configuration中添加如下配制:
<property>
<!--mapreduce.framework.name配置MapReduce应用使用Yarn框架-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(5)修改yarn-site.xml,vim yarn-site.xml在configuration中添加如下配制:
<property>
<!--yarn.nodemanager.aux-services:为NodeManager配置MapReduce应用的Shuffle服务-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<description>The hostname of the RM.</description>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.43.2</value>
</property>
7 、配置hadoop环境变量:vi /etc/profile
插入: export JAVA_HOME=/usr/java/jdk1.8.0_152
export HADOOP_HOME=/itcast/hadoop-2.7.4
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"
export JRE_HOME=/usr/java/jdk1.8.0_152/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
8、保存退出,输入命令:source /etc/profile
9、格式化NameNode,启动集群
格式化:hdfs namenode -format
注 :为什么要格式化namenode? 格式化是对HDFS这个分布式文件系统中的Datanode进行分块,统计所有分块后的初始元数据,然后存储在Namenode中,格式化后,查看core-site.xml配置文件中hadoop.tmp.dir指定的目录下是否有dfs目录,如果有,说明格式化成功 ;
启动集群:进入 sbin/目录 执行命令:start-all.sh 然后输入密码根据提示进行操作
注意:在hadoop集群搭建过程中要确保修改的 /itcast/hadoop-2.7.4/etc/hadoop/中相关配制文件参数与本机实际配制相对应(比如slaves中的主机应当与/etc/hosts文件中的一致),此外namenode只能格式化一次,因为在namenode格式化时会在 /usr/local/hadoop2.7.4/tmp目录中生成当前hdfs的version信息,每次格式化时该version信息都不一致这有可能导致NameNode或DataNode无法启动,如果必需要多次格式化时需要将各节点core-site.xml 中配制生成的数据目录及文件删除(本文中删除文件tmp, 依次在各节点执行 rm -rf /usr/local/hadoop2.7.4/tmp) 执行格式化时需要加上-force 即:bin/hdfs namenode -format -force 。
三、Hadoop相关UI链接(此处均使用主节点IP):
(1) hdfs文件系统页面:
http://192.168.43.2:50070
(2) mapreduce job信息页面:
http://192.168.43.2:8088
其它端口在此不列出,可自行查阅。
网友评论