hadoop安装

2022-09-29 12:21:56 浏览数 (1)

安装

准备环境

代码语言:javascript复制
# 关闭防火墙,方面后面浏览器访问测试
systemctl stop firewalld
systemctl disable firewalld

# 添加IP地址映射,方便后面地址配置
vim /etc/hosts
192.168.1.89 hadoop01

# 配置SSH免密登录,方便后面服务启动

ssh-keygen
ssh-copy-id hadoop01

安装JDK

代码语言:javascript复制
解压 JDK
tar -zxf jdk-8u111-linux-x64.tar.gz

# 重命名 JDK
mv jdk1.8.0_111/ java
cp -rf java/ /usr/local

# 配置环境变量
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin

# 重新加载配置文件,使上述配置生效
source ~/.bash_profile

# 验证 JDK 配置是否正确
java -version
java version "1.8.0_111"

安装hadoop

代码语言:javascript复制
# 解压 Hadoop
tar -zxf hadoop-3.2.2.tar.gz

# 重命名 Hadoop 方便环境配置
mv hadoop-3.2.2 hadoop/
cp -rf hadoop/ /usr/local

## 配置环境变量,方便命令运行
vim ~/.bash_profile

export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin

# 重新加载配置文件,使上述配置生效
source ~/.bash_profile

# 验证

Hadoop配置是否正确
hadoop version
Hadoop 3.2.2

配置Hadoop

代码语言:javascript复制
进入Hadoop配置文件所在目录: /usr/local/hadoop/etc/hadoop

# 配置Hadoop运行环境
vim hadoop-env.sh

export JAVA_HOME=/usr/local/src/jdk
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

修改core-site.xml文件,添加如下代码

代码语言:javascript复制
<configuration>
  <!--默认文件系统的地址-->
    <property>
      <name>fs.defaultFS</name>
      <value>hdfs://hadoop01:9000</value>
    </property>

    <!--临时数据目录,用来存放数据,格式化时会自动生成-->
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/home/data/hadoop/data</value>
    </property>

    <!--在WebUI操作HDFS的用户,否则没有权限-->
    <property>
      <name>hadoop.http.staticuser.user</name>
      <value>hadoop01</value>
    </property>
</configuration>

修改hdfs-site.xml 文件,添加如下代码:

代码语言:javascript复制
<configuration>
  <!--Block的副本数,伪分布式要改为1-->
    <property>
      <name>dfs.replication</name>
      <value>1</value>
    </property>

    <!--配置有secondarynamenode的主机-->
    <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoop01:9868</value>
    </property>
</configuration>

修改yarn-site.xml文件,添加如下代码:

代码语言:javascript复制
<configuration>

<!-- Site specific YARN configuration properties -->
<!---YARN 的节点辅助服务配置 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <!---指定ResouceManager启动服务名称 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop01</value>
    </property>
</configuration>

修改mapred-site.xml文件,添加如下代码:

代码语言:javascript复制
<configuration>
  <!---计算框架的运行平台配置 -->
    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>

    <!---指定MapReduce任务运行所需依赖jar -->
    <property>
      <name>mapreduce.application.classpath</name>
      <value>$HADOOP_HOME/share/hadoop/mapreduce/*:$HADOOP_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
</configuration>

修改workers 文件,替换localhost为当前主机节点名称,指定DataNode和NodeManager的数据节点

代码语言:javascript复制
vim workers
hadoop01

格式化 hdfs 和启动

代码语言:javascript复制
hdfs namenode -format

在 /usr/local/hadoop-3.3.4/sbin 下,启动,注意 不能 sh 开头执行,直接./开头

代码语言:javascript复制
./start-all.sh

Starting namenodes on [node]
Starting datanodes
Starting secondary namenodes [node]
Starting resourcemanager
Starting nodemanagers

看一下是否有下列这些:

代码语言:javascript复制
[root@node hadoop]# jps
64759 SecondaryNameNode
65176 NodeManager
64362 NameNode
65563 Jps
65019 ResourceManager
64542 DataNode

看是否正常,浏览

浏览 ResourceManager 的 Web 界面;默认情况下,它位于:

资源管理器: http://hadoop01:8088/ web查看HDFS 文件: http://hadoop01:9870/explorer.html#/

通过HDFS命令创建一个文件夹做测试

代码语言:javascript复制
hdfs dfs -mkdir /test
hdfs dfs -ls -R /

0 人点赞