目录
0.安装CentOS7
1.修改CentOS7基础配置(3台主机都配置)
2.安装JDK(3台主机都配置)
3.安装hadoop-2.7.5(3台主机都配置)
4.通过master启动hadoop
5.配置ssh免登陆(3台主机都配置)
6.安装zookeeper-3.4.5
7.安装hbase-2.1.0(3台主机都配置)
8.启动hbase
0.安装CentOS7VMWare安装3台CentOS7,避免windows现有的网关冲突,设置VM网络适配器的网关、子网等
例如,网关设置为192.168.2.2,子网192.168.2.0,子网掩码255.255.255.0
主机名 IP
master 192.168.2.200
slave1 192.168.2.201
slave2 192.168.2.202
1.1修改主机名
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master ###另外两个是slave1,slave2
GATEWAY=192.168.2.2
1.2修改IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static ###
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=fdfc6d7b-e680-40a4-ba3e-60ec5b9b9fc2
DEVICE=ens33
ONBOOT=yes
#3个主机的mac地址,ip地址不同
HWADDR=00:50:56:3b:37:b4
IPADDR=192.168.2.200
NETMASK=255.255.255.0
GATEWAY=192.168.2.2
DNS1=192.168.2.2
DNS2=8.8.8.8
1.3修改主机名和IP的映射关系
vim /etc/hosts
127.0.0.1 localhost
192.168.2.200 master
192.168.2.201 slave1
192.168.2.202 slave2
1.4关闭防火墙
#查看防火墙状态
systemctl status firewalld.service
#关闭防火墙
systemctl stop firewalld.service
#查看防火墙开机启动状态
systemctl is-enabled firewalld.service
#关闭防火墙开机启动
systemctl disabled firewalld.service
1.5重启
reboot
1.6主机之间互相ping,及其与windows宿主主机互相ping是否连通
1.7使用ssh客户端连接centOs7,比如secureCrt
2.1secureCrt命令窗alt+p 通过sftp从windows上传文件到centos,put d:\xxx\jdk-linux-x64.tar.gz
2.2解压jdk
#创建文件夹(hadoop为新建用户)
mkdir /home/hadoop/app
#解压
tar -zxvf jdk-linux-x64.tar.gz -C /home/hadoop/app
2.3将java添加到环境变量中
vim ~/.bashrc
#在文件最后添加
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_131
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#刷新配置
source ~/.bashrc
上传hadoop-2.7.5.tar.gz到centos
注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop
需要修改5个配置文件
3.1配置hadoop依赖的jdk目录
第一个:hadoop-env.sh
vim hadoop-env.sh
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_131
第二个:core-site.xml
fs.defaultFS
hdfs://master:9000
hadoop.tmp.dir
/home/hadoop/app/hadoop-2.7.5/data
io.file.buffer.size
4096
第三个:hdfs-site.xml hdfs-default.xml (3)
dfs.replication
3
dfs.http.address
master:50070
dfs.secondary.http.address
master:50090
dfs.webhdfs.enabled
true
dfs.permissions
false
第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
mapreduce.framework.name
yarn
第五个:yarn-site.xml
yarn.resourcemanager.hostname
weekend-1206-01
yarn.nodemanager.aux-services
mapreduce_shuffle
3.2将hadoop添加到环境变量
vim ~/.bashrc
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_131
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/home/hadoop/app/hadoop-2.7.5
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_PREFIX
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_PREFIX/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
export HADOOP_HDFS_HOME=$HADOOP_PREFIX
export HADOOP_MAPRED_HOME=$HADOOP_PREFIX
export HADOOP_YARN_HOME=$HADOOP_HOME
#export HADOOP_ROOT_LOGGER=DEBUG,console
export LD_LIBRARY_PATH=$HADOOP_PREFIX/lib/native
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bashrc
4.1格式化namenode(是对namenode进行初始化)
hadoop namenode -format
然后可查看到hadoop.tmp.dir配置值目录下产生初始化存储目录
4.2启动hadoop
4.2.1先启动HDFS
sbin/start-dfs.sh
在master jps查看到
3715 NameNode
3912 SecondaryNameNode
在slave1 jps可查看到
2623 DataNode
在slave2 jps可查看到
2577 DataNode
4.2.2再启动YARN
sbin/start-yarn.sh
在master jps查看到
4140 ResourceManager
在slave1 jps可查看到
2795 NodeManager
在slave2 jps可查看到
2762 NodeManager
4.3浏览器查看hadoop管理页面
http://192.168.2.200:50070 (HDFS管理界面)
http://192.168.2.200:8088 (MR管理界面)
#生成ssh免登陆密钥
#进入到我的home目录
cd ~/.ssh
ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥内容追加到要免登陆的主机上的.ssh目录下的authorized_keys文件后面
6.1解压zookeeper-3.4.5.tar.gz
6.2添加zookeeper环境变量并刷新配置
export ZOOKEEPER_HOME=/home/hadoop/app/zookeeper-3.4.5
export ZOO_LOG_DIR=$ZOOKEEPER_HOME/logs
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin
6.3在zookeeper根目录创建data和logs文件夹分别存放zookeeper产生数据和运行日志
6.4更改名称 $ZOOKEEPER_HOME/conf/zoo_sample.cfg 为zoo.cfg
6.5更爱内容zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/hadoop/app/zookeeper-3.4.5/data
#dataLogDir=/home/hadoop/app/zookeeper-3.4.5/logs
# the port at which the clients will connect
clientPort=2181
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.0=192.168.2.200:2888:3888
server.1=192.168.2.201:2888:3888
server.2=192.168.2.202:2888:3888
6.6在创建的data目录下创建全名的myid 的文件
各个主机对应的内容是不同的,master的内容是0,slave1的内容是1,slave2的内容是2,分别对应server.x中的x。
server.A=B:C:D,其中A是一个数字,表示这是第几号server。B是该server所在的IP地址。
C配置该server和集群中的leader交换消息所使用的端口。D配置选举leader时所使用的端口。
6.7启动zookeeper
zkServer.sh start-dfs
jps可查看到
9107 QuorumPeerMain
并且在data和logs目录下有对应的数据产生
7.1添加环境变量
export HBASE_HOME=/home/hadoop/app/hbase-2.1.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin
7.2更改hbase-env.sh
export JAVA_HOME=$JAVA_HOME
export HBASE_CLASSPATH=$HBASE_HOME/lib
export HBASE_PID_DIR=$HBASE_HOME/data
export HBASE_LOG_DIR=$HBASE_HOME/logs
export HBASE_MANAGES_ZK=false
7.3在hbase根目录下创建两个文件夹 data 和 logs
7.4更改hbase-site.xml
hbase.tmp.dir
/home/hadoop/app/hbase-2.1.0/data
hbase.rootdir
hdfs://master:9000/hbase
hbase.cluster.distributed
true
hbase.zookeeper.quorum
master,slave1,slave2
hbase.zookeeper.property.clientPort
2181
hbase.zookeeper.property.dataDir
/home/hadoop/app/zookeeper-3.4.5/data
property from zoo.cfg,the directory where the snapshot is stored
7.5regionservers
master
slave1
slave2
7.6.backup-masters(可选)
在hbase的conf目录下可能不存在这个文件,那么需要手动创建一个,且需要搭建hive,
内容写上作为备份节点的主机名,master节点一旦挂了,这个备份节点将成为新的master节点
7.7拷贝hdfs-site.xml
将该主机已经搭建好的hadoop的配置文件hdfs-site.xml拷贝到hbase的conf目录下
8.1master启动hbase
start-hbase.sh
8.2jps可查看到
12645 HMaster
12773 HRegionServer
8.3slave1 jps可查看到
3549 HRegionServer
8.4slave2 jps可查看到
4018 HRegionServer
8.5浏览器查看hbase管理页面
http://192.168.2.200:16010/master-status