jdk-7u80-linux-x64.tar.gzjava
hadoop-2.7.2.tar.gznode
hbase-1.2.1-bin.tar.gzlinux
用户设置:系统用了GUI,新版非得创建一个帐户。例如随便建一个jfz,密码1,但操做时使用root(密码root)直接进行,装好后重启,之后用SSH进root。
web
输入指令:
apache
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
三台机器均关闭防火墙。服务器
中止firewall:app
systemctl stop firewalld.service禁止firewall开机启动:
systemctl disable firewalld.service
java -version yum remove java-1.7.0-openjdk重启。
在/usr下建立java文件夹,将jdk-7u80-linux-x64.tar.gz文件放到这个文件夹中。ssh
使用如下指令进行解压webapp
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"oop
由于Hadoop须要经过SSH登陆到各个节点进行操做,本集群用的是root用户,每台服务器都生成公钥,再合并到authorized_keys。
CentOS默认没有启动SSH无密登陆,去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置。
nano /etc/ssh/sshd_config RSAAuthentication yes PubkeyAuthentication yes
输入命令:
ssh-keygen -t rsa生成key,都不输入密码,一直回车,/root就会生成.ssh文件夹,每台服务器都要设置。
合并公钥到authorized_keys文件,在Master服务器,进入/root/.ssh目录,经过SSH命令合并。
cat id_rsa.pub>> authorized_keys ssh root@192.168.1.101 cat ~/.ssh/id_rsa.pub>> authorized_keys ssh root@192.168.1.102 cat ~/.ssh/id_rsa.pub>> authorized_keys
把Master服务器的authorized_keys、known_hosts复制到Slave服务器的/root/.ssh目录。
scp authorized_keys known_hosts root@192.168.1.101:/root/.ssh scp authorized_keys known_hosts root@192.168.1.102:/root/.ssh
ssh root@192.168.1.101 ssh root@192.168.1.102
之后就不须要输入密码了。
注意:必定要在Linux下解压,不然执行权限问题很麻烦。
tar -xzvf hadoop-2.7.2.tar.gz
建立数据存放的文件夹,tmp、hdfs、hdfs/data、hdfs/name
mkdir -p tmp hdfs/name hdfs/data
指令:
nano /home/hadoop/hadoop-2.7.2/etc/hadoop/core-site.xml内容:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.1.100:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoop/tmp</value> </property> <property> <name>io.file.buffer.size</name> <value>131702</value> </property> </configuration>
指令:
nano /home/hadoop/hadoop-2.7.2/etc/hadoop/hdfs-site.xml内容:
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/hadoop/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/hdfs/data</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>192.168.1.100:9001</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration>
指令:
nano /home/hadoop/hadoop-2.7.2/etc/hadoop/mapred-site.xml内容:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>192.168.1.100:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>192.168.1.100:19888</value> </property> </configuration>
指令:
nano /home/hadoop/hadoop-2.7.2/etc/hadoop/yarn-site.xml内容:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>192.168.1.100:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>192.168.1.100:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>192.168.1.100:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>192.168.1.100:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>192.168.1.100:8088</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>2048</value> </property> </configuration>注意:yarn.nodemanager.resource.memory-mb值要大于1024,不然影响进程!
配置/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
nano /home/hadoop/hadoop-2.7.2/etc/hadoop/slaves删除默认的localhost,增长2个从节点:
192.168.1.101 192.168.1.102
将配置好的Hadoop复制到各个节点对应位置上,经过scp传送:
scp -r /home/hadoop 192.168.1.101:/home/ scp -r /home/hadoop 192.168.1.102:/home/
在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。
jps运行成功结果:
经过SFTP或是直接拷贝至Master节点,软件推荐在Linux下解压!
tar zxvf hbase-1.2.1-bin.tar.gz
将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
nano /home/hbase/hbase-1.2.1/conf/hbase-env.sh内容:
export JAVA_HOME=/usr/java/jdk1.7.0_80
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://192.168.1.100:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>Master.Hadoop,Slave1.Hadoop,Slave2.Hadoop</value> </property> <property> <name>hbase.temp.dir</name> <value>/home/hbase/hbase-1.2.1/tmp</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hbase/hbase-1.2.1/tmp/zookeeper</value> </property> <property> <name>hbase.master.info.port</name> <value>60010</value> </property> </configuration>
nano regionservers将文件内容设置为:
Master.Hadoop Slave1.Hadoop Slave2.Hadoop
差很少要成功了,别忘了最后一步!
scp -r /home/hbase/hbase-1.2.1 root@192.168.1.101:/home/hbase/ scp -r /home/hbase/hbase-1.2.1 root@192.168.1.102:/home/hbase/
一、用jps命令看进程对不对。
http://Master.Hadoop:8088/
http://Master.Hadoop:50070/
http://Master.Hadoop:60010/