一、準備工作
下載Hadoop:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/
下載HBase: https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/
Linux版本:任選(我選擇的是Centos7)
下載時,注意查看官方HBase版本與Hadoop版本兩者支持的版本,然後下載相應的版本。
二、環境搭建
1.配置Java環境變量(兩種)
首先查看官方文檔HBase版本與JDK版本的支持:
2.添加JAVA JDK環境變量:(推薦)
# vim /etc/profile.d/java.sh JAVA_HOME=/usr/local/jdk1.8.0_144 JRE_HOME=/usr/local/jdk1.8.0_144/jre CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME PATH CLASSPATH# source /etc/profile.d/java.sh
3.另外一種添加Java JDK環境變量(選一種即可)
# vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_144 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar export PATH=$JAVA_HOME/bin:$HOME/bin:$HOME/.local/bin:$PATH# reboot
我這裏爲centos7,如果選擇在 /etc/profile 裏添加 source命令不行 ,只能重啓生效。
4.配置一下 hosts文件(目的是將你的 IP 和 主機名對應起來)
# vi /etc/hosts
我這裏的主機已經改爲master,不懂的自行百度修改主機名。
二、編輯Hadoop的配置文件
hadoop-env.sh 配置環境變量
export JAVA_HOME=/usr/local/jdk1.8.0_144
core-site.xml 配置公共屬性
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property><property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop-2.7.4/tmp</value>
</property>
</configuration>
hdfs-site.xml 配置HDFS
<configuration>
<property><!--指定SecondaryNameNode位置-->
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
yarn-site.xml 配置YARN
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property></configuration>
mapred-site.xml 配置MapReduce
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
slaves 配置DataNode節點
# vi slaves
master
三、配置HBase
1.編輯hbase-env.sh文件
# The java implementation to use. Java 1.7+ required.
export JAVA_HOME=/usr/local/jdk1.8.0_144
2.編輯hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hbase-1.2.6/data/zookeeper</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>
3.編輯regionservers文件
# vi /opt/hbase-1.2.6/conf/regionservers
master
四、配置Hadoop和HBase的環境變量
# vi /etc/profile
#Hadoop Environment Setting
export HADOOP_HOME=/opt/hadoop-2.7.4#HBase Environment Setting
export HBASE_HOME=/opt/hbase-1.2.6export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin
# reboot
再次強調我的是centos7,這裏用 source /etc/profile 報錯,只好重啓reboot生效
五、ssh免密設置
在[root@master ~]# 目錄下
[root@master ~]# ssh-keygen -t rsa
一路回車
你會看到 ~ 目錄下多了一個.ssh文件
[root@master ~]# ls -a
. anaconda-ks.cfg .bash_logout .bashrc .oracle_jre_usage .ssh
.. .bash_history .bash_profile .cshrc .pki .tcshrc[root@master .ssh]# ls
id_rsa id_rsa.pub[root@master .ssh]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
免密設置的目的是爲了啓動hadoop每次不用輸入密碼,也就是跳過輸密碼步驟,免得麻煩。
六、啓動Hadoop(啓動前先格式化)
# hdfs namenode -format
格式化後會有提示,如果看到 status=0表示格式化成功,然後每次啓動hadoop集羣namenode的信息
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop-2.7.4/tmp</value>
</property>
是放在/home/hadoop-2.7.4/tmp路徑文件中,如果之後集羣出問題需要格式化,那麼需要先刪除這個文件路徑中的內容。
1.格式化後啓動hadoop,配置了Hadoop的環境變量的,在全局都可以啓動
# start-dfs.sh
# start-yarn.sh
啓動完後訪問50070端口, 我的ip是192.168.233.128:50070如果hadoop是啓動成功的,然後訪問不了界面,那麼請檢查下你虛擬機的 防火牆開啓了嗎。
2.啓動hbase,配置了Hbase的環境變量的,在全局都可以啓動
# start-hbase.sh
啓動成功後在物理機訪問 16010 端口,HBase默認的Web UI端口
這樣HBase已經啓動成功。
如果還需要加Spark框架:https://www.jianshu.com/p/9622f684144d ,我的已經配置成功了。