服务器搭建hadoop集群

本教程详细介绍了在CentOS系统上搭建Hadoop 2.x集群的步骤,包括创建hadoop用户、安装SSH并实现无密码登录、安装Java环境、配置集群/分布式环境,以及启动和关闭Hadoop集群的流程。适用于两个节点的集群环境,通过验证确保各节点间能正常通信和无密登录。

环境

使用 centos 作为系统环境,基于原生 Hadoop 2,在 Hadoop 2.7.x版本下验证通过,可适合任何 Hadoop 2.x.y 版本,例如 Hadoop 2.7.1,Hadoop 2.4.1 等。

本教程简单的使用两个节点作为集群环境: 一个作为 Master 节点,局域网 IP 为 192.168.1.121;另一个作为 Slave 节点,局域网 IP 为 192.168.1.122。

准备工作

Hadoop 集群的安装配置大致为如下流程:

  1. 选定一台机器作为 Master
  2. 在 Master 节点上配置 hadoop 用户、安装 SSH server、安装 Java 环境
  3. 在 Master 节点上安装 Hadoop,并完成配置
  4. 在其他 Slave 节点上配置 hadoop 用户、安装 SSH server、安装 Java 环境
  5. 将 Master 节点上的 /usr/local/hadoop 目录复制到其他 Slave 节点上
  6. 在 Master 节点上开启 Hadoop

安装步骤

创建hadoop用户(Slave同理)

1、创建新用户:sudo useradd -m hadoop

2、设置hadoop用户密码:sudo passwd hadoop

3、为hadoop用户增加管理员权限,方便部署:sudo adduser hadoop sudo

4、为了便于区分,修改各个节点的主机名,在Master节点上修改主机名:sudo vim /etc/hostname

Master
// 或者HOSTNAME=Master

5、修改所用节点的IP映射,一般该文件中只有一个127.0.0.1 localhost,如果有多余的应该删除,特别注意的是不要有与下面增加的内容重复(Slave同理):sudo vim /etc/hosts

192.168.1.121 Master
192.168.1.122 Slave1

6、配置好后,验证一下是否相互能ping通:

ping Master -c 3  // 只ping 3次
ping Slave1 -c 3

 

安装SSH、配置SSH并无密码登录(Master的hadoop用户下)

1、确认是否安装SSH client、SSH server

2、安装SSH client、SSH server:sudo apt-get install openssh-server

3、首先生成 Master 节点的公匙,在 Master 节点的终端中执行(因为改过主机名,所以还需要删掉原有的再重新生成一次):

cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost
rm ./id_rsa*
ssh-keygen -t rsa              # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys  # 加入授权,让 Master 节点需能无密码 SSH 本机,在 Master 节点上执行

4、执行 ssh Master 验证一下(可能需要输入 yes,成功后执行 exit 返回原来的终端)

5、在 Master 节点将上公匙传输到 Slave1 节点:scp ~/.ssh/id_rsa.pub hadoop@Slave1:/home/hadoop/

6、在Slave1节点上,将ssh公钥加入授权(如果有其他 Sla

### 搭建基于刀片物理服务器Hadoop集群搭建基于刀片物理服务器Hadoop集群时,需要考虑硬件配置、网络环境、操作系统安装以及Hadoop集群的部署步骤。以下是详细的说明: #### 硬件准备 刀片服务器通常被设计为高密度、高性能的计算设备,适合用于构建大规模分布式系统。在准备硬件时,需确保以下几点: - **服务器数量**:根据业务需求选择合适的刀片服务器数量。Hadoop集群至少需要三台服务器来保证数据冗余[^3]。 - **存储容量**:每台刀片服务器应配备足够的本地存储空间以支持HDFS的数据块存储。 - **网络配置**:确保所有刀片服务器通过高速网络(如10Gbps以太网)连接,以减少数据传输延迟。 #### 操作系统安装 Hadoop在Linux系统上运行效果最佳,因此建议使用稳定版本的Linux发行版(如CentOS或Ubuntu)。具体步骤如下: 1. 在每台刀片服务器上安装相同版本的Linux操作系统。 2. 配置无密码SSH登录,以便于集群节点之间的通信[^1]。 3. 设置主机名和hosts文件,确保每台服务器可以通过域名相互访问。 #### Hadoop集群部署 Hadoop集群的部署可以分为以下几个方面: 1. **环境准备** - 安装Java运行环境(JRE或JDK),因为Hadoop是基于Java开发的。 - 下载并解压Hadoop安装包到每台服务器的指定目录。 2. **配置文件修改** - **core-site.xml**:配置HDFS的基本参数,例如`fs.defaultFS`指向NameNode的地址[^2]。 ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://namenode-address:9000</value> </property> </configuration> ``` - **hdfs-site.xml**:设置HDFS的副本数和其他存储参数。 ```xml <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> </configuration> ``` - **mapred-site.xml**:配置MapReduce框架的相关参数。 ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` - **yarn-site.xml**:配置YARN资源管理器的相关参数。 ```xml <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>resourcemanager-address</value> </property> </configuration> ``` 3. **格式化NameNode** 在NameNode所在的服务器上执行以下命令,初始化HDFS文件系统。 ```bash hdfs namenode -format ``` 4. **启动集群** 使用Hadoop提供的脚本启动HDFS和YARN服务。 ```bash start-dfs.sh start-yarn.sh ``` 5. **验证集群状态** - 通过浏览器访问NameNode的Web界面(默认端口50070)检查HDFS的状态。 - 使用`jps`命令确认各个节点上的Hadoop进程是否正常运行。 #### 注意事项 - 刀片服务器的高密度特性要求良好的散热和电源管理[^3]。 - 在生产环境中,建议对Hadoop集群进行监控和日志分析,以及时发现并解决问题。 ```python # 示例代码:验证HDFS状态 from subprocess import Popen, PIPE def check_hdfs_status(): command = "hdfs dfsadmin -report" process = Popen(command.split(), stdout=PIPE, stderr=PIPE) output, error = process.communicate() if process.returncode == 0: return output.decode("utf-8") else: return error.decode("utf-8") print(check_hdfs_status()) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值