Linux安装并配置Hadoop

目录

  • 一、安装并配置JDK
  • 二、安装并配置Hadoop
  • 三、安装过程中遇到的问题总结

一、安装并配置JDK

Linux上一般会安装Open JDK,关于OpenJDK和JDK的区别:http://www.cnblogs.com/sxdcgaq8080/p/7487369.html

准备Open JDK 1.8

查询可安装的java版本

bash 复制代码
yum -y list java*

安装jdk1.8,由于我是M1 ARM系统,因此

bash 复制代码
yum install -y java-1.8.0-openjdk.aarch64

java -version查看已安装的jdk版本

java的安装目录为:/usr/lib/jvm

在/etc/profile下配置环境变量(这里已经配置了完整的环境变量,包括Hadoop)

bash 复制代码
# set java environment
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el8_4.aarch64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/opt/hadoop-1.2.1
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

二、安装并配置Hadoop

使用wget下载Hadoop压缩包

bash 复制代码
wget https://archive.apache.org/dist/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz

将hadoop压缩包移动至/opt目录下,并且解压

bash 复制代码
mv hadoop-1.2.1.tar.gz /opt/
cd /opt
tar -zxvf hadoop-1.2.1.tar.gz

可以在hadoop目录中配置conf目录下的文件

hadoop-env.sh

修改JAVA_HOME环境变量

bash 复制代码
# The java implementation to use.  Required.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el8_4.aarch64

core-site.xml

xml 复制代码
<configuration>
    <!-- hadoop工作目录-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/hadoop/tmp</value>
    </property>
    <!-- 元数据目录-->
    <property>
        <name>dfs.name.dir</name>
        <value>/hadoop/name</value>
    </property>
    <!--文件系统访问路径-->
    <property>
        <name>fs.default.name</name>
        <value>hdfs://imooc:900</value>
    </property>
</configuration>

hdfs-site.xml

xml 复制代码
<configuration>
    <!-- 文件系统数据存放目录-->
    <property>
        <name>dfs.data.dir</name>
        <value>/hadoop/data</value>
    </property>
</configuration>

mapred-site.xml

xml 复制代码
<configuration>
    <!-- 任务调度器访问路径-->
    <property>
        <name>mapred.job.tracker</name>
        <value>imooc:9001</value>
    </property>
</configuration>

在/etc/profile下,配置Hadoop环境变量

shell 复制代码
export HADOOP_HOME=/opt/hadoop-1.2.1

并且修改export PATH

shell 复制代码
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

在hadoop的bin目录下,对Hadoop的namenode进行格式化操作

shell 复制代码
hadoop namenode -format

并在bin目录启动hadoop,使用jps命令查看hadoop是否正常运行

使用其命令,查看hadoop下的文件

bash 复制代码
hadoop fs -ls /

可以看到有一个 Hadoop文件

三、安装过程中遇到的问题总结

1、ssh免密

运行staet-all.sh出现The authenticity of host 'localhost (::1)' can't be established,需要设置ssh免密

bash 复制代码
ssh -o StrictHostKeyChecking=no 192.168.2.100(本机IP)

2、hostname错误

运行staet-all.sh出现Exception in thread "main" java.net.UnknownHostException: unknown host: xxx
注意:hdfs://net:9000中的net是linux的主机名,可以通过echo $HOSTNAME查询主机

3、jps缺少

输入jps命令后,只有jps,那就说明配置有误,按照上文配置进行检查

4、warn信息

在输入一些hadoop命令时,可以看到如下的警告信息,但是不影响运行
Warning: $HADOOP_HOME is deprecated.

需在/etc/profile中添加

shell 复制代码
 export HADOOP_HOME_WARN_SUPPRESS=0
相关推荐
readhere3 小时前
从ZYNQ7000开发板,学会启动嵌入式Linux系统——入门学习:EBAZ4205篇目录
linux·启动·嵌入式linux·zynq7000·ebaz4205
打工仔折腾 AI4 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
yyuuuzz4 小时前
跨境站点日志时区混乱的排查记录
运维·服务器·网络·云计算·aws·1024程序员节
‎ദ്ദിᵔ.˛.ᵔ₎5 小时前
关于Linux 线程局部存储的认识
linux·运维
GlobalInfo5 小时前
全球及中国风电叶片检测机器人行业研究报告(2026版):市场现状、行业前景与占有率分析
运维·网络·人工智能·机器人
隔窗听雨眠6 小时前
KingbaseES平替全链路实践:从迁移评估到可持续运维
运维
skywalk81637 小时前
登到192.168.1.5那台机器,看看今天白天,大约从早晨到晚上,都卡住了。看看因为什么卡住,为什么卡住而没有杀死那个导致卡死的进程,为什么
运维·系统·freebsd
运维行者_7 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
小小de风呀7 小时前
de风——【从零开始学习Linux】(九):进程基础 —— 从冯诺依曼体系到 fork 创建进程
linux·学习