Centos 搭建Hadoop

Centos搭建Hadoop

  • 一、搭建Hadoop需要JDK环境,首先配置JDK
  • 二、下载haoop
  • 三、在Centos服务器上解压下载好的安装包
  • 四、修改配置文件
    • 4.1 hadoop-env.sh
    • 4.2 core-site.xml
    • 4.3 hdfs-site.xml
    • 4.4 mapred-site.xml
    • 4.5 yarn-site.xml
  • 五、配置环节变量/etc/profile
  • 六、格式化NameNode
  • 七、启动hadoop进程
  • 八、测试访问50070端口
  • 九、启动yarn
  • 踩坑填坑记录:
    • 官网下载hadoop包,切记要下载好正确的tar.gz包,第一次因为下错包,导致各种各样的错误出现。
    • 配置文件的修改,修改配置文件时,一定要细心细心再细心,常常因为输入一个字母或符号导致出错,之前配置时,因为多输入一个:,导致排查错误很多次。
    • 配置文件(*-site.xml)中的主机名都可以换为ip。
    • 如果使用主机名配置时,需要注意修改系统主机名和映射文件
    • 启动yarn和dfs时,如果不想重复输入密码,则需要进行ssh免密码登录配置。
    • WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER.
    • hadoop 3.x 启动过程中 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
    • hadoop 集群开启之后datanode没有启动

一、搭建Hadoop需要JDK环境,首先配置JDK

Centos下安装JDK1.8

二、下载haoop

官网地址:hadoop官网下载地址

三、在Centos服务器上解压下载好的安装包

  tar -zxvf hadoop-3.1.2.tar.gz

四、修改配置文件

进入到/hadoop/etc/hadoop目录,首先修改

4.1 hadoop-env.sh

添加export JAVA_HOME=/usr/java/jdk1.8.0.144;
添加:

# set hadoop environment virables
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

4.2 core-site.xml

添加如下信息:


	 
	  fs.default.name
 	 # 此处可能会埋坑,也可直接根据Ip进行设置如:hdfs://192.168.x.xx:9000
 	 hdfs://alary001:9000
	 

4.3 hdfs-site.xml


	 
 	  dfs.name.dir
 	  # 需要在目录/usr/local/处新建一个名为data的文件夹
  	 /usr/local/data/datanode
	 
	 
	   dfs.data.dir
	   /usr/local/data/tmp
	 
	   
	   # hadoop的备份系数
	    dfs.replication
	    3
	  

dfs.replication一般设置多大的值比较合适?

dfs.replication=3表示冗余份数,这是hdfs的容错机制,防止有磁盘受损后数据损害。

Hadoop的备份系数是指每个block在hadoop集群中有几份,系数越高,冗余性越好,占用存储也越多。备份系数在hdfs-site.xml中定义,默认值为3.

4.4 mapred-site.xml

首先,需要查看是否有该配置文件,若无该文件,可以通过重命名mv mapred-site.xml.template mapred-site.xml改成此文件名。
修改内容如下:


	  
			 # 指的是使用yarn运行mapreduce程序
		    mapreduce.framework.name
	    	yarn
	  

启动了HDFS之后,就可以启动yarn了。执行命令start-yarn.sh即可启动MapReduce集群。

4.5 yarn-site.xml

修改内容如下:


	
		  
			    yarn.resourcemanager.hostname
			    alary001
		  
		  
			    yarn.nodemanager.aux-services
			    mapreduce_shuffle
		  

YARN中的资源管理器(Resource Manager)负责整个系统的资源管理和调度,并内部维护了各个应用程序的ApplictionMaster信息,NodeManager信息,资源使用信息等。在2.4版本之后,Hadoop Common同样提供了HA的功能,解决了这样一个基础服务的可靠性和容错性问题。

ResourceManager (RM)负责跟踪集群中的资源,以及调度应用程序(例如,MapReduce作业)。在Hadoop 2.4之前,集群中只有一个ResourceManager,当其中一个宕机时,将影响整个集群。高可用性特性增加了冗余的形式,即一个主动/备用的ResourceManager对,以便可以进行故障转移。

YARN HA的架构如下图所示:Centos 搭建Hadoop_第1张图片

五、配置环节变量/etc/profile

需要配置JAVA_HOME以及HADOOP的相关配置,配置内容如下:

export JAVA_HOME=/usr/local/java/jdk1.8.0_131
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# set hadoop environment
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
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"

export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH:$HADOOP_HOME/sbin

然后执行source /etc/profile,让配置文件生效

六、格式化NameNode

在任意目录下(配置Hadoop环境变量的情况下)执行命令:

hdfs namenode -format或者hadoop namenode -format

实现格式化。
Centos 搭建Hadoop_第2张图片

七、启动hadoop进程

执行start-dfs.sh(注意中间没有空格);没有配置ssh免密登录之前,会不停的需要输入yes和密码,最后界面如图:
Centos 搭建Hadoop_第3张图片

八、测试访问50070端口

关闭防火墙后,

service iptables stop

打开浏览器输入:http://192.168.x.xxx:50070/

Centos 搭建Hadoop_第4张图片

九、启动yarn

执行start-yarn.sh启动yarn计算进程。

Centos 搭建Hadoop_第5张图片

在浏览器中:http://192.168.x.xxx:8088/打开主页面:
Centos 搭建Hadoop_第6张图片

踩坑填坑记录:

官网下载hadoop包,切记要下载好正确的tar.gz包,第一次因为下错包,导致各种各样的错误出现。

配置文件的修改,修改配置文件时,一定要细心细心再细心,常常因为输入一个字母或符号导致出错,之前配置时,因为多输入一个:,导致排查错误很多次。

配置文件(*-site.xml)中的主机名都可以换为ip。

如果使用主机名配置时,需要注意修改系统主机名和映射文件

Centos 搭建Hadoop_第7张图片

修改主机名称:


    vi /etc/sysconfig/network
    
    HOSTNAME=xxxx

配置映射信息:
在这里插入图片描述

启reboot,之后就可以使用主机名访问了 ,但是使用主机名访问只能虚拟机内。若需要在外部也使用主机名访问,在windows中配置hosts即可。

启动yarn和dfs时,如果不想重复输入密码,则需要进行ssh免密码登录配置。

WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER.

adoop启动时WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.错误。

解决方案,在$ vim sbin/start-dfs.sh $ vim sbin/stop-dfs.sh 将

HDFS_DATANODE_USER=root  
HADOOP_SECURE_DN_USER=hdfs  
HDFS_NAMENODE_USER=root  
HDFS_SECONDARYNAMENODE_USER=root 

改为:

HDFS_DATANODE_USER=root  
HDFS_DATANODE_SECURE_USER=hdfs  
HDFS_NAMENODE_USER=root  
HDFS_SECONDARYNAMENODE_USER=root 

hadoop 3.x 启动过程中 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

出现这种状况是因为当前账号没有配置ssh免密登录;

hadoop 3.x 启动过程中 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

hadoop 集群开启之后datanode没有启动

这个问题困扰了我很久,Master机器的各项都成功没有问题,slave机器的datanode各种启动不出来,尝试了网上的各种说法,最后还是有问题,但怀疑还是有部分配置没设置对,待查看。
hadoop 集群开启之后datanode没有启动

Hadoop集群所有的DataNode都启动不了解决办法

你可能感兴趣的:(Centos,大数据,集群搭建,Hadoop,大数据,➹➹➹环境搭建)