一,安装jdk

一般为

apt install openjdk-8-jdk

默认安装位置在/usr/lib/jvm/文件夹中

二,下载hadoop

mkdir /usr/local/hadoop
 wget https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz -O /usr/local/hadoop/hadoop-3.1.3.tar.gz
tar -zxvf hadoop-3.1.3.tar.gz

三,配置hadoop

vim /etc/profile.d/hadoop.sh
export HADOOP_HOME=/usr/local/hadoop/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
新建用户
adduser hadoop
设置密码
passwd hadoop
新建用户组
groupadd hadoop
用户加到用户组
usermod -G hadoop hadoop
mkdir -p /home/hadoop/tmp # 临时文件目录
mkdir -p /home/hadoop/hdfs/name # namenode文件目录
mkdir -p /home/hadoop/hdfs/data # datanode文件目录
mkdir -p /home/hadoop/log # 日志文件目录
sudo chown -R hadoop /home/hadoop # 设置hadoop目录所有者

四,修改hadoop配置文件

以下操作均在usr/local/hadoop/hadoop-3.1.3/etc/hadoop目录

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
        <description>hdfs监听端口</description>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/hadoop/tmp</value>
        <description>hadoop临时数据存放</description>
    </property>
</configuration>
<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoop/hdfs/name</value>
        <description>HDFS的元数据储存目录</description>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoop/hdfs/data</value>
         <description>数据块存储目录</description>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
      <description>HDFS中数据块的复制因子,value代表复制次数</description>
    </property>
</configuration>

:::tip{title="提示"}
root用户还需要在hadoop-3.1.3/sbin目录下修改start-dfs.sh,stop-dfs.sh,start-yarn.sh,stop-yarn.sh在顶部添加即可
:::

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

五,设置SSH免密访问本地

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

输入以下命令,测试免密是否成功

ssh localhost

如创建的时候提示.ssh目录不存在,则切回root用户自行创建后再使用hadoop用户创建

:::tip{title="提示"}
root用户也需要设置免密登录
:::

六,启动hadoop

./bin/hdfs namenode -format
./sbin/start-all.sh

-使用jps命令查看是否启动成功

image.png