• Impala编译部署-6集群部署


    集群部署如果多机采用虚拟机方便一点,可以在一台机器上配置完成后以此为模板创建其他虚拟机,否则就需要在每台机器上做一些重复的工作和检查。尽量借助一些运维工具以减轻工作量。

    以3主机集群介绍

    1.1  准备集群主机

    1.1.1 主机规划

    规划各主机的IP地址,主机名,每主机上要部署的服务。例如

    IP地址

    主机名

    Hadoop服务

    Impala服务

    192.168.179.150

    Impala1

    NameNode,DataNode

    Impalad

    192.168.179.151

    Impala2

    DataNode

    Impalad,

    Catalogd,Statestored

    192.168.179.152

    Impala3

    DataNode

    Impalad

    备注:Hadoop 实现单NameNode,三个DataNode模式。如果NameNode采用主备模式,则下面的配置需要更改,步骤也不尽相同。Hadoop NameNode配置不是本文重点。单NameNode已足够集群功能演练使用。

    1.1.2 ssh互信

    实现方法参考 http://blog.chinaunix.net/uid-16979052-id-3568036.html

    各主机间ssh互操作不提示输入密码。

    1.1.3 各单机部署

    1.1.3.1 文件拷贝

    将编译生成并复制的可执行文件,一起拷贝到本机某目录下,比如/root/impala2

    1.1.3.2 安装JDK

    安装JDK。方法同编译部分。

    1.1.3.3 环境变量

    ~/.bashrc

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
    
    export PATH=$PATH:$JAVA_HOME/bin
    
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    ~/.bash_profile

    export IMPALA_HOME=/root/impala2
    
    source /etc/default/impala

    1.1.3.4 关闭/禁用防火墙

    systemctl disable firewalld
    
    systemctl stop firewalld

     

    1.1.3.5 修改hosts文件

    192.168.179.150 impala1

    192.168.179.151 impala2

    192.168.179.152 impala3

     

    1.1.3.6 时间同步

    Ntp服务。

     

    1.2  HDFS配置及初始化

    操作需要在每台主机上执行,配置文件core-site.xml,hdfs-site.xml 各主机要保持一致。

     

    在每个datanode执行

    mkdir /var/run/hdfs-sockets/
    
    mkdir -p /usr/local/hadoop/hdfs/data
    
    mkdir /var/run/hdfs-sockets/

    在namenode执行

    mkdir -p /usr/local/hadoop/hdfs/name

    1.2.1 core-site.xml

    文件路径 /etc/hadoop/core-site.xml

     

    <configuration>
    
    <property>
    
            <name>fs.default.name</name>
    
            <value>hdfs://impala1</value>
    
    </property>
    
    <property>
    
            <name>hadoop.tmp.dir</name>
    
            <value>/usr/local/hadoop/tmp</value>
    
    </property>

    1.2.2 hdfs-site.xml

    文件路径 /etc/hadoop/hdfs-site.xml

     

    <configuration>
    
     
    
    <property>
    
            <name>dfs.nameservices</name>
    
            <value>impala1</value>
    
    </property>
    
     
    
    <property>
    
            <name>dfs.ha.namenodes.impala1</name>
    
            <value>impala1</value>
    
    </property>
    
    <property>
    
        <name>dfs.replicatioin</name>
    
        <value>2</value>
    
    </property>
    
    <property>
    
        <name>dfs.name.dir</name>
    
        <value>/usr/local/hadoop/hdfs/name</value>
    
    </property>
    
    <property>
    
        <name>dfs.data.dir</name>
    
        <value>/usr/local/hadoop/hdfs/data</value>
    
    </property>
    
    <property>
    
        <name>dfs.client.read.shortcircuit</name>
    
        <value>true</value>
    
    </property>
    
     
    
    <property>
    
        <name>dfs.domain.socket.path</name>
    
        <value>/var/run/hdfs-sockets/dn</value>
    
    </property>
    
    <property>
    
        <name>dfs.client.file-block-storage-locations.timeout.millis</name>
    
        <value>10000</value>
    
    </property>
    
     
    
    <property>
    
        <name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
    
        <value>true</value>
    
    </property>
    
     
    
    </configuration>

     

    1.2.3 Slaves

    配置hdfs datanode 主机名,文件/etc/hadoop/slaves

    内容为

    Impala1
    
    Impala2
    
    Impala3

    1.2.4 HDFS初始化

    namenode上执行

    source /etc/hadoop/hadoop-env.sh
    
    hadoop namenode -format

     

    1.3  Impala配置及初始化

    操作需要在每台主机上执行,配置文件各主机保持一致。

     

    1.3.1 Impala配置文件

    路径/etc/default/impala

     

    IMPALA_STATE_STORE_HOST=impala2
    
    IMPALA_STATE_STORE_PORT=24000
    
    IMPALA_BACKEND_PORT=22000
    
    IMPALA_LOG_DIR=/var/log/impala
    
    IMPALA_CATALOG_SERVICE_HOST=impala2
    
     其他和单机一样

     

    1.3.2 初始化

    mkdir /var/log/impala

     

    1.4  启动服务

    修改~/.bash_profile增加 避免每次输入

    source /etc/hadoop/hadoop-env.sh

    注意在启动前source /etc/default/impala 使配置生效。

    1.4.1 启动hdfs

    在namenode上执行

    source /etc/hadoop/hadoop-env.sh
    
    start-dfs.sh

     

    启动成功后jps可以看到每主机上都有datanode,在impala1上有namenode进程。

     

    1.4.1.1 常用HDFS操作

    Hdfs操作命令和linux文件操作类似。

     

    列出hdfs根目录下的文件

    hadoop  fs  -ls  /

     

    上传本地文件到hdfs

    hadoop  fs  -put  localpath  hdfspath

     

    查看hdfs文件内容

    hadoop   fs  -cat  hdfsfilepath

     

    1.4.2 启动impala服务

    impala2

    nohup ${CATALOGCMD} >> catalog.log 2>&1 &
    
    nohup ${STATESTORECMD}  >> statestore.log 2>&1 &

     

    所有主机上

    nohup ${IMPALADCMD} -kudu_master_hosts=192.168.179.146:7051  >> impalad.log 2>&1 &

    1.5  shell功能测试

    可以在任何一台运行了impalad的机器上打开impala-shell。

    功能测试和单机部署时的shell功能测试一样

    Shell功能测试

    不同主机上shell连接的实际是同一个impala集群。所以在A主机上创建的表,可以在B主机上的shell中看到并操作。

     

    1.6  WEB服务监控

    Impala各组件提供了web监控的方式,可以以此查看配置和运行情况。

     

    http://192.168.179.151:25000/

    http://192.168.179.151:25010/

    http://192.168.179.151:25020/

  • 相关阅读:
    [转]三五个人十来条枪 如何走出软件作坊成为开发正规军
    [转]asp.net页面字体变大问题总结
    [练手7]传值和传引用区别
    [练手3]选择排序
    [练手5]希尔排序
    oracle用select for update 中断后无法操作表的处理:杀掉SESSION
    [转]最省时管理法:让你一天随意
    [练手4]插入排序
    没有对“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的写访问权限
    NUnit单元测试编写指南
  • 原文地址:https://www.cnblogs.com/fangjx/p/6876660.html
Copyright © 2020-2023  润新知