在CentOS上集成HBase与Hadoop的步骤如下:
以上版本为示例,请根据实际情况选择最新稳定版本。
在集群主机上添加以下信息:
192.168.0.100 master
192.168.0.101 slave1
192.168.0.102 slave2
mkdir /usr/java
tar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/java
scp -r /usr/java slave1:/usr
scp -r /usr/java slave2:/usr
vim /etc/environment
JAVA_HOME=/usr/java/jdk1.8.0_131
JRE_HOME=/usr/java/jdk1.8.0_131/jre
export JAVA_HOME
export JRE_HOME
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
source /etc/environment
在master节点生成密钥对:
ssh-keygen -t rsa
将公钥拷贝至其他节点:
scp ~/.ssh/id_rsa.pub slave1:~/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub slave2:~/.ssh/authorized_keys
关闭防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
关闭SELinux:
vim /etc/selinux/config
注释掉:
SELINUX=enforcing
SELINUXTYPE=targeted
添加:
SELINUX=disable
tar -zxvf hadoop-2.7.3-x64.tar.gz -C /usr
cd /usr/hadoop-2.7.3
mkdir tmp logs hdf hdf/data hdf/name
vim /usr/hadoop-2.7.3/etc/hadoop/slaves
删除localhost,添加slave1、slave2。
vim /usr/hadoop-2.7.3/etc/hadoop/core-site.xml
在configuration节点中添加以下内容:
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop-2.7.3/tmp</value>
</property>
vim /usr/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
添加以下内容:
<property>
<name>hbase.rootdir</name>
<value>hdfs://nn01:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>mini1,mini2,mini3</value>
</property>
cd /usr/local/hadoop/etc/hadoop
vi hadoop-env.sh
添加以下内容:
export JAVA_HOME=/mnt/soft/jdk1.8.0_251
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
vi core-site.xml
指定HDFS默认(namenode)的通信地址:
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
指定Hadoop运行时产生文件的存储路径:
<property>
<name>hadoop.tmp.dir</name>
<value>/mnt/data/hadoop/tmp</value>
</property>
vi hdfs-site.xml
指定master:
<property>
<name>hbase.master</name>
<value>nn01</value>
</property>