1、软件版本
jdk-7u80-linux-x64.tar.gz
hadoop-2.7.2.tar.gz
hbase-1.2.1-bin.tar.gz
2、集群配置
主机: Slave1.Hadoop IP地址: 192.168.1.101
主机: Slave2.Hadoop IP地址: 192.168.1.102
用户设置:系统用了GUI,新版非得建立一个账户。例如随便建一个jfz,密码1,但操作时使用root(密码root)直接进行,装好后重启,以后用SSH进root。
3、配置本地hosts
输入指令:
nano /etc/hosts
将以下数据复制进入各个主机中:
192.168.1.100 Master.Hadoop
192.168.1.101 Slave1.Hadoop
192.168.1.102 Slave2.Hadoop
使用以下指令在Master主机中进行测试,可使用类似指令在Slave主机测试:
ping Master.Hadoop
ping Slave1.Hadoop
ping Slave2.Hadoop
4、关闭防火墙
三台机器均关闭防火墙。
停止firewall:
systemctl stop firewalld.service
禁止firewall开机启动:
systemctl disable firewalld.service
5、Java安装
(1)卸载自带的OpenJDK v1.7:
java -version
yum remove java-1.7.0-openjdk
重启。
(2) JDK安装:
在/usr下创建java文件夹,将jdk-7u80-linux-x64.tar.gz文件放到这个文件夹中。
使用以下指令进行解压
tar zxvf jdk-7u80-linux-x64.tar.gz
解压后可以删除掉gz文件
rm jdk-7u80-linux-x64.tar.gz
配置JDK环境变量:
nano /etc/profile
添加Java环境变量,将以下数据复制到文件底部:
export JAVA_HOME=/usr/java/jdk1.7.0_80
export JRE_HOME=/usr/java/jdk1.7.0_80/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
重载使配置生效:
source /etc/profile
验证安装成功:
java -version
如果出现对应版本信息,则配置成功:java version "1.7.0_80"
6、SSH免密码登录
因为Hadoop需要通过SSH登录到各个节点进行操作,本集群用的是root用户,每台服务器都生成公钥,再合并到authorized_keys。
(1)修改sshd_config配置
CentOS默认没有启动SSH无密登录,去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置。
nano /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
(2)生成key
输入命令:
ssh-keygen -t rsa
生成key,都不输入密码,一直回车,/root就会生成.ssh文件夹,每台服务器都要设置。
(3)合并key
合并公钥到authorized_keys文件,在Master服务器,进入/root/.ssh目录,通过SSH命令合并。
cat id_rsa.pub>> authorized_keys
ssh [email protected] cat ~/.ssh/id_rsa.pub>> authorized_keys
ssh [email protected] cat ~/.ssh/id_rsa.pub>> authorized_keys
(4)拷贝key
把Master服务器的authorized_keys、known_hosts复制到Slave服务器的/root/.ssh目录。
scp authorized_keys known_hosts [email protected]:/root/.ssh
scp authorized_keys known_hosts [email protected]:/root/.ssh
(5)检证免密登陆
ssh [email protected]
ssh [email protected]
以后就不需要输入密码了。
7、Hadoop安装流程
(1)下载hadoop安装包
将下载“hadoop-2.7.2.tar.gz”文件上传至到/home/hadoop目录下。 注意:一定要在Linux下解压,否则执行权限问题很麻烦。
(2)解压压缩包
tar -xzvf hadoop-2.7.2.tar.gz
(3)在/home/hadoop目录下创建目录
创建数据存放的文件夹,tmp、hdfs、hdfs/data、hdfs/name
mkdir -p tmp hdfs/name hdfs/data
(4)配置core-site.xml
指令:
nano /home/hadoop/hadoop-2.7.2/etc/hadoop/core-site.xml
内容:
fs.defaultFS
hdfs://192.168.1.100:9000
hadoop.tmp.dir
file:/home/hadoop/tmp
io.file.buffer.size
131702
(5)配置hdfs-site.xml
指令:
nano /home/hadoop/hadoop-2.7.2/etc/hadoop/hdfs-site.xml
内容:
dfs.namenode.name.dir
file:/home/hadoop/hdfs/name
dfs.datanode.data.dir
file:/home/hadoop/hdfs/data
dfs.replication
2
dfs.namenode.secondary.http-address
192.168.1.100:9001
dfs.webhdfs.enabled
true
(6)配置mapred-site.xml
指令:
nano /home/hadoop/hadoop-2.7.2/etc/hadoop/mapred-site.xml
内容:
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
192.168.1.100:10020
mapreduce.jobhistory.webapp.address
192.168.1.100:19888
(7)配置yarn-site.xml
指令:
nano /home/hadoop/hadoop-2.7.2/etc/hadoop/yarn-site.xml
内容:
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.auxservices.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.address
192.168.1.100:8032
yarn.resourcemanager.scheduler.address
192.168.1.100:8030
yarn.resourcemanager.resource-tracker.address
192.168.1.100:8031
yarn.resourcemanager.admin.address
192.168.1.100:8033
yarn.resourcemanager.webapp.address
192.168.1.100:8088
yarn.nodemanager.resource.memory-mb
2048
注意:yarn.nodemanager.resource.memory-mb值要大于1024,否则影响进程!
(8)配置hadoop-env.sh、yarn-env.sh的JAVA_HOME
配置/home/hadoop/hadoop-2.7.2/etc/hadoop目录下:
hadoop-env.sh、yarn-env.sh的JAVA_HOME,不设置的话,启动不了。
export JAVA_HOME=/usr/java/jdk1.7.0_80
(9)配置slaves
nano /home/hadoop/hadoop-2.7.2/etc/hadoop/slaves
删除默认的localhost,增加2个从节点:
192.168.1.101
192.168.1.102
(10)传送Hadoop至其它节点
将配置好的Hadoop复制到各个节点对应位置上,通过scp传送:
scp -r /home/hadoop 192.168.1.101:/home/
scp -r /home/hadoop 192.168.1.102:/home/
(11)启动Hadoop
在Master服务器启动hadoop,从节点会自动启动。
进入/home/hadoop/hadoop-2.7.2目录,初始化,输入命令:
bin/hdfs namenode -format
全部启动:
sbin/start-all.sh
也可以分开启动sbin/start-dfs.sh、sbin/start-yarn.sh。
Hadoop环境变量配置,需要在/etc/profile 中添加HADOOP_HOME内容,之前已经配置过,所以这一步已经节省下来,那么可重启 source /etc/profile。
(12)验证Hadoop
jps运行成功结果:
8、Hbase安装流程
(1)复制安装包至Master节点/home/hbase目录下
通过SFTP或是直接拷贝至Master节点,软件推荐在Linux下解压!
(2)解压压缩包
tar zxvf hbase-1.2.1-bin.tar.gz
(3)添加到环境变量
将hbase添加到环境变量/etc/profile中,配环境变量方便使用指令:
nano /etc/profile
内容:
export HBASE_HOME=/home/hbase/hbase-1.2.1
export PATH=$HBASE_HOME/bin:$PATH
export HBASE_MANAGES_ZK=true
export HBASE_CLASSPATH=/home/hbase/hbase-1.2.1/conf
(4)修改配置文件hbase-env.sh
nano /home/hbase/hbase-1.2.1/conf/hbase-env.sh
内容:
export JAVA_HOME=/usr/java/jdk1.7.0_80
(5)修改配置文件hbase-site.xml
hbase.rootdir
hdfs://192.168.1.100:9000/hbase
hbase.cluster.distributed
true
hbase.zookeeper.quorum
Master.Hadoop,Slave1.Hadoop,Slave2.Hadoop
hbase.temp.dir
/home/hbase/hbase-1.2.1/tmp
hbase.zookeeper.property.dataDir
/home/hbase/hbase-1.2.1/tmp/zookeeper
hbase.master.info.port
60010
(6)修改配置文件regionservers:
nano regionservers
将文件内容设置为:
Master.Hadoop
Slave1.Hadoop
Slave2.Hadoop
(7)Hbase复制到从节点
差不多要成功了,别忘了最后一步!
scp -r /home/hbase/hbase-1.2.1 [email protected]:/home/hbase/
scp -r /home/hbase/hbase-1.2.1 [email protected]:/home/hbase/
(8)验证Hbase
1、用jps命令看进程对不对。
2、测试Web访问
http://Master.Hadoop:8088/
http://Master.Hadoop:50070/
http://Master.Hadoop:60010/