hadoop+zookeeper+hbase分布式集群搭建

旧城等待, 2023-07-05 11:50 126阅读 0赞

目录

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.安装CentOS7

VMWare安装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.修改CentOS7基础配置(3台主机都配置)

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.安装JDK(3台主机都配置)

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

3.安装hadoop-2.7.5(3台主机都配置)

上传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
master



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.通过master启动hadoop

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管理界面)

5.配置ssh免登陆(3台主机都配置)

#生成ssh免登陆密钥
#进入到我的home目录
cd ~/.ssh

ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥内容追加到要免登陆的主机上的.ssh目录下的authorized_keys文件后面

6.安装zookeeper-3.4.5

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

jps可查看到
9107 QuorumPeerMain

并且在data和logs目录下有对应的数据产生

7.安装hbase-2.1.0(3台主机都配置)

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.启动hbase

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

发表评论

表情:
评论列表 (有 0 条评论,126人围观)

还没有评论,来说两句吧...

相关阅读