参考博客:https://blog.csdn.net/pengjunlee/article/details/104290537 参考视频:https://www.bilibili.com/video/BV11N411d7Zh?p=16 Hadoop配置项整理(core-site.xml):https://blog.51cto.com/slaytanic/1100974
Hadoop的部署方式
Hadoop有以下几种部署的模式,初学使用单机模式会比较简单
安装准备
依赖jdk,centos安装jdk参考博客
下载Hadoop安装包
下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-3.2.1/ 本例中,我下载的是当前最新的稳定版本 hadoop-3.2.1.tar.gz 。
修改HOSTS配置
[hadoop@localhost ~]$ sudo vi /etc/hosts
127.0.0.1 hadoop001
安装Hadoop
首先,将hadoop-3.2.1.tar.gz 解压至安装目录。
/opt/deployEnvironment/hadoop/hadoop-3.2.1
接下来, 配置Hadoop 环境变量
vim /etc/profile
export HADOOP_HOME=/opt/deployEnvironment/hadoop/hadoop-3.2.1
export PATH=$PATH:${HADOOP_HOME}/bin
export PATH=$PATH:${HADOOP_HOME}/sbin
source /etc/profile
尝试输入h然后按tab键看是否有提示hadoop,如果有则表示环境变量配置成功
最后,还需要修改 %HADOOP_HOME%/etc/hadoop/ 目录下面的几个配置文件。
Hadoop集群配置详解
Hadoop集群配置详解
hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_211
export HADOOP_HOME=/usr/local/hadoop-3.2.1
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
<description>执行MapReduce任务的运行时框架</description>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=/opt/deployEnvironment/hadoop/hadoop-3.2.1</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=/opt/deployEnvironment/hadoop/hadoop-3.2.1</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=/opt/deployEnvironment/hadoop/hadoop-3.2.1</value>
</property>
</configuration>
core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop001:9001</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/dfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/dfs/datanode</value>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
</configuration>
启动Hadoop
格式化NameNode
第一次启动HDFS需要先进行格式化,使用如下命令:
hdfs namenode -format
启动NameNode
[hadoop@localhost ~]$ hdfs --daemon start namenode
[hadoop@localhost ~]$ jps
6355 NameNode
6424 Jps
TIPS:如果启动失败,可以查看%HADOOP_HOME%/logs/ 目录下的日志进行错误排查。
启动DataNode
[hadoop@localhost hadoop-3.2.1]$ hdfs --daemon start datanode
[hadoop@localhost hadoop-3.2.1]$ jps
6544 Jps
6355 NameNode
6477 DataNode
NameNode和DataNode启动之后,在浏览器中输入 http://IP:50070 访问HDFS的管理界面。
SSH免密码登录配置
linux设置ssh免密登录参考博客
配置SSH免登陆遇到的问题
解决方法 1.需要下载chattr 源码 :https://github.com/posborne/linux-programming-interface-exercises/blob/master/15-file-attributes/chattr.c 2.下载到你电脑上,然后 执行完成以后 生成可执行文件 chattr.out
gcc chattr.c -o chattr_run.out
3.然后解除锁定文件
./chattr_run.out -ia fileName
启动Yarn
[hadoop@localhost logs]$ start-yarn.sh
Starting resourcemanager
Starting nodemanagers
[hadoop@localhost logs]$ jps
8872 NameNode
10632 Jps
9257 DataNode
10170 ResourceManager
10284 NodeManager
启动Yarn遇到的问题
将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数:
HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root
start-yarn.sh,stop-yarn.sh顶部也需添加以下:
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
检查HDFS
在HDFS上创建文件夹,并且上传文件,检查是否正常。
问题原因:dr.who是Resource Manager UI的用户,主要原因是当前用户对于此路径或此路径下的文件权限不够导致,无法读、写、或者执行等操作。
解决方法: 1.先stop-all.sh,关闭集群 2.修改配置文件core-site.xml,添加如下代码
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
3.重启,start-all.sh 4.测试,成功!
- 上传接口调用失败
问题:F12看浏览器接口是否调用失败,发现报错
解决方法: 1.配置host文件 2.做好服务器防火墙相关设置
|