zoukankan      html  css  js  c++  java
  • hadoop-ha-hbase-storm-kafka集群部署

    hadoop集群安装

    系统整体规划

    序号

    Ip

    Host

    程序

    1

    10.64.39.140

    NN

    Hadoophbase

    2

    10.64.39.142

    SNN

    Hadoophbase

    3

    10.64.39.143

    DN1

    Hadoophbasezookeeperstormkafka

    4

    10.64.39.144

    DN2

    Hadoophbase zookeeperstormkafka

    5

    10.64.39.145

    DN3

    Hadoophbasezookeeperstormkafka

    1.3 系统初始化环境配置

    1、所有服务器时间配置同步

     

    # echo 'CST-8'>> /etc/localtime

    #echo '10.64.39.3'>>/etc/ntp.conf

    2、启动服务

    service ntpd start

    3、设置自动启动

     Chkconfig ntpd on

    1.4 Hadoop 2.2 集群划分

     

    1.5 HDFS HA部署架构图

     

    1.6 主机清单

    本手册假设Hadoop集群由5台主机组成,主机配置如下:

    序号

    节点类型

    主机名

    IP地址

    操作系统环境及硬件配置

    1

    主节点

    NN

    10.64.39.140

    OS:REDHAT 6.4 64位

    CPU:8CPU

    内存:60G

    划分数据存储容量:100G+2T

    2

    数据节点1

    DN1

    10.64.39.143

    OS:REDHAT 6.4 64位

    CPU:8CPU

    内存:12G

    划分数据存储容量:100G+2T+5T

    3

    备用节点

    SNN

    10.64.39.142

    OS:REDHAT 6.4 64位

    CPU:8CPU

    内存:60G

    划分数据存储容量:100G+2T

    4

    数据节点2

    DN2

    10.64.39.144

    OS:REDHAT 6.4 64位

    CPU:8CPU

    内存:12G

    划分数据存储容量:100G+2T+5T

    5

    数据节点3

    DN3

    10.64.39.145

    OS:REDHAT 6.4 64位

    CPU:8CPU

    内存:12G

    划分数据存储容量:100G+2T+5T

    1.7 修改主机名

    5台主机分别执行以下操作修改主机名,对应主机名见2.4节的表格。

    (1) root身份执行,修改文件/etc/sysconfig/network:

    指令:

    # vi /etc/sysconfig/network

    修改以下内容:

    NETWORKING=yes

    HOSTNAME=【主机名】

    (2) 重新启动主机使配置生效。

    【注意】:Redhat7.0修改主机名方式有所不同,指令如下:

    查看主机名相关的设置:hostnamectl status

    永久修改主机名:sudo hostnamectl --static set-hostname <new-host-name>

    1.8 更改IP地址

    检查网络IP配置:ifconfig

    修改IP地址:vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

    当前是DHCP,如果要使用静态IP,修改:

    BOOTPROTO=static

    ONBOOT=yes  #开启自动启用网络连接

    增加:

    IPADDR0=192.168.1.101  #设置IP地址

    PREFIXO0=255.255.255.0  #设置子网掩码

    GATEWAY0=192.168.1.1  #设置网关

    完成后,重新启动网络服务:service network restart

    1.9 配置hosts列表

    修改文件/etc/hosts,配置每个主机的IP地址,指令如下:

    # vi /etc/hosts

    增加或修改以下内容:

     

    1.10 关闭防火墙

    5台服务器上的防火墙均需关闭。相关指令如下:

    查看防火墙状态:

    # service itables status

    关闭防火墙:

    # service iptables stop

    永久关闭防火墙:

    # chkconfig iptables off

    【注意】:Redhat7.0防火墙关闭方式有所不同,指令如下:

    查看防火墙状态:systemctl status firewalld

    查看防火墙是否处于活动状态:systemctl is-active firewalld

    关闭防火墙:systemctl stop firewalld

    永久关闭防火墙:systemctl disable firewalld

    打开防火墙命令:systemctl enable firewalld

    启动防火墙:systemctl start firewalld

    1.11 创建用户账号和相关目录

    5台服务器上均需创建以下目录,并设置目录的权属:

    /opt

    /modules     -- 安装软件目录

    /data        -- 存放数据目录

    1.11.1 创建 hadoop 用户及组

    groupadd hadoop

    useradd hadoop -g hadoop

    passwd hadoop

    1.11.2 创建相关目录并设置目录权限

    mkdir -p /opt/modules/

    mkdir -p /opt/data/

    mkdir -p /opt/data1/

    chown -R hadoop:hadoop /opt/modules/

    chown -R hadoop:hadoop /opt/rkdata/

    chown -R hadoop:hadoop /opt/rkdata1/

    chmod -R 775 /opt/modules/

    1.12 配置SSH免密码登陆

    本操作是指从主节点(nameNode)和备用节点(standbyNameNode)可以免密码登录本机及其他所有节点,并不能从数据节点免密码登录主节点或备用节点。

    1.12.1 配置主节点(nameNode)无密码登陆

    (1) 检查hadoop用户主目录(/home/hadoop/)下是否有.ssh目录(该目录为隐藏文件夹可通过【ls –a】指令查看),如果有则直接进入第(2)步,否则执行以下执行:

    $ ssh localhost

    提示是否继续时输入“no”退出,此时即可自动生成该目录。

    然后通过以下指令检查:

    $ cd /home/hadoop/

    $ ls -al

    (2) 生成私钥和公钥,执行以下指令:

    $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

    (3) 把公钥(id_dsa.pub)追加到授权的key中去,执行以下指令:

    $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

    (4) 更改授权key的权限,执行以下指令:

    $ chmod go-rwx ~/.ssh/authorized_keys

    1.12.2 将主节点(nameNode)授权key分发到备用节点

    将主节点(nameNode)上的authorized_keys文件复制到备用节点(standbyNameNode)上,指令如下:

    $ scp ~/.ssh/authorized_keys hadoop@standbyNameNode:/home/hadoop/.ssh/

    复制过程中需要输入备用节点(standbyNameNode)上hadoop用户的密码。

    复制成功后,在备用节点(standbyNameNode)的/home/hadoop/.ssh/目录中即会存在authorized_keys文件,请确认该文件已经正确复制。

    1.12.3 配置备用节点(standbyNameNode)无密码登陆

    (1) 2.5.1节第(1)部分同样操作。

    (2) 生成私钥和公钥,执行以下指令:

    $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

    (3) 把公钥(id_dsa.pub)追加到授权的key中去,执行以下指令:

    $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

    (4) 查看授权key文件内容,确认主节点和备用节点的授权信息均在文件中,执行指令:

    $ more ~/.ssh/authorized_keys

    (5) 更改授权key的权限,执行以下指令:

    $ chmod go-rwx ~/.ssh/authorized_keys

    1.12.4 将备用节点(standbyNameNode)授权key发回到主节点

    (1) 将备用节点(standbyNameNode)上带有两个节点授权信息的authorized_keys文件复制回主节点(nameNode)上,指令如下:

    $ scp ~/.ssh/authorized_keys hadoop@nameNode:/home/hadoop/.ssh/

    复制过程中需要输入主节点(nameNode)上hadoop用户的密码。

    (2) 复制成功后,查看主节点(nameNode)的/home/hadoop/.ssh/目录中的authorized_keys文件内容,确认主节点和备用节点的授权信息均在文件中,指令如下:

    $ more ~/.ssh/authorized_keys

    1.12.5 从主节点(nameNode)将授权key分发到各数据节点

    将主节点(nameNode)上带有两个节点授权信息的authorized_keys文件复制到3个数据节点上,指令如下:

    $ scp ~/.ssh/authorized_keys hadoop@dataNode1:/home/hadoop/.ssh/

    $ scp ~/.ssh/authorized_keys hadoop@dataNode2:/home/hadoop/.ssh/

    $ scp ~/.ssh/authorized_keys hadoop@dataNode3:/home/hadoop/.ssh/

    复制过程中需要输入各数据节点上hadoop用户的密码。

    复制成功后,在3个数据节点(dataNode1、dataNode2、dataNode3)的/home/hadoop/.ssh/目录中即会存在authorized_keys文件,请确认该文件已经正确复制。

    1.12.6 检查主节点(nameNodeSSH免密钥登录是否正常

    在主节点(nameNode)上以hadoop用户分别连接本机、备用节点和3个数据节点。

    注意,第1次连接每个节点(包括本机)时均会出现是否连接的提示,请输入“yes”,但不需要输入密码,此后的每次连接均不会有提示、也不需要密码,可以自动连接。

    连接成功后,请输入“exit”退出SSH连接。

    (1) 连接本机(使用localhost):

    $ ssh localhost

    (2) 连接本机(使用主机名nameNode):

    $ ssh nameNode

    (3) 连接备用节点(standbyNameNode):

    $ ssh standbyNameNode

    (4) 连接数据节点1(dataNode1):

    $ ssh dataNode1

    (5) 连接数据节点2(dataNode2):

    $ ssh dataNode2

    (6) 连接数据节点3(dataNode3):

    $ ssh dataNode3

    1.12.7检查备用节点(standbyNameNodeSSH免密钥登录是否正常

    在备用节点(standbyNameNode)上以hadoop用户分别连接本机、主节点和3个数据节点。

    注意,第1次连接每个节点(包括本机)时均会出现是否连接的提示,请输入“yes”,但不需要输入密码,此后的每次连接均不会有提示、也不需要密码,可以自动连接。

    连接成功后,请输入“exit”退出SSH连接。

    (1) 连接本机(使用localhost):

    $ ssh localhost

    (2) 连接本机(使用主机名standbyNameNode):

    $ ssh standbyNameNode

    (3) 连接主节点(nameNode):

    $ ssh nameNode

    (4) 连接数据节点1(dataNode1):

    $ ssh dataNode1

    (5) 连接数据节点2(dataNode2):

    $ ssh dataNode2

    (6) 连接数据节点3(dataNode3):

    $ ssh dataNode3

    1.13 复制JDKHadoop安装文件

    5台服务器上均需复制JDK安装文件,Hadoop安装文件只需要复制到主节点(nameNode)上即可。

    配套Hadoop 2.7在Linux中安装的jdk版本为1.8.0_101版本,文件名为jdk-8u45-linux-x64.bin。

    Hadoop官网下载hadoop-2.7.3.tar.gz),

    解压文件到系统/opt/modules/目录中。

    指令如下(以hadoop用户执行):

    $ jar -zxvf hadoop-2.7.3.tar.gz

    JDK安装及配置(所有电脑配置)

    2.1 安装JDK

    本操作以hadoop用户执行。

    (1) 运行JDK安装包(先赋予执行权限)

    $ cd /opt/modules

    $ chmod u+x jdk-8u45-linux-x64.bin

    $ ./jdk-8u45-linux-x64.bin

    此时系统会自动解压该文件完成安装。

    2.2 配置环境变量

    (1) root用户修改文件/etc/profile,指令如下:

    $ su root

    # vi /etc/profile

    找到“export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL”,在该语句的上面添加以下语句(注意全部是英文字符,不要随意加空格):

    export JAVA_HOME=/opt/modules/jdk1.8.0_101

    export CLASSPATH=".:/opt/modules/jdk1.8.0_101/lib:/opt/modules/jdk1.8.0_101/jre/lib"

    pathmunge /opt/modules/jdk1.8.0_101/bin:/opt/modules/jdk1.8.0_101/jre/bin

    (2) 修改完成后保存退出,然后执行以下指令使配置生效(root用户执行):

    # source /etc/profile

    (3) 执行以下指令查看安装是否成功(查看版本信息):

    # java -version

    如安装成功,则显示以下内容:

    java version "1.8.0_101"

    Java(TM) SE Runtime Environment (build 1.8.0_101-b06)

    Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

    Hadoop集群安装及配置

    以下操作,如无特殊说明,均以hadoop用户执行。

    3.1 解压缩安装包(主节点)

    解压缩Hadoop安装包(先赋予执行权限):

    $ cd /opt/modules

    $ chmod -R 755 hadoop-2.7.3.tar.gz

    $ tar -zxvf hadoop-2.7.3.tar.gz

    3.2 配置环境变量(主节点)

    本环境变量配置的文件与JDK安装后配置的文件相同,操作如下:

    (1) root用户修改文件/etc/profile,指令如下:

    $ su root

    # vi /etc/profile

    找到配置JDK环境变量时增加的配置信息,在“pathmunge /opt/modules/ jdk1.8.0_101/bin:/opt/modules/jdk1.8.0_101/jre/bin”语句的上面添加一行语句(注意全部是英文字符,不要随意加空格):

    export HADOOP_HOME=/opt/modules/hadoop-2.7.3/

    加完后(包括JDK的配置)的内容如下:

    export JAVA_HOME=/opt/modules/ jdk1.8.0_101

    export CLASSPATH=".:/opt/modules/ jdk1.8.0_101/lib:/opt/modules/ jdk1.8.0_101/jre/lib"

    export HADOOP_HOME=/opt/modules/hadoop-2.7.3/

    pathmunge /opt/modules/ jdk1.8.0_101/bin:/opt/modules/ jdk1.8.0_101/jre/bin

    (2) 修改完成后保存退出,然后执行以下指令使配置生效(root用户执行):

    # source /etc/profile

    # exit

    3.3 修改Hadoop配置文件(主节点)

    修改Hadoop配置文件的操作均以hadoop用户操作,所有配置文件都在目录【/opt/modules/hadoop-2.7.3/etc/hadoop/】中。

    修改/opt/modules/hadoop-2.7.3/etc/hadoop/hadoop-env.sh:

    $ vi /opt/modules/hadoop-2.7.3/etc/hadoop/hadoop-env.sh

    找到“export JAVA_HOME=${JAVA_HOME}”所在行,修改为:

    export JAVA_HOME=/opt/modules/jdk1.8.0_101

    3.3.1 mapred-env.sh

    修改/opt/modules/hadoop-2.7.3/etc/mapred-env.sh:

    $ vi /opt/modules/hadoop-2.7.3/etc/hadoop/mapred-env.sh

    找到“# export JAVA_HOME=/home/y/libexec/jdk1.6.0/”所在行,修改为:

    export JAVA_HOME=/opt/modules/jdk1.8.0_101

    3.3.2 slaves

    修改/opt/modules/hadoop-2.7.3/etc/slaves:

    $ vi /opt/modules/hadoop-2.7.3/etc/hadoop/slaves

    找到“localhost”所在行,修改为:

    DN1

    DN2

    DN3

    3.3.3 yarn-env.sh

    修改/opt/modules/hadoop-2.7.3/etc/yarn-env.sh:

    $ vi /opt/modules/hadoop-2.7.3/etc/hadoop/yarn-env.sh

    找到“# export JAVA_HOME=/home/y/libexec/jdk1.6.0/”所在行,修改为:

    export JAVA_HOME=/opt/modules/jdk1.8.0_101

    3.3.4 core-site.xml

    修改/opt/modules/hadoop-2.7.3/etc/core-site.xml:

    $ vi /opt/modules/hadoop-2.7.3/etc/hadoop/core-site.xml

    找到以下内容:

    <configuration>

    </configuration>

    在两行中间插入配置信息后内容如下:

    <configuration>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://hadoop-new</value>

    </property>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>/opt/rkdata/hadoop/tmp</value>

    </property>

    <property>

        <name>ipc.maximum.data.length</name>

        <value>134217728</value>

    </property>

    <property>

        <name>io.file.buffer.size</name>

            <value>131072</value>

    </property>

    <property>

        <name>fs.trash.interval</name>

            <value>1440</value>

    </property>

    <property>

        <name>ha.zookeeper.quorum</name>

            <value>10.64.39.143:2181,10.64.39.144:2181,10.64.39.145:2181</value>

    </property>

    <property>

        <name>ha.zookeeper.session-timeout.ms</name>

            <value>5000</value>

    </property>

    </configuration>

    3.3.5 hdfs-site.xml

    修改/opt/modules/hadoop-2.7.3/etc/hdfs-site.xml:

    $ vi /opt/modules/hadoop-2.7.3/etc/hadoop/hdfs-site.xml

    找到以下内容:

    <configuration>

    </configuration>

    在两行中间插入配置信息后内容如下:

     <configuration>

    <property>

        <name>dfs.nameservices</name>

        <value>hadoop-new</value>

    </property>

    <property>

        <name>dfs.replication</name>

        <value>3</value>

    </property>

    <property>

        <name>dfs.permissions</name>

        <value>false</value>

    </property>

    <property>

        <name>dfs.ha.namenodes.hadoop-new</name>

        <value>nn1,nn2</value>

    </property>

    <property>

        <name>dfs.namenode.rpc-address.hadoop-new.nn1</name>

        <value>NN:8020</value>

    </property>

    <property>

        <name>dfs.namenode.rpc-address.hadoop-new.nn2</name>

        <value>SNN:8020</value>

    </property>

    <property>

        <name>dfs.namenode.http-address.hadoop-new.nn1</name>

        <value>NN:50070</value>

    </property>

    <property>

        <name>dfs.namenode.http-address.hadoop-new.nn2</name>

        <value>SNN:50070</value>

    </property>

    <property>

        <name>dfs.namenode.name.dir</name>

        <value>file:///opt/rkdata/hadoop/name</value>

    </property>

    <property>

        <name>dfs.namenode.shared.edits.dir</name>

        <value>qjournal://DN1:8485;DN2:8485;DN3:8485/hadoop-new</value>

    </property>

    <property>

        <name>dfs.client.failover.proxy.provider.hadoop-new</name>

        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProv

    ider</value>

    </property>

    <property>

        <name>dfs.datanode.data.dir</name>

        <value>file:///opt/rkdata/hadoop/data</value>

    </property>

    <property>

        <name>dfs.ha.automatic-failover.enabled</name>

        <value>true</value>

    </property>

    <property>

        <name>dfs.journalnode.edits.dir</name>

        <value>/opt/rkdata/hadoop/journal/</value>

    </property>

    <property>

        <name>heartbeat.recheck.interval</name>

        <value>5000</value>

    </property>

    <property>

        <name>dfs.ha.fencing.methods</name>

        <value>sshfence</value>

    </property>

    <property>

        <name>dfs.ha.fencing.ssh.private-key-files</name>

        <value>/home/hadoop/.ssh/id_rsa</value>

    </property>

    <property>

        <name>dfs.ha.fencing.ssh.connect-timeout</name>

        <value>5000</value>

    </property>

    </configuration>

    3.3.6 mapred-site.xml

    默认没有mapred-site.xml文件,需要从摸板复制一个:

    $ cp mapred-site.xml.template mapred-site.xml

    然后修改/opt/modules/hadoop-2.7.3/etc/mapred-site.xml:

    $ vi /opt/modules/hadoop-2.7.3/etc/hadoop/mapred-site.xml

    找到以下内容:

    <configuration>

    </configuration>

    在两行中间插入配置信息后内容如下:

    <configuration>

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

    <property>

        <name>mapreduce.jobhistory.address</name>

        <value>SNN:10020</value>

    </property>

    <property>

        <name>mapreduce.jobhistory.webapp.address</name>

        <value>SNN:19888</value>

    </property>

    </configuration>

    3.3.7 yarn-site.xml

    修改/opt/modules/hadoop-2.7.3/etc/yarn-site.xml:

    $ vi /opt/modules/hadoop-2.7.3/etc/hadoop/yarn-site.xml

    5 找到以下内容:

    <configuration>

    </configuration>

    6 在两行中间插入配置信息后内容如下:

    <property>

        <name>yarn.resourcemanager.hostname</name>

        <value>SY-0217</value>

    </property>

    <property>

        <name>yarn.resourcemanager.address</name>

        <value>${yarn.resourcemanager.hostname}:8032</value>

    </property>

    <property>

        <name>yarn.resourcemanager.scheduler.address</name>

        <value>${yarn.resourcemanager.hostname}:8030</value>

    </property>

    <property>

        <name>yarn.resourcemanager.webapp.address</name>

        <value>${yarn.resourcemanager.hostname}:8088</value>

    </property>

    <property>

        <name>yarn.resourcemanager.webapp.https.address</name>

        <value>${yarn.resourcemanager.hostname}:8090</value>

    </property>

    <property>

        <name>yarn.resourcemanager.resource-tracker.address</name>

        <value>${yarn.resourcemanager.hostname}:8031</value>

    </property>

    <property>

        <name>yarn.resourcemanager.admin.address</name>

        <value>${yarn.resourcemanager.hostname}:8033</value>

    </property>

    <property>

        <name>yarn.resourcemanager.scheduler.class</name>

    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairSchedule

    r</value>

    </property>

    <property>

        <name>yarn.scheduler.fair.allocation.file</name>

        <value>${yarn.home.dir}/etc/hadoop/fairscheduler.xml</value>

    </property>

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

    <property>

        <name>yarn.nodemanager.local-dirs</name>

        <value>/opt/rkdata/hadoop/yarn/local</value>

    </property>

    <property>

        <name>yarn.log-aggregation-enable</name>

        <value>true</value>

    </property>

    <property>

        <name>yarn.nodemanager.remote-app-log-dir</name>

        <value>/tmp/logs</value>

    </property>

    </configuration>

    5复制文件到其他节点(主节点)

    hadoop目录复制到其他各节点:

    scp -r /opt/modules/hadoop-2.7.3 hadoop@SNN:/opt/modules/

    scp -r /opt/modules/hadoop-2.7.3 hadoop@NN1:/opt/modules/

    scp -r /opt/modules/hadoop-2.7.3 hadoop@NN2:/opt/modules/

    scp -r /opt/modules/hadoop-2.7.3 hadoop@NN3:/opt/modules/

                 zookeeper集群安装

    1zookeeper集群部署环境配置 (root用户)

    序号

    节点类型

    主机名

    IP地址

    操作系统环境及硬件配置

    1

    zookeeper

    NN1

    10.64.39.143

    OS:REDHAT 6.4 64位

    CPU:8CPU

    内存:12G

    划分数据存储容量:100G+2T+5T

    1

    zookeeper

    NN2

    10.64.39.144

    OS:REDHAT 6.4 64位

    CPU:8CPU

    内存:12G

    划分数据存储容量:100G+2T+5T

    2

    zookeeper

    NN3

    10.64.39.145

    OS:REDHAT 6.4 64位

    CPU:8CPU

    内存:12G

    划分数据存储容量:100G+2T+5T

    2、官网下载安装包,并解压。

    wget http://apache.fayea.com/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gztar -zxvf zookeeper-3.4.10.tar.gz

    3、生成配置文件(软件部署在/usr/local

    Cp –r zookeeper-3.4.10 /usr/local/zookeeper-3.4.10

    cd /usr/local/zookeeper-3.4.10

    cp conf/zoo_sample.cfg conf/zoo.cfg

    vim conf/zoo.cfg

    # 心跳间隔 毫秒

    tickTime=2000

    # 初始化时,允许的超时心跳间隔次数

    initLimit=10

    # Leader 与 Follower 同步数据允许的超时心跳间隔次数

    syncLimit=5

    # 监听端口

    clientPort=2181

    # 数据目录

    dataDir=/data/zookeeper/data

    # 日志目录

    dataLogDir=/data/zookeeper/logs

    # ZooKeeper Server 地址,通信端口、选举端口

    server.1=10.64.39.143:2888:3888

    server.2=10.64.39.144:2888:3888

    server.3=10.64.39.145:2888:3888

    4、同步程序到其他节点

    Scp –r /usr/local/zookeeper-3.4.10 root@10.64.39.144: /usr/local/

    Scp –r /usr/local/zookeeper-3.4.10 root@10.64.39.145: /usr/local/

    5、创建目录、生成节点标识文件(所有节点)

    mkdir -p /data/zookeeper/{data,logs}

    生成节点标识文件

    shell > echo 1 > /data/zookeeper/data/myid

    shell > echo 2 > /data/zookeeper/data/myid

    shell > echo 3 > /data/zookeeper/data/myid

    # 分别在三台服务器上执行,需要跟配置文件中的 server.123 对应

     

    6、启动zookeeper集群并检测

     启动 ZooKeeper(各个节点去启动)

    shell > /usr/local/zookeeper-3.4.10/bin/zkServer.sh start

     Starting zookeeper ... STARTEDZooKeeper JMX enabled by default

    Using config: /usr/local/zookeeper-3.4.10/bin/../conf/zoo.cfg

    # 全部成功启动

    shell > /usr/local/zookeeper-3.4.10/bin/zkServer.sh status

    ZooKeeper JMX enabled by default

    Using config: /usr/local/zookeeper-3.4.10/bin/../conf/zoo.cfg

    Mode: leader

    # 查看状态,nn1 为 leader ,其余两台为 follower

    5、验证选举

    shell > sh bin/zkServer.sh stop

    # 关闭 datanode03.hadoop 服务器上的 ZooKeeper,原 leader

    shell > /usr/local/zookeeper-3.4.10/bin/zkServer.sh status

    datanode03.hadoop | FAILED | rc=1 >>

    Error contacting service. It is probably not running.ZooKeeper JMX enabled by default

    Using config: /usr/local/zookeeper-3.4.10/bin/../conf/zoo.cfg

    datanode02.hadoop | SUCCESS | rc=0 >>

    ZooKeeper JMX enabled by default

    Using config: /usr/local/zookeeper-3.4.10/bin/../conf/zoo.cfg

    Mode: leader

    datanode01.hadoop | SUCCESS | rc=0 >>

    ZooKeeper JMX enabled by default

    Using config: /usr/local/zookeeper-3.4.10/bin/../conf/zoo.cfg

    Mode: follower

    # 再次查看状态,datanode02.hadoop 升级为 leader,datanode01.hadoop 仍为 follower

    # 注意:三台 ZooKeeper Server 组成的集群,当两台故障时,整个集群失败 ( 剩余的一台无法继续提供服务 )

    6、客户端连接

    shell > sh bin/zkCli.sh -server 10.64.39.143:2181, 10.64.39.144:2181, 10.64.39.145:2181

    # 注意:

    # 客户端连接集群,只写一个地址时,当这台 Server 宕机,则客户端连接失败

    # 同时写多个地址( 全写 )时,除集群失败外,不影响客户端连接

    # 写多个地址时,以 , 分割,, 两边不能有空格

    shell > sh bin/zkCli.sh -server 192.168.1.27:2181

    [zk: 192.168.1.27:2181(CONNECTED) 0] ls /

    [zookeeper]

    # 客户端只连接 1.27,显示只有一个默认的 znode

    shell > sh bin/zkCli.sh -server 192.168.1.28:2181

    [zk: 192.168.1.28:2181(CONNECTED) 0] ls /

    [zookeeper]

    [zk: 192.168.1.28:2181(CONNECTED) 1] create /zk 'mydata'

    Created /zk

    [zk: 192.168.1.28:2181(CONNECTED) 2] ls /

    [zk, zookeeper]

    [zk: 192.168.1.28:2181(CONNECTED) 3] get /zk

    mydata

    cZxid = 0x400000005

    ctime = Thu May 04 18:50:06 CST 2017

    mZxid = 0x400000005

    mtime = Thu May 04 18:50:06 CST 2017

    pZxid = 0x400000005

    cversion = 0

    dataVersion = 0

    aclVersion = 0

    ephemeralOwner = 0x0

    dataLength = 6

    numChildren = 0

    # 新客户端连接 1.28,创建一个 znode

    shell >

    [zk: 192.168.1.27:2181(CONNECTED) 1] ls /

    [zk, zookeeper]

    [zk: 192.168.1.27:2181(CONNECTED) 2] get /zk

    mydata

    cZxid = 0x400000005

    ctime = Thu May 04 18:50:06 CST 2017

    mZxid = 0x400000005

    mtime = Thu May 04 18:50:06 CST 2017

    pZxid = 0x400000005

    cversion = 0

    dataVersion = 0

    aclVersion = 0

    ephemeralOwner = 0x0

    dataLength = 6

    numChildren = 0

    # 刚才连接的 1.27,可以显示、获取这个新建的 znode

    shell >

    [zk: 192.168.1.27:2181(CONNECTED) 3] set /zk 'share'

    cZxid = 0x400000005

    ctime = Thu May 04 18:50:06 CST 2017

    mZxid = 0x400000006

    mtime = Thu May 04 18:57:48 CST 2017

    pZxid = 0x400000005

    cversion = 0

    dataVersion = 1

    aclVersion = 0

    ephemeralOwner = 0x0

    dataLength = 5

    numChildren = 0

    # 给这个 znode 重新设置一个值

    shell >

    [zk: 192.168.1.28:2181(CONNECTED) 4] get /zk       

    share

    cZxid = 0x400000005

    ctime = Thu May 04 18:50:06 CST 2017

    mZxid = 0x400000006

    mtime = Thu May 04 18:57:48 CST 2017

    pZxid = 0x400000005

    cversion = 0

    dataVersion = 1

    aclVersion = 0

    ephemeralOwner = 0x0

    dataLength = 5

    numChildren = 0

    # 连接 1.28 的客户端,也获取到了更新后的值

    shell >

    [zk: 192.168.1.28:2181(CONNECTED) 4] delete /zk

    [zk: 192.168.1.28:2181(CONNECTED) 5] ls /

    # 删除创建的 znode

         Hadoop集群与zookeeper配置关联并启动(hadoop用户)

    1、修改 core-site.xml

    More /opt/modules/hadoop-2.7.3/etc/hadoop/core-site.xml

    <configuration>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://hadoop-new</value>

    </property>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>/opt/rkdata/hadoop/tmp</value>

    </property>

    <property>

        <name>ipc.maximum.data.length</name>

        <value>134217728</value>

    </property>

    <property>

        <name>io.file.buffer.size</name>

            <value>131072</value>

    </property>

    <property>

        <name>fs.trash.interval</name>

            <value>1440</value>

    </property>

    <property>

        <name>ha.zookeeper.quorum</name>

            <value>10.64.39.143:2181,10.64.39.144:2181,10.64.39.145:2181</value>

    </property>

    <property>

        <name>ha.zookeeper.session-timeout.ms</name>

            <value>5000</value>

    </property>

    </configuration>

    # fs.defaultFS 指定的不再是某台 NameNode 的地址,是一个逻辑名称 ( hdfs-site.xml 文件中定义 )

    # ha.zookeeper.quorum 指定 ZooKeeper Server 地址

    # ha.zookeeper.session-timeout NameNode 与 ZooKeeper Server 超时时间,超时会发生主备切换

    2、修改hdfs-site.xml

     More /opt/modules/hadoop-2.7.3/etc/hadoop/hdfs-site.xml

    <configuration>

    <property>

        <name>dfs.nameservices</name>

        <value>hadoop-new</value>

    </property>

    <property>

        <name>dfs.replication</name>

        <value>3</value>

    </property>

    <property>

        <name>dfs.permissions</name>

        <value>false</value>

    </property>

    <property>

        <name>dfs.ha.namenodes.hadoop-new</name>

        <value>nn1,nn2</value>

    </property>

    <property>

        <name>dfs.namenode.rpc-address.hadoop-new.nn1</name>

        <value>NN:8020</value>

    </property>

    <property>

        <name>dfs.namenode.rpc-address.hadoop-new.nn2</name>

        <value>SNN:8020</value>

    </property>

    <property>

        <name>dfs.namenode.http-address.hadoop-new.nn1</name>

        <value>NN:50070</value>

    </property>

    <property>

        <name>dfs.namenode.http-address.hadoop-new.nn2</name>

        <value>SNN:50070</value>

    </property>

    <property>

        <name>dfs.namenode.name.dir</name>

        <value>file:///opt/rkdata/hadoop/name</value>

    </property>

    <property>

        <name>dfs.namenode.shared.edits.dir</name>

        <value>qjournal://DN1:8485;DN2:8485;DN3:8485/hadoop-new</value>

    </property>

    <property>

        <name>dfs.client.failover.proxy.provider.hadoop-new</name>

        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProv

    ider</value>

    </property>

    <property>

        <name>dfs.datanode.data.dir</name>

        <value>file:///opt/rkdata/hadoop/data</value>

    </property>

    <property>

        <name>dfs.ha.automatic-failover.enabled</name>

        <value>true</value>

    </property>

    <property>

        <name>dfs.journalnode.edits.dir</name>

        <value>/opt/rkdata/hadoop/journal/</value>

    </property>

    <property>

        <name>heartbeat.recheck.interval</name>

        <value>5000</value>

    </property>

    <property>

        <name>dfs.ha.fencing.methods</name>

        <value>sshfence</value>

    </property>

    <property>

        <name>dfs.ha.fencing.ssh.private-key-files</name>

        <value>/home/hadoop/.ssh/id_rsa</value>

    </property>

    <property>

        <name>dfs.ha.fencing.ssh.connect-timeout</name>

        <value>5000</value>

    </property>

    </configuration>

    3、初始化、启动 NameNode HA

     1、NN初始化 zkfc

    shell > su - hadoop

    hadoop shell > /opt/modules/hadoop-2.7.3/bin/hdfs zkfc -formatZK

    INFO ha.ActiveStandbyElector: Successfully created /hadoop-ha/myhdfs in ZK.

    2、DN1、DN2、DN3启动 journalnode

    hadoop shell > /opt/modules/hadoop-2.7.3/sbin/hadoop-daemon.sh start journalnode

    3、初始化 namenode,启动 NameNode(hadoop-new集群名称配置文件里面)

    hadoop shell > /opt/modules/hadoop-2.7.3/bin/hadoop namenode -format hadoop-new

    hadoop shell > /opt/modules/hadoop-2.7.3/sbin/hadoop-daemon.sh start namenode

    4、backup.hadoop 拷贝元数据、启动 NameNode

    hadoop shell > /opt/modules/hadoop-2.7.3/bin/hdfs namenode -bootstrapStandby  

    # 从 master.hadoop 拷贝 NameNode 元数据

    hadoop shell >/opt/modules/hadoop-2.7.3/sbin/hadoop-daemon.sh start namenode

    5、master.hadoop、backup.hadoop 启动 zkfc

    hadoop shell > /opt/modules/hadoop-2.7.3/sbin/hadoop-daemon.sh start zkfc

    6、NN启动 YARN

    hadoop shell >  /opt/modules/hadoop-2.7.3/sbin/start-yarn.sh

    6、DN1、DN2、DN3启动 DataNode

    hadoop shell > /opt/modules/hadoop-2.7.3/sbin/hadoop-daemon.sh start datanode

    启动完成后 使用jps 可以看到以下进程

    # master.hadoop

    8067 NameNode

    8230 DFSZKFailoverController

    # backup.hadoop

    8255 NameNode

    8541 DFSZKFailoverController

    # datanode.hadoop

    13227 DataNode

    13000 NodeManager

    12889 JournalNode

    七、验证 NameNode HA

    # 访问 http://10.64.39.140:50070 显示 active

    # 访问 http://10.64.39.142:50070 显示 standby

    hadoop shell > kill 8067  # 杀掉 master.hadoop 上的 NameNode

    hadoop shell > tail -f /usr/local/hadoop-2.8.0/logs/hadoop-hadoop-zkfc-backup.hadoop.log  # backup.hadoop 监控 zkfc 日志

    2017-05-22 14:08:50,035 INFO org.apache.hadoop.ha.ZKFailoverController: Trying to make NameNode at backup.hadoop/10.64.39.142:8020 active...

    2017-05-22 14:08:50,846 INFO org.apache.hadoop.ha.ZKFailoverController: Successfully transitioned NameNode at backup.hadoop/10.64.39.142:8020 to active state

    4、验证及平常停止启动hadoop

     

    Hadoop用户停止140上执行/opt/modules/hadoop-2.7.3/sbin/stop-all.sh

    Hadoop用户启动140上执行/opt/modules/hadoop-2.7.3/sbin/start-all.sh

    143144145上执行

    Root 停止zookeerper /usr/local/zookeeper-3.4.10/bin/zkServer.sh stop

    Root 启动zookeerper /usr/local/zookeeper-3.4.10/bin/zkServer.sh start

    Hbase集群安装

    序号

    节点类型

    主机名

    IP地址

    操作系统环境及硬件配置

    1

    Masert

    NN

    10.64.39.140

    OS:REDHAT 6.4 64位

    CPU:8CPU

    内存:60G

    划分数据存储容量:100G+2T

    2

    backup

    SNN

    10.64.39.142

    OS:REDHAT 6.4 64位

    CPU:8CPU

    内存:12G

    划分数据存储容量:100G+2T+5T

    3

    servers

    DN1

    10.64.39.143

    OS:REDHAT 6.4 64位

    CPU:8CPU

    内存:60G

    划分数据存储容量:100G+2T

    4

    servers

    DN2

    10.64.39.144

    OS:REDHAT 6.4 64位

    CPU:8CPU

    内存:12G

    划分数据存储容量:100G+2T+5T

    5

    servers

    DN3

    10.64.39.145

    OS:REDHAT 6.4 64位

    CPU:8CPU

    内存:12G

    划分数据存储容量:100G+2T+5T

    1、新建用户

     

    所有节点

    Useradd hbase

    Echo hbase|passwd –stdin hbase

    2、配置文件hbase-env.sh

     

    Vim /opt/hbase-2.0.4/conf/ hbase-env.sh  修改下面两项

    export JAVA_HOME=/opt/modules/jdk1.8.0_101/

    export HBASE_MANAGES_ZK=false

    3、配置hbase-site.xml

     

    Vim /opt/hbase-2.0.4/conf/hbase-site.xml

    在configuration标签之间加入如下配置:

        <!-- 指定HBase在HDFS上面创建的目录名hbase -->

        <property>

            <name>hbase.rootdir</name>

            <value>hdfs:// hadoop-new/hbase</value>

    <!-- hadoop-new 是HDFS的集群名称 -->

        <!-- 开启集群运行方式 -->

        <property>

            <name>hbase.cluster.distributed</name>

            <value>true</value>

        </property>

        <property>

            <name>hbase.tmp.dir</name>

            <value>/opt/hbase-2.0.4/tmp</value>

        </property>

        <property>

            <name>hbase.zookeeper.quorum</name>

            <value>DN1,DN2,DN3</value>

        </property>

    3copy  hadoop的两个配置到hbase里面

     

    Cp /opt/modules/hadoop-2.7.3/etc/hadoop/core-site.xml /opt/hbase-2.0.4/conf/

    Cp /opt/modules/hadoop-2.7.3/etc/hadoop/hdfs-site.xml /opt/hbase-2.0.4/conf/

    修改者两个文件的所有者

    chown hbase:hbase core-site.xml hdfs-site.xml

    4、修改regionservers backup-masters

     

    More /opt/hbase-2.0.4/conf/regionservers

    DN1

    DN2

    DN3

    #相当于hadoop slaves中的dataNode节点

    Echo ‘NN’>>/opt/hbase-2.0.4/conf/backup-masters

    #相当于hadoop back-maser中的dataNode节点

    5、配置hbase用户的ssh免密登录

    140用户hbase

    ssh-keygen

    ssh-copy-id hbase@10.64.39.142

    ssh-copy-id hbase@10.64.39.143

    ssh-copy-id hbase@10.64.39.144

    ssh-copy-id hbase@10.64.39.145

    ssh hbase@NN

    ssh hbase@SNN

    ssh hbase@DN1

    ssh hbase@DN2

    ssh hbase@DN3

    142用户hbase

    ssh-keygen

    ssh-copy-id hbase@10.64.39.140

    ssh-copy-id hbase@10.64.39.143

    ssh-copy-id hbase@10.64.39.144

    ssh-copy-id hbase@10.64.39.145

    ssh hbase@NN

    ssh hbase@SNN

    ssh hbase@DN1

    ssh hbase@DN2

    ssh hbase@DN3

    143用户hbase

    ssh-keygen

    ssh-copy-id hbase@10.64.39.140

    ssh-copy-id hbase@10.64.39.142

    ssh-copy-id hbase@10.64.39.144

    ssh-copy-id hbase@10.64.39.145

    ssh hbase@NN

    ssh hbase@SNN

    ssh hbase@DN1

    ssh hbase@DN2

    ssh hbase@DN3

    6、将程序分发到其他节点 root用户

     

    scp -r /opt/hbase-2.0.4 root@DN3:/opt/

    scp -r /opt/hbase-2.0.4 root@DN2:/opt/

    scp -r /opt/hbase-2.0.4 root@DN1:/opt/

    scp -r /opt/hbase-2.0.4 root@SNN:/opt/

    其他节点修改所属用户组

    chown -R hbase:hbase /opt/hbase-2.0.4

    7NN,SNN启动hbase maseter

     

    Hbase用户  /opt/hbase-2.0.4/bin/hbase-daemon.sh start master

    8DN1,DN2,DN3启动regionserver

    Hbase用户:/opt/hbase-2.0.4/bin/hbase-daemon.sh start regionserver

    9、查看hbase是否在hdfs文件系统创建成功

     

    Hadoop用户:/opt/modules/hadoop-2.7.3/bin/hdfs dfs -ls /

    10、停止hbase服务

     

    DN1,DN2,DN3停止regionserver

    Hbase用户:/opt/hbase-2.0.4/bin/hbase-daemon.sh stop regionserver

    ps -ef|grep regionserver|grep -v grep|awk '{print $2}'|xargs kill -9

    NN,SNN停止hbase maseter

    Hbase用户  /opt/hbase-2.0.4/bin/hbase-daemon.sh stop master

    ps -ef|grep hbase-2.0.4|grep -v grep |awk '{print $2}'|xargs kill -9

    清空日志

    rm -rf /opt/hbase-2.0.4/logs/*

    11、登录NNhbase进行验证

     

    /opt/hbase-2.0.4/bin/hbase shell

    hbase(main):001:0> status

     

    或者页面登录

     

    12、平常启动 停止 hbase用户主节点上

    /opt/hbase-2.0.4/bin/start-hbase.sh

    /opt/hbase-2.0.4/bin/stop-hbase.sh

    Storm安装

    DN1DN2DN3部署storm集群,DN1作为Nimubs节点DN2DN3作为surpervisor节点

    1、下载软件

    wget http://apache.fayea.com/storm/apache-storm-1.2.2/apache-storm-1.2.2.tar.gz

    2、解压软件到指定目录

     

    tar –xvf apache-storm-1.2.2.tar.gz –O /usr/local/

    3、配置storm

    More /usr/local/apache-storm-1.2.2/conf/storm.yaml

    storm.zookeeper.servers:

         - "DN1"

         - "DN2"

         - "DN3"

    storm.local.dir: "/usr/local/apache-storm-1.2.2/status"

    nimbus.seeds: ["DN1"]

    supervisor.slots.ports:

        - 6700

        - 6701

        - 6702

        - 6703

    注意:以上配置,凡是有冒号的地方,冒号后都要有个空格。

    4、拷贝storm到集群其他节点。

     

    scp -r /usr/local/apache-storm-1.2.2 root@DN3:/usr/local/

    5、对于两台supervisor node,我们额外开启JMX支持,在配置文件中加入如下配置

    Vim  /usr/local/apache-storm-1.2.2/conf/storm.yaml 新添加下面一行

    supervisor.childopts: -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=9998

    9998就是用于通过JMX收集supervisior JVM指标的端口。

    6、所有节点配置环境变量

     

    Vim /etc/profile       添加两行

    export STORM_HOME=/usr/local/apache-storm-1.2.2

    export PATH=$STORM_HOME/bin:$PATH

    重载一下环境变量

    source /etc/profile

    7、启动storm uiNimbusSupervisor

     

    DN1节点启动nimbus和storm ui:

    nohup storm ui >/dev/null 2>&1 &

    nohup storm nimbus >/dev/null 2>&1 &

    DN2DN3主机启动Supervisor节点:

    nohup storm supervisor >/dev/null 2>&1 &

    8、验证storm

     

    http://10.64.39.143:8080/index.html

    界面简单介绍:

    Used slots:使用的worker数。

    Free slots:空闲的worker数。

    Executors:每个worker的物理线程数。

    9、停止storm

     

    DN1

    ps -ef|grep daemon.name=ui|grep -v grep|awk '{print $2}'|xargs kill -9

    ps -ef|grep name=nimbus|grep -v grep|awk '{print $2}'|xargs kill -9

    DN2和DN3

    ps -ef|grep supervisor|grep -v grep|awk '{print $2}'|xargs kill -9

    Kafka集群安装

    DN1DN2DN3上面安装kafka

    1、下载kafka

    Apache官网去下载

    2、解压软件到指定目录

    tar -zxvf kafka_2.12-2.1.0.tgz -O /opt/kafka/kafka_2.12-2.1.0

    3、修改配置

    Mkdir /opt/kafka/kafkalogs/

    [root@DN1 config]# more server.properties |grep -v "^#"|grep -v "^$"

    broker.id=0

    port=9092

    host.name=DN1

    num.network.threads=3

    num.io.threads=8

    socket.send.buffer.bytes=102400

    socket.receive.buffer.bytes=102400

    socket.request.max.bytes=104857600

    log.dirs=/opt/kafka/kafkalogs/

    num.partitions=1

    num.recovery.threads.per.data.dir=1

    offsets.topic.replication.factor=1

    transaction.state.log.replication.factor=1

    transaction.state.log.min.isr=1

    log.retention.hours=168

    message.max.byte=5242880

    default.replication.factor=2

    replica.fetch.max.bytes=5242880

    log.segment.bytes=1073741824

    log.retention.check.interval.ms=300000

    zookeeper.connect=DN1:2181,DN2:2181,DN3:2181

    zookeeper.connection.timeout.ms=6000

    group.initial.rebalance.delay.ms=0

    #broker.id=0  每台服务器的broker.id都不能相同

    #host_name 修改

    4、启动Kafka集群并测试

     

    启动:/opt/kafka/kafka_2.12-2.1.0/bin/kafka-server-start.sh -daemon /opt/kafka/kafka_2.12-2.1.0/config/server.properties

    5、测试kafka集群

    测试:/opt/kafka/kafka_2.12-2.1.0/bin/kafka-topics.sh --create --zookeeper 10.64.39.143:2181 --replication-factor 2 --partitions 1 --topic shuaige

    #解释

    --replication-factor 2   #复制两份

    --partitions 1 #创建1个分区

    --topic #主题为shuaige

    '''在一台服务器上创建一个发布者'''

    #创建一个broker,发布者

    /opt/kafka/kafka_2.12-2.1.0/bin/kafka-console-producer.sh --broker-list 10.64.39.143:9092 --topic shuaige

    '''在一台服务器上创建一个订阅者'''

    /opt/kafka/kafka_2.12-2.1.0/bin/kafka-console-consumer.sh  --bootstrap-server 10.64.39.143:9092 --topic shuaige --from-beginning

    查看topic

    /opt/kafka/kafka_2.12-2.1.0/bin/kafka-topics.sh --list --zookeeper 10.64.39.143:2181

    查看topic状态

    /opt/kafka/kafka_2.12-2.1.0/bin/kafka-topics.sh --describe --zookeeper 10.64.39.143:2181 --topic shuaige

    #下面是显示信息

    Topic:ssports    PartitionCount:1    ReplicationFactor:2    Configs:

        Topic: shuaige    Partition: 0    Leader: 1    Replicas: 0,1    Isr: 1

    #分区为为1  复制因子为2   他的  shuaige的分区为0

    #Replicas: 0,1   复制的为0,1

    整个集群配置启动

    Hadoopzookerper的启动停止

    停止zookerper 143144145

    Root用户:/usr/local/zookeeper-3.4.10/bin/zkServer.sh stop

    启动

    Root用户:/usr/local/zookeeper-3.4.10/bin/zkServer.sh start

    Hadoop

    停止140

    Hadoop用户/opt/modules/hadoop-2.7.3/sbin/stop-all.sh

    启动140

    Hadoop用户/opt/modules/hadoop-2.7.3/sbin/start-all.sh

    单节点命令启动 hadoop用户

    /opt/modules/hadoop-2.7.3/sbin/hadoop-daemon.sh start journalnode

    /opt/modules/hadoop-2.7.3/sbin/hadoop-daemon.sh start datanode

    初始化hadoop

    rm /opt/modules/hadoop-2.7.3/logs/* -rf

    rm /opt/rkdata/hadoop/data/* -rf

    rm /opt/rkdata1/hadoop/data/* -rf

    rm /opt/rkdata/hadoop/name/* -rf

     

    Hbase

    停止140

    hbase用户:/opt/hbase-2.0.4/bin/stop-hbase.sh

    启动140

    hbase用户:/opt/hbase-2.0.4/bin/start-hbase.sh

     

    storm管理

    root用户启动storm uiNimbusSupervisor

     

    DN1节点启动nimbus和storm ui:

    nohup storm ui >/dev/null 2>&1 &

    nohup storm nimbus >/dev/null 2>&1 &

    DN2DN3主机启动Supervisor节点:

    nohup storm supervisor >/dev/null 2>&1 &

    验证storm

     

    http://10.64.39.143:8080/index.html

    停止storm

     

    DN1

    ps -ef|grep daemon.name=ui|grep -v grep|awk '{print $2}'|xargs kill -9

    ps -ef|grep name=nimbus|grep -v grep|awk '{print $2}'|xargs kill -9

    DN2和DN3

    ps -ef|grep supervisor|grep -v grep|awk '{print $2}'|xargs kill -9

    启动Kafka集群

     

    DN1、DN2、DN3 用Root用户启动:/opt/kafka/kafka_2.12-2.1.0/bin/kafka-server-start.sh -daemon /opt/kafka/kafka_2.12-2.1.0/config/server.properties

    页面测试

    Hadoop

    http://10.64.39.140:50070/

    http://10.64.39.142:50070/

    http://10.64.39.140:8088/

    hbase

    http://10.64.39.140:16010/

    http://10.64.39.142:16010/

    storm

    http://10.64.39.143:8080

    hadoop namenode自动挂掉问题处理记录

    more yarn-site.xml 修改

    <property>

        <name>yarn.resourcemanager.hostname</name>

        <value>NN</value>  --修改名称

    </property>

    Hdfs-site.xml中增加配置:

    <property>

        <name>dfs.qjournal.start-segment.timeout.ms</name>

        <value>9000</value>

    </property>

    <property>

        <name>dfs.qjournal.select-input-streams.timout.ms</name>

        <value>9000</value>

    </property>

    <property>

        <name>dfs.qjournal.write-txns.timeout.ms</name>

        <value>9000</value>

    </property>

    Core-site.xml中新增配置

    <property>

        <name>ipc.client.connect.timeout</name>

            <value>9000</value>

    </property>

    hadoop namenode自动挂掉问题第二次处理记录

    资源管理器配置ResourceManager

    修改yarn-site.xml

    <configuration>

    <!-- Site specific YARN configuration properties -->

    <property>

        <name>yarn.resourcemanager.hostname</name>

        <value>NN</value>

    </property>

    <property>

        <name>yarn.resourcemanager.address</name>

        <value>${yarn.resourcemanager.hostname}:8032</value>

    </property>

    <property>

        <name>yarn.resourcemanager.scheduler.address</name>

        <value>${yarn.resourcemanager.hostname}:8030</value>

    </property>

    <property>

        <name>yarn.resourcemanager.webapp.address</name>

        <value>${yarn.resourcemanager.hostname}:8088</value>

    </property>

    <property>

        <name>yarn.resourcemanager.webapp.https.address</name>

        <value>${yarn.resourcemanager.hostname}:8090</value>

    </property>

    <property>

        <name>yarn.resourcemanager.resource-tracker.address</name>

        <value>${yarn.resourcemanager.hostname}:8031</value>

    </property>

    <property>

        <name>yarn.resourcemanager.admin.address</name>

        <value>${yarn.resourcemanager.hostname}:8033</value>

    </property>

    <!--

    <property>

        <name>yarn.resourcemanager.scheduler.class</name>

    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>

    </property>

    <property>

        <name>yarn.scheduler.fair.allocation.file</name>

        <value>${yarn.home.dir}/etc/hadoop/fairscheduler.xml</value>

    </property>

    -->

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

    <property>

        <name>yarn.nodemanager.local-dirs</name>

        <value>/opt/rkdata/hadoop/yarn/local</value>

    </property>

    <property>

        <name>yarn.log-aggregation-enable</name>

        <value>true</value>

    </property>

    <property>

        <name>yarn.nodemanager.remote-app-log-dir</name>

        <value>/tmp/logs</value>

    </property>

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

    <property>

        <name>yarn.nodemanager.maximum-allocation-mb</name>

        <value>8182</value>

    </property>

    <property>

        <name>yarn.nodemanager.vmem-pmem-ratio</name>

        <value>2.1</value>

    </property>

    <property>

        <name>yarn.nodemanager.resoruce.memory-mb</name>

        <value>8182</value>

    </property>

    </configuration>

    ------------------------------------------------------------------------------------

    Habse建表报错

    /opt/hbase-2.0.4/bin/hbase shell

    create 'test','col1'  报错误 master exiting

    处理方法:

    1、 拷贝jar包到hbase

    cp /opt/modules/hadoop-2.7.3/share/hadoop/tools/lib/aws-java-sdk-1.7.4.jar  /opt/hbase-2.0.4/lib/

    2、 删除zookephbase目录

    sh /usr/local/zookeeper-3.4.10/bin/zkServer.sh status

    /usr/local/zookeeper-3.4.10/bin/zkCli.sh -server DN1:2181zookeper的主节点)

    rmr /hbase

    3、 重启hbase

    SN1SN2SN3  ps -ef|grep regionserver|grep -v grep|awk '{print $2}'|xargs kill -9

    SNNNN  ps -ef|grep hbase-2.0.4|grep -v grep |awk '{print $2}'|xargs kill -9

     

     

    NN    /opt/hbase-2.0.4/bin/start-hbase.sh

    NN    /opt/hbase-2.0.4/bin/stop-hbase.sh

    -----------------------------------

    kafa --针对大容量消息优化

    cat >>/opt/kafka/kafka_2.12-2.1.0/config/producer.properties <<EOF

    max.request.size=20971520

    buffer.memory=80971520

    EOF

    /opt/kafka/kafka_2.12-2.1.0/config/server.properties

    cat /opt/kafka/kafka_2.12-2.1.0/config/server.properties|grep message.max

    sed -i "s/message.max.byte=5242880/message.max.byte=20971520/g" /opt/kafka/kafka_2.12-2.1.0/config/server.properties

  • 相关阅读:
    IDENT_CURRENT ,@@identity,SCOPE_IDENTITY() 之间对比
    移动无边框窗体
    Winform拖拽改变无边框窗体大小
    配置错误---分析器错误消息: 无法识别的属性“targetFramework”。请注意属性名称区分大小写。
    c# winform中预防窗体重复打开
    C# TreeView 控件的综合使用方法
    c# vs2010 连接access数据库
    解决python pip缓慢
    securecrt密码获取
    linux开启telnet
  • 原文地址:https://www.cnblogs.com/wukc/p/14236593.html
Copyright © 2011-2022 走看看