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 [email protected]:~/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/authorized_keys
節點多的話,可以使用以下命令。
for i in {1..3};do scp -r ~/.ssh/id_rsa.pub [email protected].$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