美文网首页
hbase2.2.4 + hadoop2.8.5集群教程

hbase2.2.4 + hadoop2.8.5集群教程

作者: 一只yami | 来源:发表于2022-06-16 12:03 被阅读0次

    hbase2.2.4+hadoop2.8.5集群搭建教程(附带安装文件)

    测试安装环境centos8
    直接开始


    1.下载所需资源(自己找!!!)

    • hbase2.2.4安装包
    • hadoop2.8.5安装包
    • snappy编译后的库
    • jdk安装包(最好8以上)

    2. 开始安装

    安装前需要对集群内几台机器配置<font color="red">免密登录</font>,因为hbase会使用远程启动集群内的服务。这里不说了自己找吧,挺简单的。
    **另外一个就是zookeeper最好也搭建一个集群,挺简单的我这里也不说了 **

    2.1 安装jdk

    jdk安装就不多说了。我附带的文件中有安装文件和脚本。直接看脚本

    #!/bin/bash
    
    # 安装目录
    INSTALL_DIR='/data'
    
    # JDK 版本
    JDK_VERSION='jdk1.8.0_231'
    
    # jdk安装包名称
    JDK_PACKAGE_NAME='jdk-8u231-linux-x64.tar.gz'
    
    # 创建安装目录
    mkdir -m 755 -p ${INSTALL_DIR}
    
    # 解压安装包
    tar -zxvf $INSTALL_DIR/$JDK_PACKAGE_NAME -C $INSTALL_DIR
    
    # 配置环境变量
    echo "export JAVA_HOME=${INSTALL_DIR}/${JDK_VERSION}" >> /etc/profile
    echo "export CLASSPATH=\$JAVA_HOME/lib" >> /etc/profile
    echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile
    
    # 保存配置
    source /etc/profile
    

    安装成功后的目录是/data/jdk1.8.0_231
    可以自行替换jdk的版本文件,改一下目录就可以了。实际上就是tar zxvf 解压缩然后配置环境就能用。

    注意如果你直接运行这个脚本可能java命令还是不可用,得通过source 脚本名.sh执行脚本。 脚本里面的source /etc/profile才会生效,不然就得在控制台再来一次source /etc/profile。

    2.2 安装snappy

    snappy是谷歌提供一种高压缩率工具,hadoop使用snappy压缩后,压缩率可达6倍。表数据压缩前是20G,那么配置压缩后空间占用就只有3-4G。

    # 安装snappy
    yum install -y automake autoconf gcc-c++ cmake libedit libtool
    tar -zxvf snappy-1.1.4.tar.gz
    cd snappy-1.1.4
    ./configure
    make && make install
    

    集群里面有几台机器,那么几台机器都要安装好jdk snappy这些必须的东西。

    3. 安装hadoop

    直接解压官方的安装包
    主要是配置文件。最重要的文件在hadoop目录下的 etc/hadoop 文件夹下。
    主要文件为:

    • hadoop-env.sh 启动dfs的脚本文件
      修改关键点:
    export JAVA_HOME=/data/jdk1.8.0_231
    export HADOOP_PID_DIR=${HADOOP_PID_DIR}
    

    每个启动的脚本都配置一下java_home防止读不到环境变量,还有配一下HADOOP_PID_DIR。因为默认pid文件存在/tmp目录下,系统如果重启或者误操作等其他原因会导致pid文件丢失。这样就无法通过脚本关闭hadoop的进程。所以自己配置一个不会被误操作的目录好点。hbase重启是个很恶心的问题。

    • yarn-env.sh 启动yarn的脚本文件
      同上,配置一下jdk和pid的位置
    • slaves 配置集群有几个机器
      写主机名,没有主机名的配置一下主机名。我附带的配置里面默认了主机名是hbase001 hbase002 hbase003
    • core-site.xml 基础配置文件
    • yarn-site.xml yarn的配置文件
    • hdfs-site.xml hdfs的配置文件
    • mapred-site.xml mapreduce的配置文件

    这几个xml的配置可以自行百度,根据自己的主机名替换hbase001 hbase002 hbase003就行
    重要的点:

    <property>
        <name>ha.zookeeper.quorum</name>
        <value>hbase001:2181,hbase002:2181,hbase003:2181</value>
     </property>
    

    这里配置了zookeeper的地址是主机名:端口,如果你的zookeeper不在这里,需要自己修改


    这里说明一下为什么分hdfs和yarn。
    如果你只是用hbase增删改查,不进行import export等操作,直接启动hdfs就行了,yarn不需要启动。
    需要导入导出时才会用到yarn

    4. 安装hbase

    同上还是解压然后改配置,重要配置是conf目录下

    • regionservers 集群有几台机器就写几台的主机名
    • hbase-env.sh 启动hbase脚本
      主要还是修改jdk和pid等,我附带的脚本中有修改snappy的配置,一个比较重要的是
      export HBASE_MANAGES_ZK=false
      这个配置表示不使用hbase自带的zk。
    • hbase-site.xml
      都是一些配置端口等信息,注意一个地方
    <property>
            <!--RegionServer 的共享目录,用来持久化 Hbase-->
            <name>hbase.rootdir</name>
            <value>hdfs://hbase001:9000/hbase</value>
    </property>
    

    这是配置hbase文件持久化的方式,填写hdfs表示使用hdfs作为存储方式。里面的hbase001:9000是在hadoop里面配置了的

    我提供了参考的配置文件脚本,一键执行可以配置成功。配置好一台之后直接scp到其他两台服务器就可以启动。

    5. 启动hbase

    启动顺序,保证zk可用,先启动hadoop,再启动hbase。

    启动之前先说明一下,我的配置文件中指定了hbase001是hadoop的namenode,hbase002是hadoop的备份备份namenode,也就说有两个namenode。

    第一次启动先执行hadoop目录下的sbin/start-dfs.sh启动dfs,然后执行
    hdfs namenode -format初始化namenode
    执行后会在data目录下生成一些文件,我们把 /data/softwares/hadoop-2.8.5/data/dfs/name 这个整个文件夹 scp到hbase002 同目录下。然后执行
    hdfs zkfc -formatZK 对zkfc进行初始化。
    都完成之后执行sbin/stop-dfs.sh 关闭dfs。(因为之前没格式化不会启动成功的)

    现在再执行一下sbin/start-dfs.sh 就可以启动dfs了,完成之后输入浏览器输入http://hbase001:50070
    可以查看hadoop的namenode状态.
    因为配置了高可用,有两个namenode,所以查看hbase001:50070发现这个namenode不是active的话,

    微信图片_20220616120025.png

    需要ssh到hbase002下,执行hbase002的hadoop目录下的sbin/hadoop-daemons.sh stop zkfc。把hbase002的zkfc关闭,那么hbase001就会变成active状态。然后在启动回来就行了 sbin/hadoop-daemons.sh start zkfc

    微信图片_20220616120051.png

    现在hadoop启动完成。

    然后再到hbase目录下执行bin/start-hbase.sh就搞定了。
    可在浏览器查看 http://hbase001:16010
    控制台可以 hbase shell进入hbase,玩一下创建表和查数据了

    附带资源。
    链接:https://pan.baidu.com/s/184KO8A3uktYlkm0ui9-How?pwd=6pvu
    提取码:6pvu

    安装脚本

    #!/bin/bash
    
    # 主要文件的目录
    BASE_DIR="/data"
    BASE_SOFTWARE_DIR=$BASE_DIR/softwares
    
    mkdir -p $BASE_SOFTWARE_DIR
    
    tar zxf hbase_2.2.4-install.tar.gz
    
    # 安装jdk
    chmod 755 install-jdk.sh
    source install-jdk.sh
    echo -e "\033[32m jdk install success \033[0m"
    
    # 安装snappy
    echo "ready to install snappy"
    yum install -y automake autoconf gcc-c++ cmake libedit libtool
    tar -zxvf snappy-1.1.4.tar.gz
    cd snappy-1.1.4
    ./configure
    make && make install
    
    # 返回主要目录
    cd $BASE_DIR
    
    # 安装hadoop
    echo "ready to install hadoop"
    cd $BASE_DIR/hbase-installer
    tar zxf hadoop-2.8.5.tar.gz
    mv -f hadoop-2.8.5 $BASE_SOFTWARE_DIR
    cd $BASE_SOFTWARE_DIR/hadoop-2.8.5
    
    
    # 先同步阿里云的hadoop配置到当前
    /usr/bin/cp -rf $BASE_DIR/hbase-installer/hbase_conf/etc/hadoop etc 
    # 修改hadoop配置
    # hadoop-env.sh
    echo "export LD_LIBRARY_PATH=/data/softwares/hadoop-2.8.5/lib/native:/usr/local/lib/" >> etc/hadoop/hadoop-env.sh
    # mapred-site.xml
    (echo '51r /data/hbase-installer/hbase_conf/hadoop/mapred-site'; echo 'wq') |ed -s etc/hadoop/mapred-site.xml
    # core-site
    (echo '65r /data/hbase-installer/hbase_conf/hadoop/core-site'; echo 'wq') |ed -s etc/hadoop/core-site.xml
    # 拷贝snappy的jar包
    /usr/bin/cp -f /data/hbase-installer/hbase_conf/hadoop-snappy-0.0.1-SNAPSHOT.jar lib
    # 拷贝snappy的so文件
    /usr/bin/cp -f /data/hbase-installer/hbase_conf/Linux-amd64-64/* lib/native/
    echo -e "\033[32m hadoop install success \033[0m"
    
    # 安装hbase
    echo "ready to install hbase"
    cd $BASE_DIR/hbase-installer
    tar zxf hbase-2.2.4-bin.tar.gz
    mv -f hbase-2.2.4 $BASE_SOFTWARE_DIR
    cd $BASE_SOFTWARE_DIR/hbase-2.2.4
    
    
    # 先同步阿里云的hbase配置到当前
    /usr/bin/cp -f $BASE_DIR/hbase-installer/hbase_conf/conf/* conf 
    # 修改hbase配置
    # hbase-env.sh
    echo "export LD_LIBRARY_PATH=/data/softwares/hadoop-2.8.5/lib/native:/usr/local/lib/" >> conf/hbase-env.sh
    # hbase-site.xml
    (echo '82r /data/hbase-installer/hbase_conf/hbase/hbase-site'; echo 'wq') |ed -s conf/hbase-site.xml
    echo -e "\033[32m hbase install success \033[0m"
    
    # 环境变量配置
    cat $BASE_DIR/profile >> /etc/profile
    
    source /etc/profile
    

    相关文章

      网友评论

          本文标题:hbase2.2.4 + hadoop2.8.5集群教程

          本文链接:https://www.haomeiwen.com/subject/rmzfvrtx.html