知識布局-大數據apache基礎組件安裝文檔-hbase
前言
本人是一枚熱愛新技術的程序猿,想在知乎文藝一下。由於水平有限,如果存在知識點上面的錯誤,請大神明確指出,我會認真聽取,並及時修正自己的錯誤。
目錄
大數據組件實施部署文檔
1.部署準備
......1.1.修改主機名和hosts對應關係
......1.2 ntpd時間服務
............1.2.1.安裝ntp服務
............1.2.2.配置ntp服務端和客戶端
............1.2.2.啟動ntp
......1.3.ssh
............1.3.1.在A機下生成公鑰/私鑰對
............1.3.2.把A機下的id_rsa.pub複製到B機下
............1.3.3.B機把從A機複製的id_rsa.pub添加到.ssh/authorzied_keys文件里
............1.3.4.A機登錄B機
............1.3.5.需要配置ssh免密碼登陸的機器
......1.4.java環境
......1.5.文件句柄信息配置
2.zookeeper部署
......2.1.profile配置
......2.2.配置conf目錄下zoo.cfg文件
......2.3.配置myid文件
......2.4.配置zkEnv.sh
......2.5.自定義zk的日誌輸出
......2.6.啟動zookeeper
3.hadoop部署
......3.1.linux相應的配置文件
............3.1.1.profile配置
......3.2.hadoop相應配置文件
............3.2.1.hdfs-site.xml
............3.2.2.hadoop-env.sh
............3.2.3.slaves
............3.2.4.yarn-site.xml
............3.2.5.maped-env.sh
............3.2.6.yarn-env.sh
............3.2.7.core-site.xml
............3.2.8.mapred-site.xml
......3.3.hadoop啟動步驟
............3.3.1.啟動Zookeeper集群
............3.3.2.格式化Zookeeper集群
............3.3.3.啟動Journal集群
............3.3.4.格式化集群上的一個NameNode
............3.3.5.啟動集群中步驟4中的NameNode
............3.3.6.把NameNode的數據同步到另一個NameNode上
............3.3.7.啟動另個一NameNode在datanode01上執行
............3.3.8.啟動所有的DataNode
............3.3.9.啟動zookeeper選舉進程
............3.3.10.確認是否部署成功
4.hbase部署
......4.1. linux相應的配置文件
............4.1.1.profile配置
......4.2.hbase相應配置文件
............4.2.1.hbase-env.sh 配置
............4.2.2.hbase-site.xml配置
............4.2.3.regionservers
......4.3.hbase啟動命令
............4.3.1.創建軟連接
............4.3.2.啟動hbase
............4.3.3.檢查hbase是否搭建完成
5.spark部署
......5.1.安裝scala
......5.2.profile配置
......5.3.spark配置
............5.3.1.配置spark-env.sh
............5.3.2配置spark-defaults.conf
............5.3.3.slave節點配置
......5.4.啟動集群
6. kafka部署
......6.1.linux相應的配置文件
............6.1.1.profile配置
......6.2.kafka配置
......6.3.啟動kafka
本文包含目錄中的hbase部署章節。
4.hbase部署
......4.1. linux相應的配置文件
............4.1.1.profile配置
......4.2.hbase相應配置文件
............4.2.1.hbase-env.sh 配置
............4.2.2.hbase-site.xml配置
............4.2.3.regionservers
......4.3.hbase啟動命令
............4.3.1.創建軟連接
............4.3.2.啟動hbase
............4.3.3.檢查hbase是否搭建完成
4.hbase部署
概述
版本信息:hbase 「0.98.17」,java version "1.7.0_79",hadoop version 「2.5.2」
說明:我們的demo採用3台機器。集群組成為:一台master,兩台slave。
master名稱為corenode,slave分別為datanode01和datanode02。
安裝hbase的大體流程分為6步。按照下面的6步進行執行,最終會完成hbase的搭建工作。
1.檢查部署準備環節的事情是否完成(安裝準備中的5個),如果沒有完成,則需要找相應 的文檔進行安裝
2.檢查zookeeper是否完成安裝,如果沒有安裝,那麼參考zookeeper的安裝文檔進行安裝。
3.檢查hadoop是否完成安裝,如果沒有安裝,那麼參考hadoop的安裝文檔進行安裝。
4.配置/etc/profile
5.解壓hbase tar包,並修改相應的配置文件
6.啟動hbase
詳細安裝情況請參考如下幾個小節。
4.1. linux相應的配置文件
4.1.1.profile配置
hbase-0.98.17安裝在/mnt/apps/hbase/hbase-0.98.17-hadoop2下面,所有的配置都是按照這個目錄進行配置的。
我們使用vim /etc/profile,進入進行編輯:
#set Hbase-0.98.17
export HBASE_HOME=/mnt/apps/hbase/hbase-0.98.17-hadoop2
export PATH=$PATH:$HBASE_HOME/bin
編輯完成之後,退出編輯,執行 source /ect/profile,即完成profile的配置。
4.2.hbase相應配置文件
4.2.1.hbase-env.sh 配置
export JAVA_HOME=/mnt/apps/jdk/jdk1.7.0_79
export HBASE_MASTER_OPTS="-Xloggc:/mnt/apps/hbase/hbase-0.98.17-hadoop2/logs/mastergc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC $HBASE_MASTER_OPTS"
export HBASE_REGIONSERVER_OPTS="-Xloggc:/mnt/apps/hbase/hbase-0.98.17-hadoop2/logs/regiongc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC $HBASE_REGIONSERVER_OPTS"
export HBASE_PID_DIR=/mnt/apps/hbase/hbase-0.98.17-hadoop2/pids
export HBASE_MANAGES_ZK=false
export HBASE_HEAPSIZE=1024
4.2.2.hbase-site.xml配置
<configuration>
<property>
<name>hbase.master</name>
<value>60000</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://bonree/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>corenode,datanode01,datanode02</value>
</property>
<property>
<name>hbase.hregion.max.filesize</name>
<value>536870912</value>
</property>
<property>
<name>hbase.hregion.memstore.flush.size</name>
<value>5368709</value>
</property>
<property>
<name>hbase.hstore.compaction.min</name>
<value>3</value>
</property>
<property>
<name>hbase.hstore.compaction.max</name>
<value>12</value>
</property>
<property>
<name>hbase.hregion.majorcompaction</name>
<value>0</value>
</property>
<property>
<name>hbase.regionserver.restart.on.zk.expire</name>
<value>true</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>90000</value>
</property>
<property>
<name>hbase.hstore.blockingStoreFiles</name>
<value>100000</value>
</property>
<property>
<name>hbase.regionserver.thread.compaction.large</name>
<value>9</value>
</property>
<property>
<name>hbase.regionserver.thread.compaction.small</name>
<value>9</value>
</property>
<property>
<name>hbase.thrift.maxQueuedRequests</name>
<value>1000</value>
</property>
<property>
<name>hbase.client.write.buffer</name>
<value>2097152</value>
</property>
<property>
<name>hbase.thrift.minWorkerThreads</name>
<value>16</value>
</property>
<property>
<name>hbase.thrift.maxWorkerThreads</name>
<value>1000</value>
</property>
<property>
<name>hbase.regionserver.lease.period</name>
<value>240000</value>
</property>
<property>
<name>hbase.rpc.timeout</name>
<value>280000</value>
</property>
</configuration>
4.2.3.regionservers
datanode01
datanode02
4.3.hbase啟動命令
hbase-daemons.sh start master
4.3.1.創建軟連接
在每台機器上配置軟連接:ln -s ${HADOOP_HOME}/etc/hadoop/hdfs-site.xml ${HBASE_HOME}/conf/hdfs-site.xml
4.3.2.啟動hbase
start-hbase.sh
4.3.3.檢查hbase是否搭建完成
執行檢查命令:hbase hbck >./hbck.log
查看日誌,採用less hbck.log
存活的regionserver為2,dead region server為0,說明hbase正常啟動。
推薦閱讀:
※mongodb,redis,hbase 三者都是nosql資料庫,他們的最大區別和不同定位是什麼?
※知識布局-spark讀取hbase解析
※HBaseCon&灣區見聞及感想
※hdfs本身是不支持文件隨機插入數據。那麼hbase中隨機寫入記錄,在hdfs中是怎麼實現的呢?
※為什麼說HBase是列式資料庫?