Centos7 Hadoop Hdfs Hbase 分佈式安裝(超詳細建議收藏)

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章