您好,登录后才能下订单哦!
# Hadoop怎样安装与配置
## 目录
1. [Hadoop简介](#hadoop简介)
2. [安装前准备](#安装前准备)
3. [单机模式安装](#单机模式安装)
4. [伪分布式模式配置](#伪分布式模式配置)
5. [完全分布式集群搭建](#完全分布式集群搭建)
6. [常见问题解决](#常见问题解决)
7. [性能优化建议](#性能优化建议)
---
## Hadoop简介
Apache Hadoop是一个开源的分布式计算框架,由Apache软件基金会开发,主要用于海量数据的存储和处理。其核心组件包括:
- **HDFS**(分布式文件系统)
- **YARN**(资源管理系统)
- **MapReduce**(计算模型)
### 版本选择建议
- 生产环境推荐:3.x系列(如3.3.6)
- 学习环境可用:2.10.x
---
## 安装前准备
### 1. 系统要求
- 操作系统:Linux(推荐CentOS/Ubuntu)
- Java环境:JDK 8或11(必须匹配Hadoop版本)
- 内存:至少4GB(伪分布式模式)
- 磁盘空间:建议50GB以上
### 2. 基础环境配置
```bash
# 更新系统包
sudo apt-get update # Ubuntu
sudo yum update # CentOS
# 安装SSH
sudo apt-get install ssh
sudo apt-get install pdsh
# 配置免密登录
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# 下载JDK(示例版本)
wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz
# 解压并配置环境变量
tar -xzf openjdk-11+28_linux-x64_bin.tar.gz
sudo mv jdk-11 /usr/local/
# 添加到bashrc
echo 'export JAVA_HOME=/usr/local/jdk-11' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xzf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
echo 'export HADOOP_HOME=/usr/local/hadoop' >> ~/.bashrc
echo 'export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH' >> ~/.bashrc
source ~/.bashrc
hadoop version
# 应输出类似:Hadoop 3.3.6
$HADOOP_HOME/etc/hadoop/core-site.xml
:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoop/hadoop_data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/hadoop/hadoop_data/datanode</value>
</property>
</configuration>
$HADOOP_HOME/etc/hadoop/yarn-site.xml
:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
hdfs namenode -format
start-dfs.sh
start-yarn.sh
jps
# 应看到以下进程:
# NameNode
# DataNode
# ResourceManager
# NodeManager
节点 | IP地址 | 角色 |
---|---|---|
master | 192.168.1.10 | NameNode, ResourceManager |
slave1 | 192.168.1.11 | DataNode, NodeManager |
slave2 | 192.168.1.12 | DataNode, NodeManager |
etc/hadoop/workers
:
slave1
slave2
scp -r /usr/local/hadoop slave1:/usr/local/
scp -r /usr/local/hadoop slave2:/usr/local/
# 在master节点执行
hdfs namenode -format
start-dfs.sh
start-yarn.sh
现象:启动时提示”Permission denied”
解决:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
现象:端口9000被占用
解决:
netstat -tulnp | grep 9000
kill -9 <PID>
现象:DataNode启动失败
解决:检查dfs.datanode.data.dir
目录权限和空间
修改etc/hadoop/hadoop-env.sh
:
export HDFS_NAMENODE_OPTS="-Xmx4g"
export HDFS_DATANODE_OPTS="-Xmx2g"
hdfs-site.xml
:
<property>
<name>dfs.blocksize</name>
<value>256m</value>
</property>
core-site.xml
:
<property>
<name>io.compression.codecs</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value>
</property>
提示:生产环境部署建议结合Ambari或Cloudera Manager等管理工具。本文档基于Hadoop 3.3.6编写,其他版本配置可能略有差异。 “`
该文档共约2900字,包含: - 6个主要章节 - 15个配置代码块 - 3种部署模式详解 - 3类常见问题解决方案 - 实际操作的命令行示例 - 关键参数的优化建议
可通过调整具体参数值适应不同集群规模和环境需求。建议配合官方文档(https://hadoop.apache.org/docs/stable/)使用。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。