Linux部署HDFS集群前置准备

二、VMware准备Linux虚拟机

三、VMware虚拟机系统设置

(一)对三台虚拟机完成主机名、固定IP、SSH免密登陆等系统设置

1.配置固定IP地址

  • 打开控制台,切换到root用户
    su -
    

    image-20231124162624179

  • 修改主机名、IP地址
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    

    image-20231124162825678

​ ifcfg-ens33原内容

image-20231124163749081

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="f9a9b662-82cf-4c69-8d42-a70c955686fd"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.88.101"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"
  • 将BOOTPROTO由hdcp改为static,即由动态获取ip改为静态设置ip

  • IPADDR:IP地址,每台主机不一样

  • NETMASK:子网掩码

  • GATEWAY:网关

  • DNS1:DNS,一般跟网关一样的IP

  • 修改成功
    systemctl restart network
    ifconfig
    

    image-20231124164247080

2.配置主机映射

  • 修改Windows(自己电脑上的)的host文件

    image-20231124165157120

  • 添加相应配置(保存需要管理员权限,此处用的sublime编辑器,可以管理员身份运行编辑器,vscode也可)

    image-20231124165345502

  • 修改linux的配置

    • 先使用finallshell连接三台服务器

      image-20231124165829752

    • 修改每台linux的host文件

      vim /etc/hosts
      

      image-20231124170629700

3.配置SSH免密登录

后续安装的集群化软件,多数需要远程登录以及远程执行命令,我们可以简单起见,配置三台Linux服务器之间的免密码互相SSH登陆

  • 在每一台机器都执行:ssh-keygen -t rsa -b 4096,一路回车到底即可

    • 按照rsa格式生成

    • 长度为4096位

    • 查看构建的私钥和公钥

      image-20231124171713811

  • 在每一台机器都执行:

    ssh-copy-id node1
    ssh-copy-id node2
    ssh-copy-id node3
    
    • 自动化完成免密登录授权

    • 在每一台机器都执行到node1、node2、node3的免密登录的授权操作,这样几台机器就可与互相免密操作

    • 测试node1到node3的免密访问 (能直接用node3是因为hosts文件里面配置了主机名到IP的映射)

      image-20231124172022254

  • 执行完毕后,node1、node2、node3之间将完成root用户之间的免密互通

4.配置hadoop用户(普通用户)的免密登录

后续大数据的软件,将不会以root用户启动(确保安全,养成良好的习惯)我们为大数据的软件创建一个单独的用户hadoop,并为

  1. 在每一台机器执行:useradd hadoop,创建hadoop用户

  2. 在每一台机器执行:passwd hadoop,设置hadoop用户密码为123456

  3. 在每一台机器均切换到hadoop用户:su - hadoop,并执行 ssh-keygen -t rsa -b 4096,创建ssh密钥

  4. 在每一台机器均执行

    ssh-copy-id node1
    ssh-copy-id node2
    ssh-copy-id node3
    

(二)JDK环境部署

1.下载JDK

https://www.oracle.com/java/technologies/downloads

2.配置JDK环境

每个节点都需要

  1. 创建文件夹,用来部署JDK,将JDK和Tomcat都安装部署到:/export/server 内

    mkdir -p /export/server
    
  2. 解压缩JDK安装文件

    tar -zxvf jdk-8u361-linux-x64.tar.gz -C /export/server
    
  3. 配置JDK的软连接

    ln -s /export/server/jdk1.8.0_361 /export/server/jdk
    
  4. 配置JAVA_HOME环境变量,以及将$JAVA_HOME/bin文件夹加入PATH环境变量中

    vim /etc/profile
    
    # 编辑/etc/profile文件
    export JAVA_HOME=/export/server/jdk
    export PATH=$PATH:$JAVA_HOME/bin
    
  5. 生效环境变量

    source /etc/profile
    
  6. 配置java执行程序的软连接

    # 删除系统自带的java程序
    rm -f /usr/bin/java
    # 软连接我们自己安装的java程序
    ln -s /export/server/jdk/bin/java /usr/bin/java
    
  7. 执行眼睁睁

    java -version
    javac -version
    
  8. 复制jdk到另一个服务器

    scp -r jdk1.8.0_361 node2:`pwd`/
    

(三)防火墙、SELinux、时间同步

对三台虚拟机完成防火墙、SElinux、时间同步等系统设置

1.关闭防火墙和SELinux

  • 集群化软件之间需要通过端口互相通讯,为了避免出现网络不通的问题,我们可以简单的在集群内部关闭防火墙。

    每台机器都执行

    systemctl stop firewalld
    systemctl disable firewalld  # 防止开机自启
    
  • Linux有一个安全模块:SELinux,用以限制用户和程序的相关权限,来确保系统的安全稳定。
    在当前,我们只需要关闭SELinux功能,避免导致后面的软件运行出现问题即可

    每台机器都执行

    vim /etc/sysconfig/selinux
    
    # 将第七行,SELINUX=enforcing 改为
    SELINUX=disabled
    # 保存推出后,重启虚拟机即可,千万要注意disabled单词不要写错,不然无法启动系统
    

2.修改时区并配置自动时间同步

​ 以下操作在三台Linux均执行

  1. 安装ntp软件

    yum install -y ntp
    
  2. 更新时区

    rm -f /etc/localtime;sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
  3. 同步时间

    ntpdate -u ntp.aliyun.com
    
  4. 开启ntp服务并设置开机自启

    systemctl start ntpd
    systemctl enable ntpd
    

(四)完成设置,拍摄快照

1.关闭虚拟机

2.拍摄快照

image-20231124195845768

### HBase 集群安装配置教程 #### 准备工作 在Linux系统上搭建HBase集群之前,需确保已准备好必要的软硬件环境。HBase依赖于Zookeeper、JDK以及Hadoop(特别是HDFS)。因此,在开始安装前,请确认已完成以下前置准备工作[^2]。 - 安装并配置好Java开发工具包(JDK) - 成功部署Zookeeper集群 - 正确设置Hadoop分布式文件系统(HDFS) 这些组件的正确运行对于后续HBase集群的成功构建至关重要。 #### 下载与解压HBase安装包 访问Apache官方网站或其他可信源站点下载适合版本的HBase安装包。例如,可以选用`hbase-1.2.1-bin.tar.gz`或者更高级别的稳定版如`hbase-2.5.10-bin.tar.gz`[^3]。通过命令行执行解压缩操作: ```bash tar -zxvf hbase-2.5.10-bin.tar.gz -C /usr/local/ ``` 此步骤会将HBase二进制文件提取到指定路径下。 #### 环境变量设定 为了简化管理流程,推荐把HBase及其关联服务(ZooKeeper)的相关目录加入全局环境变量中。编辑 `/etc/profile` 文件来添加如下内容: ```bash export HBASE_HOME=/usr/local/hbase-2.5.10 export PATH=$PATH:$HBASE_HOME/bin export ZOOKEEPER_HOME=/path/to/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin ``` 保存修改后的profile文档并通过source指令使其生效[^4]: ```bash source /etc/profile ``` #### 修改核心配置文件 进入刚刚解压出来的HBase根目录下的conf子目录,找到几个主要配置档进行调整适配当前网络架构需求。 ##### `hbase-site.xml` 这是最重要的XML格式参数定义档案之一,用于规定存储位置以及其他重要选项。以下是基本样例片段: ```xml <configuration> <!-- 设置HBase数据存放在哪个HDFS --> <property> <name>hbase.rootdir</name> <value>hdfs://namenode_host:8020/hbase</value> </property> <!-- 使用远程ZK实例列表 --> <property> <name>hbase.zookeeper.quorum</name> <value>zknode1,zknode2,zknode3</value> </property> <!-- Zookeeper客户端端口 --> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <!-- 是否启用分布模式,默认false表示单机测试模式--> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> </configuration> ``` 以上各节点名称应替换实际服务器主机名或IP地址信息[^1]. ##### `regionservers` 列出所有作为RegionServer角色参与工作的机器清单。每台设备占据单独的一行记录即可。 #### 启动服务 当上述各项均妥善处理完毕之后,则可依次启动各个组成部分的服务进程。先激活ZooKeeper集合体再开启HBase整体框架结构。 ```bash # 开启ZooKeeper服务(如果尚未自动随HBase一同触发的话) $ zkServer.sh start # 接着初始化整个HBase生态系统 $ start-hbase.sh ``` 最后可通过浏览器查看Web UI界面验证状态正常与否(http://master_node_ip:16010/)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值