1.虚拟机配置
192.168.10.1 hbase-01
192.168.10.2 hbase-02
192.168.10.3 hbase-03
2.基本环境
- JDK 1.8+
- Maven 3.5+ (可选)
- Git(可选)
Hbase 下载地址 https://hbase.apache.org/downloads.html
3.基本配置
1.修改/etc/hosts
文件,添加以下主机信息
192.168.10.1 hbase-01
192.168.10.2 hbase-02
192.168.10.3 hbase-03
2.SSH 配置
测试环境首先要关闭防火墙,或添加防火墙规则,我选择关闭防火墙。
systemctl disable firewalld.service
分别在 Hbase-01 Hbase-02 Hbase-03 上执行,一直回车就好,生成秘钥
ssh-keygen -t rsa
操作Hbase-01 ,将公钥传给 Hbase-01 (自己),Hbase-02,Hbase-03。
Hbase-02 Hbase-03 都要操作,保持三台机器互相免密登录。
scp ~/.ssh/id_rsa.pub root@192.168.10.1:~/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub root@192.168.10.2:~/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub root@192.168.10.3:~/.ssh/authorized_keys
节点多的话,可以使用以下命令。
for i in {1..3};do scp -r ~/.ssh/id_rsa.pub root@192.168.10.$i:~/.ssh/authorized_keys;done
现在Hbase-01 连接另外两台服务器,就不需要秘钥了。
A 主机 如果操作 B 主机 ,就要把 A 主机 的公钥传给 B 主机。
3.同步时间
yum -y install ntpdate
ntpdate cn.pool.ntp.org
4.关闭 SELinux ,将 SELINUX= enforcing
更改为 disabled
,并重启
vim /etc/selinux/config
注意:一定要更改正确,否则无法重启!
4.安装配置Hadoop
由于作者使用Geomesa,Hbase 版本号选择1.4.x ,故Hadoop 选择2.7.7,才能完美兼容.
4.1 下载Hadoop 到 /opt/
目录下 (Hbase-01上一台下载就可)
wget http://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
解压
tar -xvf hadoop-2.7.7.tar.gz
4.2 修改配置文件 hadoop-env.sh 配置 hadoop 环境变量
/opt/hadoop-2.7.7/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/jdk/jdk1.8.0_221
export HADOOP_HOME=/opt/hadoop-2.7.7
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
4.3 core-site.xml 配置HDFS
<configuration>
<!-- 指定HDFS默认(namenode)的通信地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hbase-01:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop/tmp</value>
</property>
</configuration>
mkdir /data/hadoop
4.4 hdfs-site.xml 配置namenode
<configuration>
<!-- 设置namenode的http通讯地址 -->
<property>
<name>dfs.namenode.http-address</name>
<value>hbase-01:50070</value>
</property>
<!-- 设置secondarynamenode的http通讯地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hbase-02:50090</value>
</property>
<!-- 设置namenode存放的路径 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/hadoop/name</value>
</property>
<!-- 设置hdfs副本数量 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!-- 设置datanode存放的路径 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hadoop/datanode</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4.5 mapred-site.xml 配置框架
cp mapred-site.xml.template mapred-site.xml
<configuration>
<!-- 通知框架MR使用YARN -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>
/opt/hadoop-2.7.7/etc/hadoop,
/opt/hadoop-2.7.7/share/hadoop/common/*,
/opt/hadoop-2.7.7/share/hadoop/common/lib/*,
/opt/hadoop-2.7.7/share/hadoop/hdfs/*,
/opt/hadoop-2.7.7/share/hadoop/hdfs/lib/*,
/opt/hadoop-2.7.7/share/hadoop/mapreduce/*,
/opt/hadoop-2.7.7/share/hadoop/mapreduce/lib/*,
/opt/hadoop-2.7.7/share/hadoop/yarn/*,
/opt/hadoop-2.7.7/share/hadoop/yarn/lib/*
</value>
</property>
</configuration>
4.6 yarn-site.xml 配置resourcemanager
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hbase-01</value>
</property>
<property>
<description>The http address of the RM web application.</description>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<description>The address of the applications manager interface in the RM.</description>
<name>yarn.resourcemanager.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<description>The address of the scheduler interface.</description>
<name>yarn.resourcemanager.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
<description>The address of the RM admin interface.</description>
<name>yarn.resourcemanager.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
</configuration>
4.7 修改 Slaves
hbase-02
hbase-03
4.8 配置环境变量
vim /etc/profile.d/hadoop.sh
export HADOOP_HOME=/opt/hadoop-2.7.7
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
生效
source /etc/profile.d/hadoop.sh
剩余机器可将hadoop.sh 复制,并使用 source
使环境变量生效。
4.9 集群初始化
1. 首次启动需要 初始化HDFS
hdfs namenode -format
出现以下日志,则表示成功。
第二次启动,配置好 Hadoop
环境变量
start-dfs.sh
2.启动YARN
start-yarn.sh
验证 (再次提醒,防火墙一定要放开端口或直接关闭)
windows 主机访问网页时,应在windows hosts 上加主机名ip 映射,或者直接访问
http://hbase-02:8088/
http://hbase-01:50070/
jps 命令查看Linux 主机
到这里,Hadoop 集群就已经搭建成功了!!!!!!!!
5. Hbase 部署
工作需要,作者需要用的Hbase 版本为 1.4.x
5.1 下载解压
wget https://mirror.bit.edu.cn/apache/hbase/1.4.13/hbase-1.4.13-bin.tar.gz
tar -xvf hbase-1.4.13-bin.tar.gz
5.2 配置 Hbase 环境变量
/opt/hbase-1.4.13/conf
目录下修改 hbase-env.sh 添加
export JAVA_HOME=/opt/jdk/jdk1.8.0_221
export HBASE_CLASSPATH=/opt/hbase-1.4.13
5.3 hbase-site.xml 配置hbase
1.创建文件夹
mkdir -p /data/hbase/zookeeper
mkdir -p /data/hbase/tmp
2.修改配置文件
<configuration>
<property>
<name>hbase.rootdir</name>
<!-- hbase存放数据目录 -->
<value>hdfs://hbase-01:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<!-- 是否分布式部署 -->
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hbase-01,hbase-02,hbase-03</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/data/hbase/tmp</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/data/hbase/zookeeper/data</value>
</property>
</configuration>
3.指定集群节点
hbase-01
hbase-02
hbase-03
4.将 Hbase
文件夹 复制到另外两台服务器
6. hbase-site.xml 配置hbase
只需要在hbase-01 上启动即可
1.启动
start-hbase.sh
2.验证
jps
命令查看
HQuorumPeer # zookeeper进程
HMaster # hbase master进程
HRegionServer # hbase slave进程
3.查看Hbase
状态
http://hbase-01:16010
https://www.cnblogs.com/dengbingbing/p/12200281.html