以下是一个学习hadoop一个学期后配置的文件,如有问题,请不吝赐教
目前Hadoop支持最高的运行版本是jdk11,再高就会出问题
目前 Hadoop支持最高运行加编译版本是8,我展示的
目录
一,压缩包准备
jdk
国内编程宝库的源JDK下载 - 编程宝库(亲测最快但是要注册登录)
另外请注意oracle的jdk只能用作学习,不能打包到应用中发布(否则侵权)
详情请看:在使用上OracleJDK和OpenJDK有什么区别? - 知乎
Hadoop
清华源:Index of /apache/hadoop/common
MobaXterm_Personal安装
此安装是为了将jdk和hadoop压缩包上传到虚拟机中,如果你有别的办法可以跳过
Mobaxterm详细安装配置教程_mobaxterm安装_我叫刘十三的博客-CSDN博客
注意:MobaXterm_Personal要求linux配置静态ip,无法使用
配置完成后,将jdk和Hadoop压缩包上传到linux虚拟机中
二, 配置jdk
解压
使用tar命令将文件解压到/usr/local目录中(默认压缩包在/usr/local中)
# 将压缩包解压并上传到指定目录
tar -zxvf openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz -C /usr/local
# 指定关键字查找文件(确定文件是否解压成功)
ls /usr/local | grep jdk
配置环境变量
在 /etc/profile文件末尾配置如下如下变量
# 配置文件路径变量
# 设置类文件路径变量
# 设置运行环境变量
export JAVA_HOME=/usr/local/java-se-8u41-ri
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/
刷新
source /etc/profile
验证
三, 配置hadoop
解压
tar -zxvf /usr/local/hadoop-3.3.5.tar.gz -C /usr/local/
配置环境变量
# shift + g 自动跳转到文件末尾
export HADOOP_HOME=/usr/local/hadoop-3.3.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
更新/etc/profile文件
source /etc/profile
测试
取消变量HADOOP_PREFIX解决varning警告
unset HADOOP_PREFIX
配置文件
在$HADOOP_HOME/etc/hadoop文件中配置
core-site.xml, yarn-site.xml, workers(老版本的slaves文件),hadoop-env.sh
core-site.xml代码如下:
<configuration>
<!--指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://主机名:9000</value>
</property>
<!--指定HADOOP运行时产生文件的存储目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-3.3.5/data</value>
</property>
</configuration>
yarn-site.xml如下:、
<configuration>
<!-- 指定reducer获取数据的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的老大(ResourceManager)的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
</configuration>
workers如下( 配置datanode在那些集群 )
配置hadoop-env.sh
在JAVA_HOME下面加
source /etc/profile
配置映射文件/etc/hosts:
测试/etc/hosts是否配置成功
配置定义用户:
将start-dfs.sh,stop-dfs.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
将start-yarn.sh,stop-yarn.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数
YARN_RESOURCEMANAGER_USER=root
HDFS_DATANODE_SECURE_USER=yarn
YARN_NODEMANAGER_USER=root
设置免密登录
# 输入后一路回车
ssh-keygen -t -rsa
# master是主机名
ssh-copy-id -i ~/.ssh//id_rsa.pub master
配置完成
验证
web端口9870
web端口8088
上传文件测试
总结
这是我的第一分博客,老实说,我写这个很幸苦,因为本来想弄一个java最新版本,发现实现不了,有临时改,最后又要处理一些细节warning,特别是从别人那里copy来了一个过时变量,找了半天才发现,真的是。不过,后面运行完之后看到一个报错都没有,甚至是warning的时候,我很满足。我这应该是,走歪路了,因为我学的使用hadoop,现在,却在教你们配置hadoop,估计老师要ma jie 了,哈哈哈。另外补一句,你的建议对我很重要,请一定不吝赐教。累,睡觉去。
以下是我的查考博客:
jdk安装参考
Linux系统下安装jdk及环境配置(两种方法)_linux安装jdk_凉凉的西瓜的博客-CSDN博客
过时变量问题参考
没有slaves文件问题参考
为什么hadoop没有slaves配置文件?_LousenJay的博客-CSDN博客
所有集群成功启动,但是无法登录50070端口