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

  • 相关阅读:
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车按键启动和蜂鸣器报警
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车前后左右综合实验
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车前后左右综合实验
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车前后左右综合实验
    asp中设置session过期时间方法总结
    asp中设置session过期时间方法总结
    ASP.NET关于Session_End触发与否的问题
  • 原文地址:https://www.cnblogs.com/wukc/p/14236593.html
Copyright © 2011-2022 走看看