Hadoop集群安装和配置
集群规划:
集群安装步骤:
一、 在一台机器上上传并解压Hadoop安装包(此处选择主机node01)
1.此处上传用的软件为:SecureCRT 8.3
上传命令:rz -E
2.选择上传的安装包,并将安装包放在一个目录下面便于寻找,此处放在/opt/software目录下。
移动命令: mv hadoop-2.10.1.tar.gz /opt/software
3.解压安装包到某个目录,此处放在/opt/module目录下
解压命令:tar -zxvf hadoop-2.10.1.tar.gz -C /opt/module/
二、修改配置文件
1.修改core-site.xml文件
打开文件所在目录: cd /opt/module/hadoop-2.10.1/etc/hadoop
修改core-site.xml配置文件,可以用vim 进行编译修改,此处我用sublime Text远程连接虚拟机来修改配置文件。
修改内容如下:
<configuration>
<!-- 指定集群文件系统类型: 分布式文件系统 -->
<property>
<name> fs.default.name </name>
<value> hdfs://192.168.87.101:8020 </value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.87.101:9000</value>
</property>
<!-- 指定临时文件存储目录 -->
<property>
<name> hadoop.tmp.dir </name>
<value> /opt/module/hadoop-2.10.1/hadoopDatas/tempDatas </value>
</property>
<!-- 缓冲区大小,实际工作中根据服务器能动态调整 -->
<property>
<name> io.file.buffer.size </name>
<value> 4096 </value>
</property>
<!-- 开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->
<property>
<name> fs.trash.interval</name>
<value> 10080 </value>
</property>
</configuration>
2.修改hdfs-site.xml文件
打开文件目录: cd /opt/module/hadoop-2.10.1/etc/hadoop
编译文件: vim hafs-site.xml
修改内容如下:
<configuration>
<!-- 指定访问secondary Namenode的地址-->
<property>
<name> dfs.namenode.secondary.http-address</name>
<value> node01:50090</value>
</property>
<!-- 指定namenode的访问地址和端口 -->
<property>
<name> dfs.namenode.http-address</name>
<value>node01:50070</value>
</property>
<!-- 指定namenode存储元数据的位置 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/module/hadoop-2.10.1/hadoopDatas/namenodeDatas,file:///opt/module/hadoop-2.10.1/hadoopDatas/namenodeDatas2</value>
</property>
<!-- 定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/module/hadoop-2.10.1/hadoopDatas/datanodeDatas,file:///opt/module/hadoop-2.10.1/hadoopDatas/datanodeDatas2</value>
</property>
<!-- 指定namenode日志文件的存放目录 -->
<property>
<name>dfs.namenode.edits.dir</name>
<value>file:///opt/module/hadoop-2.10.1/hadoopDatas/namenode/edits</value>
</property>
<!-- 指定检查点的存储位置 -->
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:///opt/module/hadoop-2.10.1/hadoopDatas/secondNamenode/name</value>
</property>
<!-- -->
<property>
<name>dfs.namenode.checkpoint.edits.dir</name>
<value>file:///opt/module/hadoop-2.10.1/hadoopDatas/secondNamenode/edits</value>
</property>
<!-- 指定文件切片的副本个数 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 设置HDFS文件权限 -->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<!-- 设置一个文件切片的大小 : 128M -->
<property>
<name>dfs.blocksize</name>
<value>134217728</value>
</property>
</configuration>
3.修改hadoop-env.sh文件
打开文件所在目录: cd /opt/module/hadoop-2.10.1/etc/hadoop
修改内容如下:
export JAVA_HOME=/opt/module/jdk1.8.0_251
添加jdk安装地址
4.修改mapred-site.xml
打开文件所在目录: cd /opt/module/hadoop-2.10.1/etc/hadoop
编译文件 vim mapred-site.xml
(注:文件夹中存在mapred-site.xml.template文件,将mapred-site.xml.template修改为mapred-site.xml)
修改内容如下:
<configuration>
<!-- 开启mapreduce小任务模式 -->
<property>
<name>mapreduce.job.ubertask.enable</name>
<value>true</value>
</property>
<!-- 设置历史任务的主机和端口 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>node01:10020</value>
</property>
<!-- 设置网页访问历史任务的主机和端口 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node01:19888</value>
</property>
</configuration>
5.修改yarn-site.xml文件
打开文件所在目录: cd /opt/module/hadoop-2.10.1/etc/hadoop
编译文件 vim yarn-site.xml
修改内容如下:
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- 配置yarn主节点的位置 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node01</value>
</property>
<!-- -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 开启日志聚合功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置聚合日志在hdfs上的保存时间 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
<!-- 设置yarn集群的内存分配方案 -->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>20480</value>
</property>
<property>
<name>yran.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
</configuration>
6.修改mapred-env.sh文件
打开文件所在目录: cd /opt/module/hadoop-2.10.1/etc/hadoop
编译文件 vim mapred-env.sh
修改内容如下:
export JAVA_HOME=/opt/module/jdk1.8.0_251
7.修改slaves文件
打开文件所在目录: cd /opt/module/hadoop-2.10.1/etc/hadoop
编译文件 vim slaves
修改内容如下:(注:三台主机名)
node01
node02
node03
三、将安装配置完成的hadoop文件发送到另外二个主机
进入到保存hadoop文件的目录下,此处为/opt/module目录
发送给主机node02的hadoop文件命令:scp -r hadoop-2.10.1/ node02:/opt/module
发送给主机node03的hadoop文件命令:scp -r hadoop-2.10.1/ node03:/opt/module
四、配置hadoop的环境变量
三台机器都要进行配置hadoop的环境变量
配置环境变量命令: vim /etc/profile
增加内容如下:
#Hadoop_HOME
export HADOOP_HOME=/opt/module/hadoop-2.10.1
export PATH=$PATH:$HADOOP_HOME/bin
export CLASSPATH=$HADOOP_HOME/lib
export PATH=$PATH:HADOOP_HOME/sbin
配置完成后文件生效命令:source /etc/profile
五、启动集群
启动hadoop集群,需要启动HDFS和YARN两个模块。(注:启动hadoop集群之前,先开启zookeeper)
注:首次启动HDFS时,必须对其进行格式化操作。本质上是一些清理和准备工作,因为此时的HDFS在物理上还是不存在的。
hdfs namenode -format 或者hadoop namenode -format
准备启动:
第一台机器执行以下命令:
cd /opt/module/hadoop-2.10.1
bin/hdfs namenode -format
sbin/start-dfs.sh
sbin/start-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver
注:bin/hdfs namenode -format 只在第一次启动时输入,之后不需要。
三个端口查看界面
http://node01:50070/explorer.html\#/ //查看hdfs
http://node01:8088/cluster //查看yarn集群
http://node01:19888/jobhistory //查看历史完成的任务
还没有评论,来说两句吧...