在kali linux中配置hadoop伪分布式

目录

    • 一. 配置静态网络
    • 二. 配置主机名与IP地址映射
    • 三. 配置SSH免密登录
    • 四. 配置Java和Hadoop环境
    • 五. 配置Hadoop伪分布式
    • 六. 启动与验证


一. 配置静态网络

原因:Hadoop集群依赖稳定的网络通信,动态IP可能导致节点失联。静态IP确保节点始终通过固定地址通信。

操作步骤

# 修改网络配置文件
sudo vim /etc/network/interfaces
# 添加内容(根据实际网络修改):
auto eth0
iface eth0 inet static
address 192.168.238.150
netmask 255.255.255.0
gateway 192.168.238.2

# 断开网络
sudo systemctl stop networking

# 修改dns文件
sudo vim /etc/resolv.conf
# 添加内容(根据实际网络修改)
nameserver 192.168.238.2

# 启动网络
sudo systemctl start networking

二. 配置主机名与IP地址映射

原因:通过主机名代替IP,提高配置可读性。

操作步骤

# 修改主机名
sudo hostnamectl set-hostname hadoop 

# 修改hosts文件
sudo vim /etc/hosts

# 添加映射(根据实际情况修改):
192.168.238.150 hadoop

# 重启生效
reboot

三. 配置SSH免密登录

原因:Hadoop节点间需频繁通信,免密登录简化操作并支持自动化任务。

操作步骤

# 生成密钥对(一路回车)
ssh-keygen -t rsa

# 将公钥拷贝到本机
ssh-copy-id hadoop  # 本机

# 测试免密登录
ssh hadoop

四. 配置Java和Hadoop环境

原因:Hadoop基于Java开发,依赖JVM运行;环境变量使在终端识别命令。

jdk8官方下载
hadoop3.4.1官方下载
操作步骤

# 分别解压jdk8和hadoop
tar -zxvf  

# 配置环境变量
vim ~/.zshrc

# 添加以下内容:
export JAVA_HOME=/soft/java1.8   # jdk8安装路径
export HADOOP_HOME=/soft/hadoop-3.4.1   # Hadoop安装路径
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

# 生效配置
source ~/.zshrc

五. 配置Hadoop伪分布式

关键配置文件修改

  1. hadoop-env.sh
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh

# 设置JAVA_HOME
export JAVA_HOME=/soft/java1.8    # jdk8安装路径
  1. core-site.xml

<configuration>
  
  <property>
    
    <name>fs.defaultFSname>
    <value>hdfs://hadoop:9000value>
  property>

  
  <property>
    
    <name>hadoop.tmp.dirname>
    <value>/soft/hadoop-3.4.1/data/hadoop_tmpvalue>
  property>
configuration>
  1. hdfs-site.xml

<configuration>
  
  <property>
    
    <name>dfs.replicationname>
    <value>1value>
  property>

  
  <property>
    
    <name>dfs.namenode.name.dirname>
    <value>/soft/hadoop-3.4.1/data/hadoop_data/dfs/namenodevalue>
  property>

  
  <property>
    
    <name>dfs.datanode.data.dirname>
    <value>/soft/hadoop-3.4.1/data/hadoop_data/dfs/datanodevalue>
  property>
configuration>

  1. mapred-site.xml

<configuration>
  
  <property>
    
    <name>mapreduce.framework.namename>
    <value>yarnvalue>
  property>

  
  <property>
    
    <name>yarn.app.mapreduce.am.envname>
    <value>HADOOP_MAPRED_HOME=$HADOOP_HOMEvalue>
  property>

  
  <property>
    
    <name>mapreduce.map.envname>
    <value>HADOOP_MAPRED_HOME=$HADOOP_HOMEvalue>
  property>

  
  <property>
    
    <name>mapreduce.reduce.envname>
    <value>HADOOP_MAPRED_HOME=$HADOOP_HOMEvalue>
  property>

  
  <property>
    
    <name>mapreduce.jobhistory.addressname>
    <value>hadoop:10020value>
  property>

  
  <property>
    
    <name>mapreduce.jobhistory.webapp.addressname>
    <value>hadoop:19888value>
  property>

  
  <property>
    
    <name>mapreduce.jobhistory.webapp.https.addressname>
    <value>hadoop:19890value>
  property>
configuration>
  1. yarn-site.xml

<configuration>
  
  <property>
    
    <name>yarn.nodemanager.aux-servicesname>
    <value>mapreduce_shufflevalue>
  property>
configuration>

更多详细的配置参考 hadoop doc


六. 启动与验证

  1. 格式化HDFS
hdfs namenode -format  # 仅首次启动执行
  1. 启动HDFS、YARN和JobHistory
start-dfs.sh
start-yarn.sh
mapred --daemon start historyserver
  1. 验证进程
jps  
# 应包含以下进程:
# DataNode
# SecondaryNameNode
# NameNode
# Jps
# JobHistoryServer
# ResourceManager
# NodeManager

  1. 运行WordCount测试
# 创建输入目录
hdfs dfs -mkdir /input
hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input

# 执行WordCount
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.4.1.jar
 wordcount /input /output

# 查看结果
hdfs dfs -cat /output/*
  1. 网页验证
    用 kali linux本地火狐浏览器访问
  • HDFS状态:访问 http://hadoop:9870
  • YARN状态:访问 http://hadoop:8088
  • JobHistory状态:访问 http://hadoop:19888

完成! 至此,Hadoop伪分布式环境已配置并验证成功。

你可能感兴趣的:(三,数据分析,分布式,linux,hadoop)