目录
1、配置免密要登录(hadoop启动的时候需要,如果不配置,hadoop在启动的时候会提示输入用户密码)
2、上传hadoop、zookeeper、hbase安装包到/opt目录下
版本
| 软件 | 版本 |
| 操作系统 | CentOS Linux release 7.9.2009 (Core) |
| hadoop | 2.9.2 |
| zookeeper | 3.4.14 |
| hbase | 2.2.4 |
| jdk | 1.8+ |
服务器ip
192.168.1.2
部署前准备(root用户)
1、修改主机名(node1)
hostnamectl set-hostname node1
# 仅对centos7及以上生效,centos7以下系统需重启服务器
systemctl restart systemd-hostnamed2、修改ip-主机名映射
# 覆盖式写入,仅保留这一条,否则会影响hbase的regionserver在zookeeper中的注册地址,可能导致无法访问当前主机的regionserver
echo "192.168.1.2 node1" > /etc/hosts3、安装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_profilec、修改配置文件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 -formatg、启动
start-dfs.shh、验证
jps
#######输出内容分隔#######
# NameNode
# DataNode
# SecondaryNameNode
#########################4、安装zookeeper
a、解压zookeeper压缩文件zookeeper-3.4.14.tar.gz
tar -xvf /opt/zookeeper-3.4.14.tar.gz /home/diyuserb、修改配置文件/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_loge、启动zookeeper
/home/diyuser/zookeeper-3.4.14/bin/zkServer.sh startf、验证
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/diyuserb、添加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_profilec、修改文件/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=falsed、修改配置文件/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/regionserversf、启动
# 已配置hbase环境变量,可直接调用启动脚本
start-hbase.shg、验证
jps
#######输出内容分隔#######
# HMaster
# HRegionServer
#########################