《Hadoop分布式集群安装全攻略》
一、安装前的准备工作
1、系统环境准备
- 选择合适的操作系统,例如CentOS或Ubuntu,以CentOS为例,确保系统已经安装并且网络配置正确,需要配置静态IP地址,以便集群中的节点能够相互通信。
图片来源于网络,如有侵权联系删除
- 关闭防火墙或者开放相关端口(如Hadoop使用的端口等),在CentOS中,可以使用命令systemctl stop firewalld
关闭防火墙,或者使用firewall - cmd
命令开放特定端口,如firewall - cmd --zone = public --add - port = 8088/tcp --permanent
(8088为YARN的Web UI端口)然后firewall - cmd --reload
。
- 安装必要的软件包,如ssh
用于节点之间的无密码登录,可以使用yum install openssh - server
命令进行安装,并且启动sshd
服务(systemctl start sshd
)。
2、硬件资源规划
- 确定集群中的节点数量,包括主节点(NameNode、ResourceManager等)和从节点(DataNode、NodeManager等),根据数据量和计算需求,合理分配内存、磁盘空间和CPU资源,如果要处理大量的数据,从节点的磁盘空间应该足够大,主节点的内存也需要满足运行管理服务的要求。
3、下载Hadoop安装包
- 从Hadoop官方网站(https://hadoop.apache.org/releases.html)下载适合的Hadoop版本,选择稳定版本,例如Hadoop 3.x系列,将下载的安装包(如hadoop - 3.x.x.tar.gz
)上传到主节点的指定目录,如/opt
目录下。
二、Hadoop的安装步骤
1、解压安装包
- 在主节点上,进入到/opt
目录(假设安装包上传到此处),使用命令tar - zxvf hadoop - 3.x.x.tar.gz
解压Hadoop安装包,解压后,可以将目录重命名为hadoop
,例如mv hadoop - 3.x.x hadoop
。
2、配置环境变量
- 编辑/etc/profile
文件,添加Hadoop的环境变量,在文件末尾添加如下内容:
```
export HADOOP_HOME = /opt/hadoop
export PATH = $PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
```
- 保存文件后,使用命令source /etc/profile
使环境变量生效。
3、配置Hadoop核心文件(hadoop - env.sh、core - site.xml等)
- 编辑$HADOOP_HOME/etc/hadoop/hadoop - env.sh
文件,设置Java环境变量,找到export JAVA_HOME =
这一行,将其修改为实际的Java安装路径,例如export JAVA_HOME = /usr/lib/jvm/java - 1.8.0 - openjdk - amd64
(根据实际安装的Java版本和路径进行修改)。
- 编辑$HADOOP_HOME/etc/hadoop/core - site.xml
文件,配置Hadoop的核心参数。
```xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
</configuration>
```
图片来源于网络,如有侵权联系删除
这里fs.defaultFS
指定了HDFS的默认文件系统的地址,master
是主节点的主机名,9000
是HDFS的默认端口;hadoop.tmp.dir
指定了Hadoop临时文件的存储目录。
4、配置HDFS相关文件(hdfs - site.xml)
- 编辑$HADOOP_HOME/etc/hadoop/hdfs - site.xml
文件,配置HDFS的相关参数。
```xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/dfs/data</value>
</property>
</configuration>
```
dfs.replication
表示数据块的副本数量,dfs.namenode.name.dir
指定了NameNode存储元数据的目录,dfs.datanode.data.dir
指定了DataNode存储数据块的目录。
5、配置YARN相关文件(yarn - site.xml)
- 编辑$HADOOP_HOME/etc/hadoop/yarn - site.xml
文件,配置YARN(Yet Another Resource Negotiator)相关参数。
```xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux - services</name>
<value>mapreduce_shuffle</value>
图片来源于网络,如有侵权联系删除
</property>
</configuration>
```
yarn.resourcemanager.hostname
指定了YARN资源管理器所在的主机名,yarn.nodemanager.aux - services
指定了NodeManager的辅助服务。
6、配置MapReduce相关文件(mapred - site.xml)
- 从模板文件mapred - site.xml.template
复制一份为mapred - site.xml
,然后编辑它,添加如下内容:
```xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
```
这使得MapReduce任务运行在YARN之上。
7、设置无密码登录
- 在主节点上生成SSH密钥对,使用命令ssh - keygen - t rsa
,一路回车默认即可,然后将公钥id_rsa.pub
追加到主节点和从节点的authorized_keys
文件中,在主节点上,可以使用ssh - copy - id master
(将公钥复制到自身,方便本地无密码登录操作)和ssh - copy - id slave1
(假设slave1
是从节点主机名)等操作将公钥复制到各个节点。
8、在从节点上安装Hadoop
- 将主节点上的/opt/hadoop
目录(已经配置好的Hadoop安装目录)复制到从节点上,可以使用scp - r /opt/hadoop slave1:/opt
(假设复制到slave1
从节点)等命令进行复制,并且在从节点上也要配置好环境变量,方法与主节点相同。
9、启动Hadoop集群
- 在主节点上,首先格式化HDFS文件系统,使用命令hdfs namenode - format
,注意,这个操作只需要在第一次启动集群或者重新初始化集群时执行。
- 然后启动Hadoop集群,可以使用start - all.sh
命令启动所有的Hadoop服务(包括HDFS和YARN相关服务),如果启动成功,可以通过浏览器访问http://master:50070
查看HDFS的Web UI,通过http://master:8088
查看YARN的Web UI。
三、安装后的验证与测试
1、HDFS验证
- 在HDFS上创建一个测试目录,例如hdfs dfs - mkdir /test
,然后上传一个本地文件到这个目录,如hdfs dfs - put /etc/hosts /test
,可以通过hdfs dfs - ls /test
命令查看文件是否上传成功。
2、MapReduce测试
- 运行一个简单的MapReduce示例任务,如Hadoop自带的wordcount
示例,首先创建一个测试文本文件,如echo "hello world" > test.txt
,然后将这个文件上传到HDFS,hdfs dfs - put test.txt /input
(假设创建了/input
目录),接着运行wordcount
任务,使用命令hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop - mapreduce - examples - 3.x.x.jar wordcount /input /output
,任务运行完成后,可以通过hdfs dfs - ls /output
查看输出结果。
通过以上步骤,就可以成功安装和配置一个Hadoop分布式集群,并进行基本的验证和测试操作,在实际使用过程中,可能还需要根据具体的业务需求和集群规模进行进一步的优化和调整。
评论列表