Hadoop集群安装(完全分布式)-3.3.3版本

Posted Лејлеј Пан

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop集群安装(完全分布式)-3.3.3版本相关的知识,希望对你有一定的参考价值。

集群安装

集群规划

上传安装包到hadoop01(或者离线下载)

1.cd /bigdata/soft
rz或
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.3/hadoop-3.3.3.tar.gz

解压到指定目录(以自己的实际目录为准)

	tar -zxvf /bigdata/soft/hadoop-3.3.3.tar.gz -C /bigdata/server

创建软连接

	cd /bigdata/server
	ln -s hadoop-3.3.3/ hadoop

Hadoop配置文件修改

Hadoop安装主要是配置文件的修改,一般在主节点进行修改,完毕后scp分发给其他各个从节点机器
路径在/bigdata/server/hadoop/etc/hadoop(以自己的实际路径为准)
1.配置hadoop-env.sh

		vim hadoop-env.sh
		54行的JAVA_HOME设置
		export JAVA_HOME=/bigdata/server/jdk1.8
		在文件末尾添加如下内容
		export HDFS_NAMENODE_USER=root
		export HDFS_DATANODE_USER=root
		export HDFS_SECONDARYNAMENODE_USER=root
		export YARN_RESOURCEMANAGER_USER=root
		export YARN_NODEMANAGER_USER=root

2.配置core-site.xml

		vim core-site.xml
		在configuration标签中添加以下内容:

		<property>
		<name>fs.defaultFS</name>
		<value>hdfs://hadoop01:8020</value>
		</property>

		<property>
		<name>hadoop.tmp.dir</name>
		<value>/bigdata/data/hadoop</value>
		</property>

		<!-- 设置HDFS web UI用户身份-->
		<property>
		<name>hadoop.http.staticuser.user</name>
		<value>root</value>
		</property>

		<!-- 整合hive -->
		<property>
		<name>hadoop.proxyuser.root.hosts</name>
		<value>*</value>
		</property>

		<property>
		<name>hadoop.proxyuser.root.groups</name>
		<value>*</value>
		</property>

3.配置hdfs-site.xml

   	vim hdfs-site.xml
   	在configuration标签中添加以下内容:
   	<!-- 指定secondarynamenode运行位置  -->
   	<property>
   	<name>dfs.namenode.secondary.http-address</name>
   	<value>hadoop02:50090</value>
   	</property>

4.配置mapred-site.xml

		vim mapred-site.xml 
		在configuration标签中添加以下内容:
		<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
		</property>
		<property>
		<name>yarn.app.mapreduce.am.env</name>
		<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
		</property>
		<property>
		<name>mapreduce.map.env</name>
		<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
		</property>
		<property>
		<name>mapreduce.reduce.env</name>
		<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
		</property>

5.配置yarn-site.xml

在configuration标签中添加以下内容:
		<!-- 指定yarn的主角色 (ResourceManager)的地址 -->
		<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>hadoop01</value>
		</property>
		<!-- NodeManager上运行的附属服务,需配置成mapreduce_shuffle,才可运行MapReduce程序默认值 “” -->
		<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
		</property>
		<!-- 是否将对容器实施物理内存限制 -->
		<property>
		<name>yarn.nodemanager.pmem-check-enabled</name>
		<value>false</value>
		</property>
		<!-- 是否将对容器实施虚拟内存限制 -->
		<property>
		<name>yarn.nodemanager.vmem-check-enabled</name>
		<value>false</value>
		</property>
		<!-- 开启日志聚集 -->
		<property>
		<name>yarn.log-aggregation-enable</name>
		<value>true</value>
		</property>
		<!-- 设置yarn历史服务器地址 -->
		<property>
		<name>yarn.log.server.url</name>
		<value>http://hadoop01:19888/jobhistory/logs</value>
		</property>
		<!-- 保存的时间7天 -->
		<property>
		<name>yarn.log-aggregation.retain-seconds</name>
		<value>604800</value>
		</property>

6.workers

		vim workers
		hadoop01
		hadoop02
		hadoop03

7.同步hadoop软件包到hadoop02和hadoop03

		scp -r hadoop-3.3.3/ hadoop01:$PWD
		scp -r hadoop-3.3.3/ hadoop03:$PWD
		在hadoop02节点配置软链接
		ln -s hadoop-3.3.3/ hadoop
		在hadoop03节点配置软链接
		ln -s hadoop-3.3.3/ hadoop

8.[所有节点]配置环境变量

			vim /etc/profile.d/custom_env.sh
			export HADOOP_HOME=/bigdata/server/hadoop
			export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
		
			使之生效:source /etc/profile

Hadoop集群启动

要启动Hadoop集群,需要启动HDFS和YARN两个集群,首次启动需要格式化,在hadoop01上输入:

hadoop namenode -format

在主节点hadoop01启动namenode:

hdfs --daemon start namenode

在hadoop02启动secondarynamenode:

hdfs --daemon start secondarynamenode

在所有节点启动datanode:

hdfs --daemon start datanode

在hadoop01上:

yarn --daemon start resourcemanager

在所有节点启动Nodemanager:

yarn --daemon start nodemanager

查看进程情况

jps
netstat -ntlp

关闭的话把start改成stop即可,上述方式太繁琐,因此启动可以使用下列两个命令:

			start-dfs.sh
			start-yarn.sh
			停止:
			stop-dfs.sh
			stop-yarn.sh

浏览器访问:

				192.168.116.140:9870
			     192.168.116.140:8088


hadoop完全分布式安装

  环境介绍

服务器软件版本
操作系统 CentOS 6.5 x86_64
Java 1.7.0_79
hadoop 2.6.1
hadoop各个节点集群架构
主机名 ip 角色
hadoop01 192.168.103.137 ResourceManager/NameNode/SecondaryNameNode
hadoop02 192.168.103.138 NodeManager/DataNode
hadoop03 192.168.103.140 NodeManager/DataNode

  环境配置

本实验是在VMware虚拟机上操作,考虑到有些软件安装中会上传下载等重复操作,所以先安装配置一台服务器,然后用这台服务器克隆出其它两台。
先安装好一台服务器,设置IP为192.168.103.137,以下操作都是在这台服务器上操作。
1)安装jdk,如果已经安装跳过
将下载的jdk-7u79-linux-x64.tar.gz软件包上传到服务器,解压到/usr/local/目录,并更名为jdk。
2)安装ssh-clients,如果已经安装跳过,通过命令安装:yum install openssh-clients
3)上传解压hadoop
然后将JAVA_HOME和HADOOP_HOME配置到环境变量中
source ~/.bashrc
4)关闭防火墙,集群安装后会有网络通信,需要开启一些端口,为了方便直接关闭防火墙。
5)克隆服务器,配置主机域名
将配置好的137服务器克隆出两台,分别配置好IP为138和140,具体配置可参考文档。
三台服务器能相互ping通,然后配置主机名,三台都要配置,配置好后通过域名相互ping通。
免密登入

  三台服务器分别执行ssh-keygen -t rsa生成密匙对,然后通过ssh-copy-id

  root@192.168.103.137,将公匙加到三台服务器授权列表,注意每台服务器都要全部配到三台,包括当前所在主机。配置好后三台服务器能相互ssh登入

  

  安装hadoop

  对三台服务器都进行如下操作,修改hadoop配置文件,配置文件在安装目录etc/hadoop下,需要修改core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves。

  创建/usr/local/hadoop/tmp目录:

  修改core-site.xml为:

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop01:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/hadoop/tmp</value>
        </property>
</configuration>

  修改hdfs-site.xml为:

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
</configuration>

  将mapred-site.xml.template更名为mapred-site.xml,并mapred-site.xml修改为:

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

  修改yarn-site.xml为:

<configuration>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop01</value>
        </property>
</configuration>
在hadoop01节点上修改slaves文件,添加从节点:
 

  启动hadoop

  1)格式化文件系统,hadoop可以在任意目录执行,因为配置了path环境变量,其实调用的是/usr/local/hadoop/bin下的hadoop命令

 

hadoop namenode -format

 

  2)启动hdfshadoop可以在任意目录执行,因为配置了path环境变量,其实调用的是/usr/local/hadoop/sbin下的start-dfs.sh命令

 

start-dfs.sh 

 

  启动成功后通过jps命令查看进程,hadoop01节点启动了三个进程SecondaryNameNode、NameNode、DataNode,hadoop02和hadoop03启动进程一样,只启动了DataNode进程。

  3)启动yarn

start-yarn.sh 

 

  通过jps命令查看进程,hadoop01节点启动了两个进程ResourceManager、NodeManager,hadoop2和hadoop03启动进程一样,只启动了NodeManager进程。

  4)运行效果

  在window浏览器访问http://192.168.103.137:50070

  点击datanode查看数据节点

  访问http://192.168.103.137:8088,查看MR任务

 

以上是关于Hadoop集群安装(完全分布式)-3.3.3版本的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop完全分布式环境搭建

hadoop完全分布式安装

Hadoop完全分布式集群安装

Hadoop学习之hadoop安装JDK安装集群启动(完全分布式)

搭建Hadoop集群(超详细版)

超详细!Apache Hadoop 完全分布式集群,实现 NNRM 的高可用