OS:CentOS 6.4 64-bit
RAM:2G
CPU:Intel Core i5-2400 3.10GHz
Hadoop版本:hadoop-2.4.0.tar.gz
HBase版本:hbase-0.98.2-hadoop2-bin.tar.gz html
1、爲主機命名 java
#vim /etc/sysconfig/network node
NETWORKING=yes
HOSTNAME=cos2.cosdomain linux
2、配置/etc/hosts shell
127.0.0.1 localhost localhost.localdomain
192.168.135.54 cos2 cos2.cosdomain apache
其中192.168.135.54爲本機一個網卡的固定IPV4地址 vim
3、安裝JDK並設置JAVA_HOME# tar zxvf jdk_1.8.0_linux_x64.tar.gz -C /jdk dom
# vim /etc/profile ssh
最後加入下面幾行 jsp
export JAVA_HOME=/jdk1.8.0_05
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
4、安裝配置SSH,使其能夠自動登陸
# yum install -y openssh
# ssh-keygen -t rsa-P '' -f ~/.ssh/id_rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub user88@cos2
user88@cos2‘s password:
$ ssh cos2 //驗證是否配置成功,不用輸密碼便可登陸本機。
將hadoop-2.4.0.tar.gz包解壓在目錄/opt/hadoop-2.4.0,而後配置/hadoop-2.4.0/etc/hadoop目錄下的四個文件:
core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://cos2:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop_data</value>
</property>
</configuration>
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
mapred-site.xml:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>cos2:8021</value>
</property>
</configuration>
hadoop-env.sh:
export JAVA_HOME=/jdk1.8.0_05/
經過以上步驟hadoop即安裝配置完成,進入hadoop-2.4.0主目錄的bin目錄下
# ./hdfs namenode -format //格式化hadoop namenode,不少時候namenode啓動不起來能夠試試格式化一下
進入hadoop-2.4.0主目錄的sbin目錄下
# ./start-dfs.sh 和start-yarn.sh //啓動hadoop的各個監護進程
能夠經過http://cos2:50070 和http://localhost:50030 查看namenode和jobtracker。
#./stop-yarn.sh 和start-dfs.sh //關閉hadoop的各個監護進程
將hbase-0.98.2-hadoop2-bin.tar.gz包解壓在目錄/opt/hbase-0.98.2,而後配置/opt/hbase-0.98.2/conf/hbase-env.sh文件
#JAVA_HOME主目錄
export JAVA_HOME=/jdk1.8.0_05/
#指向HADOOP_HOME配置目錄?爲何
export HBASE_CLASSPATH=$HBASE_CLASSPATH:/hadoop-2.4.0/etc/hadoop
編輯/opt/hbase-0.98.2/conf/hbase-site.xml 文件,增長如下內容
<property>
<name>hbase.rootdir</name>
<value>hdfs://cos2:8020/hbase</value>
##標紅色的路徑必定要跟hadoop中core-site.xml中fs.defaultFS中的路徑相同,不然拋錯。
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>cos2</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
完成以上操做,就能夠正常啓動HBase了,啓動順序:先啓動Hadoop——>再啓動Hbase,關閉順序:先關閉Hbase——>再關閉Hadoop。
# ./start-hbase.sh
# ./stop-hbase.sh
若是一切正常,使用jdk自帶的jps命令查看可獲得相似以下輸出
# jps 23346 ResourceManager 24133 HRegionServer 23159 SecondaryNameNode 22985 DataNode 23961 HQuorumPeer 22858 NameNode 23451 NodeManager 5598 Jps 24031 HMaster
接下來就能夠啓動hbase shell
#./hbase shell
(1)ERROR: Can't get master address from ZooKeeper; znode data == null
緣由:運行hbase(zookeeper)的用戶沒法寫入zookeeper文件,致使znode data爲空。
解決:在hbase-site.xml指定一個運行hbase的用戶有寫入文件權限的目錄做爲zookeeper數據目錄,如
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/user88/zk_data</value>
</property>
(2)HMaster起動失敗,HBASE_HOME/logs/下的master日誌有打印
master.HMaster: Unhandled exception. Starting shutdown.
java.net.ConnectException: Call From cos2.com/10.0.3.218 to cos2:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
緣由:除了http://wiki.apache.org/hadoop/ConnectionRefused中緣由外,還應保證/etc/hosts文件中不存在 ::1 localhost localhost.localdomain這一行
解決:刪除/etc/hosts文件中不存在 ::1 localhost localhost.localdomain這一行
(3)start-dfs.sh啓動HDOOP_HOME/logs下日誌中報錯org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /tmp/xxxxxxxx/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.
緣由: 在linux下hadoop等的各類數據默認保存在/tmp目錄下。 當重啓系統後/tmp目錄中的數據信息被清除,致使hadoop啓動失敗。
解決: bin/hadoop namenode -format 格式化後,恢復了默認設置,便可正常啓動。
或者在hadoop的core-site.xml中加入如下配置
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop_data</value>
</property>
http://www.cnblogs.com/Dreama/articles/2219190.html
http://blog.csdn.net/johnny901114/article/details/9446593