CentOS7搭建 Hadoop + HBase + Zookeeper集群
一、基礎環境準備
1、下載安裝包(均使用當前最新的穩定版本,截止至2017年05月24日)
1)jdk-8u131
下載地址:Java SE Development Kit 8
2)hadoop-2.7.3
下載地址:Index of /apache/hadoop/common/hadoop-2.7.3
3)hbase-1.2.5
下載地址:Index of /apache/hbase/1.2.5
4)zookeeper-3.4.10
下載地址:Index of /apache/zookeeper/zookeeper-3.4.10
2、修改hosts文件(使用的三台集群主機默認IP為192.168.0.100、192.168.0.101、192.168.0.102)
# vim /etc/hosts添加以下信息192.168.0.100 master192.168.0.101 slave1192.168.0.102 slave2
3、安裝JDK
-- 解壓jdk安裝包# mkdir /usr/java# tar -zxvf jdk-8u131-linux-x64.tar.gx -C /usr/java-- 拷貝jdk至slave1及slave2中# scp -r /usr/java slave1:/usr# scp -r /usr/java slave2:/usr-- 設置jdk環境變數# vim /etc/environmentJAVA_HOME=/usr/java/jdk1.8.0_131JRE_HOME=/usr/java/jdk1.8.0_131/jre# vim /etc/profileexport JAVA_HOME=/usr/java/jdk1.8.0_131export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin
4、設置免密登陸
slave1
# ssh-keygen -t rsa# cp ~/.ssh/id_rsa.pub ~/.ssh/slave1_id_rsa.pub# scp ~/.ssh/slave1_id_rsa.pub master:~/.ssh/
slave2
# ssh-keygen -t rsa# cp ~/.ssh/id_rsa.pub ~/.ssh/slave2_id_rsa.pub# scp ~/.ssh/slave2_id_rsa.pub master:~/.ssh/
master
# ssh-keygen -t rsa# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys# cat ~/.ssh/slave1_id_rsa.pub >> ~/.ssh/authorized_keys# cat ~/.ssh/slave2_id_rsa.pub >> ~/.ssh/authorized_kyes-- 拷貝文件至slave1及slave2# scp ~/.ssh/authorized_keys slave1:~/.ssh# scp ~/.ssh/authorized_keys slave2:~/.ssh
5、關閉防火牆及SELINUX
-- 關閉防火牆# systemctl stop firewalld.service# systemctl disable firewalld.service-- 關閉SELINUX# vim /etc/selinux/config-- 注釋掉#SELINUX=enforcing#SELINUXTYPE=targeted-- 添加SELINUX=disabled
二、Hadoop環境搭建
1、解壓縮安裝包及創建基本目錄
# 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
2、修改hadoop配置文件
-- 修改 slaves 文件# vim /usr/hadoop-2.7.3/etc/hadoop/slaves-- 刪除 localhost,添加slave1slave2-- 修改 core-site.xml 文件# 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>file:/usr/hadoop-2.7.3/tmp</value></property>-- 修改 hdfs-site.xml 文件# vim /usr/hadoop-2.7.3/etc/hadoop/hdfs-site.xml-- 在 configuration 節點添加以下內容<property> <name>dfs.datanode.data.dir</name> <value>/usr/hadoop-2.7.3/hdf/data</value> <final>true</final></property><property> <name>dfs.namenode.name.dir</name> <value>/usr/hadoop-2.7.3/hdf/name</value> <final>true</final></property>-- 修改 mapred-site.xml 文件# cp /usr/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template /usr/hadoop-2.7.3/etc/hadoop/mapred-site.xml# vim /usr/hadoop-2.7.3/etc/hadoop/mapred-site.xml-- 在 configuration 節點添加以下內容<property> <name>mapreduce.framework.name</name> <value>yarn</value></property><property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value></property><property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value></property>-- 修改 yarn-site.xml 文件# vim /usr/hadoop-2.7.3/etc/hadoop/yarn-site.xml-- 在 configuration 節點添加以下內容<property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.mapred.ShuffleHandler</value></property><property> <name>yarn.resourcemanager.address</name> <value>master:8032</value></property><property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value></property><property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value></property><property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value></property><property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value></property>
3、複製hadoop到slave節點
# scp -r /usr/hadoop-2.7.3 slave1:/usr# scp -r /usr/hadoop-2.7.3 slave2:/usr
4、配置 master 和 slave 的 hadoop 環境變數
# vim /etc/profile-- 添加如下內容export HADOOP_HOME=/usr/hadoop-2.7.3export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATHexport HADOOP_LOG_DIR=/usr/hadoop-2.7.3/logsexport YARN_LOG_DIR=$HADOOP_LOG_DIR-- 保存後執行# source /etc/profile# vim ~/.bashrc-- 添加如下內容export HADOOP_PREFIX=/usr/hadoop-2.7.3/
5、格式化 namenode
# /usr/hadoop-2.7.3/sbin/hdfs namenode -format
6、啟動 hadoop
# /usr/hadoop-2.7.3/sbin/start-all.sh
到這一步已經成功完成了hadoop環境的搭建
三、Zookeeper環境搭建
1、解壓縮 zookeeper 安裝包,並建立基本目錄
# tar -zxvf zookeeper-3.4.10.tar.gz -C /usr# mkdir /usr/zookeeper-3.4.10/data
2、修改配置文件
-- 複製配置文件模板# cp /usr/zookeeper-3.4.10/conf/zoo-sample.cfg /usr/zookeeper-3.4.10/conf/zoo.cfg-- 修改配置文件# vim /usr/zookeeper-3.4.10/conf/zoo.cfg-- 添加如下內容dataDir=/usr/zookeeper-3.4.10/dataserver.1=master:2888:3888server.2=slave1:2888:3888server.3=slave2:2888:3888-- 創建myid文件(master、slave1、slave2均需更新)# touch /usr/zookeeper-3.4.10/data/myid# vim /usr/zookeeper-3.4.10/myid-- 添加如下內容1(master節點添加)2(slave2節點添加)3(slave3節點添加)
3、啟動zookeeper
-- master、slave1、slave2增需要執行# cd /usr/zookeeper-3.4.10/bin# ./zkServer.sh start# ./zkServer.sh status
到這一步完成了zookeeper環境的搭建
四、HBase環境搭建
1、解壓縮hbase安裝包
# tar -zxvf hbase-1.2.5-bin.star.gz -C /usr# mkdir /usr/hbase-1.2.5-bin/logs
2、修改配置文件
# vim /usr/hbase-1.2.5/conf/hbase-env.sh-- 添加如下內容export JAVA_HOME=/usr/java/jdk1.8.0_131export HBASE_LOG_DIR=${HBASE_HOME}/logsexport HBASE_MANAGES_ZK=false
3、修改regionservers
# vim /usr/hbase-1.2.5/conf/regionservers-- 刪除localhost,新增如下內容masterslave1slave2
4、修改配置文件
# vim /usr/hbase-1.2.5/conf/hbase-site.xml-- 在configuration節點下添加如下內容<property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value></property><property> <name>hbase.cluster.distributed</name> <value>true</value></property><property> <name>hbase.zookeeper.quorum</name> <value>master,slave1,slave2</value></property><property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/zookeeper-3.4.10/data</value></property><property> <name>hbase.master</name> <value>hdfs://master:60000</value></property>
5、複製hbase到slave中
# scp -r /usr/hbase-1.2.5 slave1:/usr# scp -r /usr/hbase-1.2.5 slave2:/usr
6、啟動hbase
# /usr/hbase-1.2.5/bin/start-hbase.sh
到這一步hbase環境搭建完成
文章來源於開源中國社區CentOS7搭建 Hadoop + HBase + Zookeeper集群
推薦閱讀:
※快速部署MongoDB集群(開源)
※Docker 引擎的 Swarm 模式:入門教程
※資料庫的自我修鍊——阿里雲MongoDB備份恢復功能說明和原理介紹
※零基礎小白在 mac 上配置 Hadoop 單點偽分布集群填坑過程 —— Jinkey 原創
※如何解決大規模機器學習的三大痛點?