hadoop + hbase + zookeeper 单机部署

目录

版本

服务器ip

部署前准备(root用户)

1、修改主机名(node1)

2、修改ip-主机名映射

3、安装jdk并配置环境变量

安装部署(以下命令执行均使用diyuser用户执行)

1、配置免密要登录(hadoop启动的时候需要,如果不配置,hadoop在启动的时候会提示输入用户密码)

2、上传hadoop、zookeeper、hbase安装包到/opt目录下

3、安装hadoop并启动hdfs

4、安装zookeeper


版本

软件版本
操作系统CentOS Linux release 7.9.2009 (Core)
hadoop2.9.2
zookeeper3.4.14
hbase

2.2.4

jdk1.8+

 

 

 

 

 

 

服务器ip

192.168.1.2

 

部署前准备(root用户)

1、修改主机名(node1)

hostnamectl set-hostname node1
# 仅对centos7及以上生效,centos7以下系统需重启服务器
systemctl restart systemd-hostnamed

2、修改ip-主机名映射

# 覆盖式写入,仅保留这一条,否则会影响hbase的regionserver在zookeeper中的注册地址,可能导致无法访问当前主机的regionserver
echo "192.168.1.2 node1" > /etc/hosts

3、安装jdk并配置环境变量

参考:【CentOS】rpm包安装Jdk

4、创建diyuser用户(用于启动hadoop、zookeeper、hbase)

groupadd diygroup
useradd -g diygroup diyuser
passwd diyuser # 此命令执行后,输入密码

安装部署(以下命令执行均使用diyuser用户执行)

1、配置免密要登录(hadoop启动的时候需要,如果不配置,hadoop在启动的时候会提示输入用户密码)

su - diyuser # 此命令会自动进入diyuser的家目录
ssh-keygen # 输入命令后一直回车
cat .ssh/id_rsa.pub >> .ssh/authorized_keys # 将自己的公钥添加到免秘钥登录验证文件中

2、上传hadoop、zookeeper、hbase安装包到/opt目录下

3、安装hadoop并启动hdfs

    a、解压hadoop文件

tar -xvf /opt/hadoop-2.9.2.tar.gz /home/diyuser

    b、添加hadoop环境变量

cat>>~/.bash_profile<<EOF
export HADOOP_HOME=/home/diyuser/hadoop-2.9.2
export PATH=$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
EOF

# 使环境变量生效
source ~/.bash_profile

   c、修改配置文件core-site.xml

    <property>
        <name>fs.defaultFS</name>
        <!-- myhbase为主机名,需要在/etc/hosts文件中配置映射,9000为hdfs访问端口 -->
        <value>hdfs://myhbase:9000</value>
    </property>

   d、修改文件/home/diyuser/hadoop-2.9.2/etc/hadoop/hadoop-env.sh,“export  JAVA_HOME=”的值配置为本机jdk的安装目录

export JAVA_HOME=/usr/java/jdk1.8.0_151/

   e、修改配置文件/home/diyuser/hadoop-2.9.2/etc/hadoop/hdfs-site.xml

    <property>
        <!-- 副本数 -->
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <!-- 主namenode信息存储目录 -->
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoop/dn/dfs/name</value>
    </property>
    <property>
        <!-- 从namenode信息存储目录 -->
        <name>dfs.namenode.checkpoint.dir</name>
        <value>file:/home/hadoop/dn/dfs/namesecondary</value>
    </property>
    <property>
        <!-- datanode信息存储目录 -->
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoop/dn/dfs/data</value>
    </property>

    f、初始化

# 配置过hadoop的环境变量,可以直接执行hdfs,不需要指定hdfs命令的详细地址
hdfs namenode -format

    g、启动

start-dfs.sh

    h、验证

jps
#######输出内容分隔#######
#    NameNode
#    DataNode
#    SecondaryNameNode
#########################

4、安装zookeeper

    a、解压zookeeper压缩文件zookeeper-3.4.14.tar.gz

tar -xvf /opt/zookeeper-3.4.14.tar.gz /home/diyuser

    b、修改配置文件/home/diyuser/zookeeper-3.4.14/conf/zoo.cfg

cd /home/diyuser/zookeeper-3.4.14/conf/
cp zoo_sample.cfg zoo.cfg
cat>>zoo.cfg<<EOF
dataDir=/home/diyuser/data/zookeeper
dataLogDir=/home/diyuser/data/zookeeper_log
EOF

    c、创建zookeeper数据目录和日志目录(上一步骤中配置的目录)

mkdir -p /home/diyuser/data/zookeeper
mkdir -p /home/diyuser/data/zookeeper_log

    e、启动zookeeper

/home/diyuser/zookeeper-3.4.14/bin/zkServer.sh start

    f、验证

jps
#######输出内容分隔#######
#    QuorumPeerMain
#########################

/home/diyuser/zookeeper-3.4.14/bin/zkServer.sh status
#######输出内容分隔#######
#    ZooKeeper JMX enabled by default
#    Using config: /home/diyuser/zookeeper-3.4.14/bin/../conf/zoo.cfg
#    Mode: standalone
#########################

5、安装hbase

    a、加压hbase压缩文件hbase-2.2.4-bin.tar.gz

tar -xvf /opt/hbase-2.2.4.tar.gz /home/diyuser

    b、添加hbase环境变量(root用户)

cat>>~/.bash_profile<<EOF
export HBASE_HOME=/home/diyuser/hbase-2.2.4
export PATH=$HBASE_HOME/bin:$HADOOP_HOME/bin:$PATH
EOF

# 使环境变量生效
source ~/.bash_profile

    c、修改文件/home/diyuser/hbase-2.2.4/conf/hbase-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_151/
export HBASE_CLASSPATH=/home/diyuser/hbase-2.2.4/conf
export HBASE_MANAGES_ZK=false

    d、修改配置文件/home/diyuser/hbase-2.2.4/conf/hbase-site.xml

    <property>
        <name>hbase.rootdir</name>
        <!-- 同hadoop配置文件core-site.xml中fs.defaultFS的值 -->
        <value>hdfs://myhbase:9000/hbase</value>
    </property>
    <!-- false是单机模式,true是分布式模式  -->
    <property>
        <name>hbase.cluster.distributed</name>
        <!-- 当使用外置zookeeper时必须配置为true,仅在使用hbase自带zookeeper时配置为false -->
        <value>true</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <!-- zookeeper的数据目录,同zookeeper配置文件zoo.cfg中dataDir的值,启动hbase的用户需对此目录有读写权限 -->
        <value>/home/hbase/zookeeper</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>myhbase</value>
    </property>
    <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
    </property>

    e、修改regionservers配置文件/home/diyuser/hbase-2.2.4/conf/regionservers

echo "node1" > /home/diyuser/hbase-2.2.4/conf/regionservers

    f、启动

# 已配置hbase环境变量,可直接调用启动脚本
start-hbase.sh

    g、验证

jps
#######输出内容分隔#######
#    HMaster
#    HRegionServer
#########################

 


版权声明:本文为shangxindeku原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。