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