hadoop3环境搭建
一、hadoop环境搭建
1、环境准备
1.1软件准备
操作系统:centos7 hadoop版本:3.3.1 java版本:1.8
1.2集群规划
主节点: hadoop0 192.168.15.10
从节点1: hadoop1 192.168.15.11
从节点2: hadoop2 192.168.15.12
1.3配置主机名与IP映射(3个节点都配置)
设置主机名:
vi /etc/hostname
#修改文件内容为hadoop0
设置主机名及IP映射:
vi /etc/hosts
#在文件尾部添加内容,格式:IP地址 主机名(中间用空格分隔),保存退出
192.168.15.10 hadoop0
192.168.15.11 hadoop1
192.168.15.12 hadoop2
验证:
ping hadoop0
ping hadoop1
ping hadoop2
2、伪分布式hadoop集群搭建
PS:以下操作均是对hadoop主节点配置:主要配置主机名与IP映射、ssh免密钥登录等等。
2.1java环境安装
$ mv jdk1.8.0_251 /usr/local/java
$ vi /etc/profile
#自定义环境变量
export JAVA_HOME=/usr/local/java
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
$ source /etc/profile
2.2ssh免密钥登录
#如果以前配置过,可以删除,每台机器都操作一次
rm -f ~/.ssh/known_hosts
ssh-keygen
#剩下的一路回车即可
ssh-copy-id hadoop0
#根据提示输入yes以及密码,密码也可以设置为空
ssh-copy-id hadoop1
ssh-copy-id hadoop2
验证是否免密钥
$ ssh localhost
$ ssh 127.0.0.1
$ ssh hadoop0
$ ssh hadoop1
$ ssh hadoop2
2.3hadoop环境配置
PS:进入/usr/local/hadoop/etc/hadoop目录,涉及的配置文件有:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml
@1配置hadoop-env.sh
export JAVA_HOME=/usr/local/java
@2配置core-site.xml
<configuration>
<!--hdfs的默认访问地址、端口-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop0:8020</value>
</property>
<!--hdfs临时路径-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
</configuration>
@3配置hdfs-site.xml
<configuration>
<!--hdfs webui地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop0:50070</value>
</property>
<!--文件副本数-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--是否启用hdfs权限检查:false表示关闭-->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>
@4配置yarn-site.xml
<configuration>
<!--集群master-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop0</value>
</property>
<!--NodeManager上运行的附属服务-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</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>
</configuration>
@5配置mapred-site.xml(需要修改模板:cp mapred-site.xml.template mapred-site.xml)
<configuration>
<!--local表示本地运行,classic表示经典mapreduce框架,yarn表示新的框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--如果map和reduce任务访问本地库(压缩等),则必须保留原始值
当此值为空时,设置执行环境的命令将取决于操作系统:
Linux:LD_LIBRARY_PATH=$HADOOP_COMMON_HOME/lib/native.
windows:PATH =%PATH%;%HADOOP_COMMON_HOME%\\bin.
-->
<property>
<name>mapreduce.admin.user.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<!--可以设置AM【AppMaster】端的环境变量,如果上面缺少配置,可能会造成mapreduce失败-->
<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>
</configuration>
2.4格式化hadoop并启动伪分布式集群
进入到/usr/local/hadoop目录下
@1格式化(格式化操作不能重复执行。如果一定要重复格式化,带参数-force即可)
bin/hdfs namenode -format
#注意:在执行的时候会报错,是因为缺少which命令,安装即可
#执行下面命令安装
yum install -y which
@2启动伪分布式hadoop
sbin/start-all.sh
#当出现以下错误时:
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
解决方案一( 不推荐,有时候不起作用):
vi /etc/profile
#然后向里面加入如下的内容
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
#输入如下命令使配置文件生效
source /etc/profile
解决方案二(推荐):
#ps:
#1.master,slave都需要修改start-dfs.sh,stop-dfs.sh,start-yarn.sh,stop-yarn.sh四个文件
#2.如果你的Hadoop是另外启用其它用户来启动,记得将root改为对应用户
#hadoop/sbin路径下面:将start-dfs.sh,stop-dfs.sh俩个文件顶部添加以下参数
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
#hadoop/sbin路径下面:将start-yarn.sh、stop-yarn.sh俩个文件顶部添加以下参数
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
@3验证是否成功
jps
#当出现以下进程说明hadoop伪分布式搭建成功
NodeManager
Jps
NameNode
Secondar yNameNode
ResourceManager
DataNode
3、完全分布式hadoop集群搭建
ps:以下操作都在主节点操作
进入/usr/local/hadoop
@1停止上一步的伪分布式hadoop
sbin/stop-all.sh
@2指定nodemanager的地址,修改文件yarn-site.xml
<property>
<description>The hostname of the RM.</description>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop0</value>
</property>
@3修改hadoop0的hadoop的一个配置文件etc/hadoop/workers
#ps:hadoop从3.3.0版本后,slaves配置文件名更名为workers
#删除原来的所有内容,修改为如下
hadoop1
hadoop2
@4拷贝至其他俩个节点
scp -rq /usr/local/hadoop hadoop1:/usr/local/
scp -rq /usr/local/hadoop hadoop2:/usr/local/
@5启动hadoop分布式集群服务
sbin/start-all.sh
#ps:在执行的时候会报错,是因为两个从节点缺少which命令,安装即可(yum install -y which)
@6验证完全分布式集群是否正常
#hadoop0主节点需要以下进程
NameNode
SecondaryNameNode
ResourceManager
JPS
#hadoop1从节点需要以下进程
NodeManager
DataNode
JPS
#hadoop2从节点需要以下进程
NodeManager
DataNode
JPS
@7 出现异常的处理办法
–slave的datanode无法启动
#查看日志,/usr/local/hadoop/logs
#清空/usr/local/hadoop下面的logs、tmp目录
#主节点master再一次执行 bin/hdfs namenode -format -force
– hdfs dfsadmin -report查看datanode为空
#每个Node都执行,删除datanode配置的dfs.data.dir目录
#本次集群是配置到以下目录
rm -rf /usr/local/hadoop/tmp/*
#master再一次执行格式化
hdfs namenode -format -force
4、wordcount单词计数验证集群服务
1.创建本地文件并写入任意内容
vi a.txt
hello hadoop
hello spark
hello flink
2.上传该文件到HDFS并验证是否上传成功
hdfs dfs -put a.txt /
hadoop fs -ls /
3.提交job程序至hadoop集群
cd /usr/local/hadoop/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-3.3.1.jar wordcount /a.txt /out
4.查看计算结果
hadoop fs -ls /out
hadoop fs -cat /out/part-r-00000
5、WEBUI地址查看
5.1hdfs查看地址
#根据hdfs-site.xml配置的地址
http://hadoop0:50070
5.2yarn查看地址
#默认地址
http://hadoop0:8088
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfhcbaf
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13