Hadoop3.3.1详细教程(五)Hadoop全分布式搭建

一、haoop解压、创建软连接
将hadoop-3.3.1.tar.gz上传到服务器~/apps下
tar -xf hadoop-3.3.1.tar.gz -C /usr/local
进入/usr/local 后使用 ln -s hadoop-3.3.1 hadoop3 创建一个软连接

二、配置环境变量
在/etc/profile.d下使用vi命令新建hadoop.sh

export  HADOOP_HOME=/usr/local/hadoop3
export  PATH=$PATH:$HADOOP_HOME/bin
export  PATH=$PATH:$HADOOP_HOME/sbin

以上可复制到vi编辑器中:

保存,调用 source hadoop.sh
测试版本号 hadoop version

三、配置hadoop环境脚本中的java参数
在hadoop2/etc/hadoop下的
[root@hadoop01 hadoop]# vim hadoop-env.sh

在文件最后添加上

export JAVA_HOME=$JAVA_HOME
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

四、创建Hadoop存储目录,在/目录下新建三个文件

[root@hp1 /]# mkdir -p  hadoop_data/tmp
[root@hp1 /]# mkdir -p  hadoop_data/dfs/name
[root@hp1 /]# mkdir    hadoop_data/dfs/data

五、配置主从结点
删除hadoop2/etc/hadoop/slaves中配置,将hp1、hp2、hp3添加到workers文件中作为集群的slaves(一行一个)

六、Hadoop文件配置
配置core-site.xml

<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://hp1:9000value>
property>
<property>
<name>io.file.buffer.sizename>
<value>131072value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>file:/hadoop_data/tmpvalue>
property>
configuration>

配置改hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.secondary.http-addressname>
<value>hp1:9001value>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>file:/hadoop_data/dfs/namevalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>file:/hadoop_data/dfs/datavalue>
property>
<property>
<name>dfs.replicationname>
<value>2value>
property>
<property>
<name>dfs.webhdfs.enabledname>
<value>truevalue>
property>
configuration>

yarn-site.xml:

<configuration>

<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>


<property>
<name>yarn.resourcemanager.hostnamename>
<value>hp301value>
property>

<property>
<name>yarn.nodemanager.env-whitelistname>

<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOMEvalue>
property>

<property>
<name>yarn.log-aggregation-enablename>
<value>truevalue>
property>

<property>
<name>yarn.log.server.urlname>
<value>http://hp301:19888/jobhistory/logsvalue>
property>

<property>
<name>yarn.log-aggregation.retain-secondsname>
<value>604800value>
property>
configuration>

mapred-site-xml:
复制文件:
cp mapred-site.xml.template mapred-site.xml

<configuration>
	<property><name>mapreduce.framework.namename>
	<value>yarnvalue>
property>
<property>
	<name>mapreduce.jobhistory.addressname>
	<value>hp1:10020value>
property>
<property>
	<name>mapreduce.jobhistory.webapp.addressname>
	<value>hp1:19888value>
property>
configuration>

七、分发hp1的配置到hp2、hp3:

将hadoop远程复制到hp2 hp3上

[root@hp1 /]# scp -r /usr/local/hadoop-2.8.5/  hp2:/usr/local
[root@hp1 /]# scp -r /usr/local/hadoop-2.8.5/  hp3:/usr/local

然后分别在hp2、hp3建一个软连接。 ln -s hadoop-2.8.5 hadoop2

将hadoop 环境变量远程复制到hp2 hp3上

[root@hp1 /]# scp -r /etc/profile.d/hadoop.sh  hp2:/etc/profile.d
[root@hp1 /]#scp -r /etc/profile.d/hadoop.sh  hp3:/etc/profile.d

并在hp2、hp3中分别调用source hadoop.sh

将文件夹分发:

[root@hp1 /]# scp -r hadoop_data/  hp2:/
[root@hp1 /]# scp -r hadoop_data/  hp3:/

测试版本号 hadoop version

八、格式化主节点的存储目录
只对hp1的hadoop_data格式化。
第一次启动hadoop是需要格式化hadoop的namenode
命令:

hdfs namenode -format

九、启动hadooop
启动dfs
命令:start-dfs.sh
启动yarn
命令:start-yarn.sh

通过jps命令,可以查看hadoop启动的进程
在hp01结点上,正常应该包含
NameNode
SecondaryNameNode
ResourceManager

在hp02和hp03结点上,正常应该包含
DataNode
NodeManager

NameNode没有启动的解决方案

首先,打开hp01结点上的/usr/local/hadoop2下的logs文件夹中hadoop-namenode.hp01.log文件。
查看有什么Java异常信息。根据异常信息进行错误的解决。

如果异常仅仅显示IOExcepiton:NameNode is not formatted

则需要将hp01、hp02、hp03三个节点的/hadoop_data文件夹删除,然后重启三个节点,分别创建这一组目录,然后重新对hp01进行格式化。

关闭yarn
命令:stop-yarn.sh
关闭dsf
命令:stop-dfs.sh
关闭yarn
命令:stop-yarn.sh
关闭dsf
命令:stop-dfs.sh

十、测试hadoop安装
在web页面中查看hdfs和yarn
http://192.168.150.101:9870
http://192.168.150.101:8088

你可能感兴趣的:(Hadoop3,hadoop,大数据)