在centos系统上搭建hdfs高可用集群,需要进行一系列配置,包括ip地址、主机名、免密登录、zookeeper和hadoop本身。以下步骤将详细阐述该过程:
1. 配置静态IP地址
首先,为每个节点(例如node1、node2、node3)配置静态IP地址。
- 编辑网络配置文件:使用
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33(接口名称可能不同,请根据实际情况修改)。 - 添加或修改以下配置,将
IPADDR替换为节点的实际IP地址:
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx DEVICE=ens33 ONBOOT=yes IPADDR=192.168.1.11 # 替换为实际IP地址 DNS1=8.8.8.8 DNS2=114.114.114.114
- 保存并重启网络服务:
sudo systemctl restart network
2. 设置主机名
为每个节点设置相应的主机名(例如node1、node2、node3)。使用以下命令:
sudo hostnamectl set-hostname node1 # 替换node1为实际主机名
3. 配置免密SSH登录
在所有节点上生成SSH密钥对,并将公钥分发到其他节点的~/.ssh/authorized_keys文件中。
- 生成密钥对:
ssh-keygen -t rsa - 分发公钥:
ssh-copy-id user@node2; ssh-copy-id user@node3(替换user为实际用户名)
4. 配置ZooKeeper
- 下载并解压ZooKeeper:(版本号可能需要更新)
wget https://downloads.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz tar -xzf apache-zookeeper-3.8.0-bin.tar.gz cd apache-zookeeper-3.8.0
- 配置
zoo.cfg文件:vi conf/zoo.cfg - 修改以下配置:
dataDir=/tmp/zookeeper clientPort=2181
- 在每个节点的
/tmp/zookeeper目录下创建myid文件,文件内容分别为1, 2, 3 (对应node1, node2, node3)。 - 启动ZooKeeper服务:
./bin/zkServer.sh start
5. 配置Hadoop
网奇.NET网络商城系统是基于.Net平台开发的免费商城系统。功能强大,操作方便,设置简便。无需任何设置,上传到支持asp.net的主机空间即可使用。系统特色功能:1、同时支持Access和SqlServer数据库;2、支持多语言、多模板3、可定制缺货处理功能4、支持附件销售功能5、支持会员组批发功能6、提供页面设计API函数7、支持预付款功能8、配送价格分地区按数学公式计算9、商品支持多类别,可
- 下载并解压Hadoop:(版本号可能需要更新)
wget https://downloads.apache.org/hadoop/core/hadoop-3.3.1/hadoop-3.3.1.tar.gz tar -xzf hadoop-3.3.1.tar.gz cd hadoop-3.3.1
- 配置
core-site.xml文件:vi etc/hadoop/core-site.xml - 添加以下配置:
fs.defaultFS hdfs://mycluster - 配置
hdfs-site.xml文件:vi etc/hadoop/hdfs-site.xml - 添加以下配置: (请根据实际情况修改namenode和datanode的端口号以及目录)
dfs.nameservices mycluster dfs.ha.namenodes.mycluster nn1,nn2 dfs.namenode.rpc-address.mycluster.nn1 node1:8020 dfs.namenode.rpc-address.mycluster.nn2 node2:8020 dfs.namenode.http-address.mycluster.nn1 node1:50070 dfs.namenode.http-address.mycluster.nn2 node2:50070 dfs.datanode.data.dir /tmp/hdfs/data dfs.namenode.shared.edits.dir qjournal://node1:8485;node2:8485;node3:8485/mycluster
6. 格式化NameNode
在node1上格式化NameNode:hdfs namenode -format
7. 启动HDFS集群
在node1和node2上分别启动HDFS服务:start-dfs.sh
8. 验证配置
在任意节点上执行hdfs dfs -ls /验证HDFS是否正常运行。
注意: 以上配置中,ens33、node1、node2、node3、用户名、IP地址和端口号需要根据实际情况替换。 确保所有节点的/etc/hosts文件配置正确,能够通过主机名互相访问。 此外,需要配置Hadoop环境变量。 这只是一个基本的配置示例,实际部署中可能需要根据具体需求进行更细致的调整和优化,例如配置HA,配置安全等。 强烈建议在正式环境中使用高可用性配置。









