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

一、haoop解压、创建软连接
将hadoop-3.3.1.tar.gz上传到服务器hp1的/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参数
在hadoop3/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

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

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

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hp1:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/hadoop_data/tmp</value>
</property>
</configuration>

配置改hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hp1:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/hadoop_data/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/hadoop_data/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

yarn-site.xml:

<configuration>
<!-- 指定 MR 走 shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

<!-- 指定 ResourceManager 的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hp1</value>
</property>
<!-- 环境变量的继承 -->
<property>
<name>yarn.nodemanager.env-whitelist</name>

<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<!-- 开启日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://hp1:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为 7 天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>

mapred-site-xml:

<configuration>
	<property><name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>
<property>
	<name>mapreduce.jobhistory.address</name>
	<value>hp1:10020</value>
</property>
<property>
	<name>mapreduce.jobhistory.webapp.address</name>
	<value>hp1:19888</value>
</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启动的进程
在hp1结点上,正常应该包含
NameNode
SecondaryNameNode
ResourceManager

在hp2和hp3结点上,正常应该包含
DataNode
NodeManager

NameNode没有启动的解决方案

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

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

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

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

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

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值