Linux下部署Zookeeper+Hadoop+Hbase集群
Posted 独立行走的小黄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下部署Zookeeper+Hadoop+Hbase集群相关的知识,希望对你有一定的参考价值。
1.准备好三台服务器10.230.10.204,10.230.10.203,10.230.10.202
2.在主节点服务器上配置另外两台服务器的免密登入,我是用204作为主节点使用,所以配置另外两台服务器的免密
ssh-keygen -P ''
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.230.10.203
输入密码
测试 ssh 10.230.10.203
exit
ssh-keygen -P ''
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.230.10.202
输入密码
测试 ssh 10.230.10.202
exit
3.修改/etc/hosts文件,添加IP别名,三台都需要添加,还需要修改hostname为本机别名
10.230.10.204 x204
10.230.10.203 x203
10.230.10.202 x202
4.安装Zookeeper
tar -xzvf apache-zookeeper-3.5.8-bin.tar.gz
修改配置文件,一般来说是没有zoo.cfg的,自己创建一个,三台服务器都相同配置
vi conf/zoo.cfg
tickTime=2000
dataDir=/hadoop/apache-zookeeper-3.5.8-bin/data
clientPort=12181
initLimit=5
syncLimit=2
server.1=x204:12888:13888
server.2=x203:12888:13888
server.3=x202:12888:13888
设置myid,没有data文件夹就创建一个,三台服务器配置不同的数字
vi data/myid 写入一个数字
打开防火墙,防火墙关闭了这一步可以省略
firewall-cmd --zone=public --add-port=12181/tcp --permanent
firewall-cmd --zone=public --add-port=13888/tcp --permanent
firewall-cmd --zone=public --add-port=12888/tcp --permanent
systemctl restart firewalld.service
启动Zookeeper,在三台服务器查看状态出现两个follower,一个leader那集群就成功了
使用bin/zkServer sh start 启动zk
使用bin/zkServer sh status 查看zk状态
使用bin/zkServer sh stop 停止zk
5.安装Hadoop
tar -xzvf hadoop-3.2.1.tar.gz
配置环境变量,三台服务器都相同配置
vi /etc/profile
shift+g 添加到最下面
export HADOOP_HOME=/hadoop/hadoop-3.2.1
export HBASE_LIBRARY_PATH=/hadoop/hadoop-3.2.1/lib/Linux-amd64-64
修改配置文件,三台服务器都相同配置
vi core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://x204:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/hadoop-3.2.1/tmp</value>
</property>
</configuration>
vi hadoop-env.sh
export HADOOP_PID_DIR=/hadoop/hadoop-3.2.1/tmp
JAVA_HOME=/usr/local/jdk/jdk1.8
vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
vi yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>x204</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>$yarn.resourcemanager.hostname:18088</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.application.classpath</name>
<value>/hadoop/hadoop-3.2.1/etc/hadoop:/hadoop/hadoop-3.2.1/share/hadoop/common/lib/*:/hadoop/hadoop-3.2.1/share/hadoop/common/*:/hadoop/hadoop-3.2.1/share/hadoop/hdfs:/hadoop/hadoop-3.2.1/share/hadoop/hdfs/lib/*:/hadoop/hadoop-3.2.1/share/hadoop/hdfs/*:/hadoop/hadoop-3.2.1/share/hadoop/mapreduce/lib/*:/hadoop/hadoop-3.2.1/share/hadoop/mapreduce/*:/hadoop/hadoop-3.2.1/share/hadoop/yarn:/hadoop/hadoop-3.2.1/share/hadoop/yarn/lib/*:/hadoop/hadoop-3.2.1/share/hadoop/yarn/*</value>
</property>
</configuration>
vi workers
x203
x202
vi sbin/start-dfs.sh & sbin/stop-dfs.sh
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
vi sbin/start-yarn.sh & sbin/stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
创建pid目录,和Hadoop同级目录,三台服务器都相同配置
mkdir /hadoop/pids
启动Hadoop,只需要启动主节点就可以,会带动子节点启动
防火墙开放端口,防火墙关闭了可以忽略
firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --zone=public --add-port=9870/tcp --permanent
firewall-cmd --zone=public --add-port=18088/tcp --permanent
systemctl restart firewalld.service
访问9870端口,子节点看到了就是成功了
先格式化
bin/hdfs namenode -format
启动
sbin/start-dfs.sh
sbin/start-yarn.sh
6.安装HBase
tar -xzvf hbase-2.3.3-bin.tar.gz
修改hbase-env.sh配置,三台服务器都相同配置
export JAVA_HOME=/usr/local/jdk/jdk1.8
export HBASE_PID_DIR=/hadoop/pids
export HBASE_MANAGES_ZK=false
修改hbase-site.xml配置,三台服务器都相同配置
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://x204:9000/hbase</value>
</property>
<property>
<name>hbase.master</name>
<value>hdfs://x204:60000</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>12181</value>
</property>
<property>
<name>hbase.zookeeper.peerport</name>
<value>12888</value>
</property>
<property>
<name>hbase.zookeeper.leaderport</name>
<value>13888</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>x204,x203,x202</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>./tmp</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>
修改regionservers,三台服务器都相同配置
x204
x203
x202
防火墙开放端口,防火墙关闭了可以忽略
firewall-cmd --zone=public --add-port=12888/tcp --permanent
firewall-cmd --zone=public --add-port=12181/tcp --permanent
firewall-cmd --zone=public --add-port=16010/tcp --permanent
firewall-cmd --zone=public --add-port=16020/tcp --permanent
firewall-cmd --zone=public --add-port=16030/tcp --permanent
firewall-cmd --zone=public --add-port=16000/tcp --permanent
firewall-cmd --zone=public --add-port=8030/tcp --permanent
firewall-cmd --zone=public --add-port=8031/tcp --permanent
firewall-cmd --zone=public --add-port=8032/tcp --permanent
systemctl restart firewalld.service
启动/关闭,启动主节点会带动子节点启动
bin/start-hbase.sh
bin/stop-hbase.sh
最后需要注意服务器时间是否同步,hostname是否成功修改。启动遇到问题是正常的,注意排除配置文件。祝君配置成功!!
开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系以上是关于Linux下部署Zookeeper+Hadoop+Hbase集群的主要内容,如果未能解决你的问题,请参考以下文章
Zookeeper集群安装部署(超详细操作演示)—— Linux
Hadoop基础(三十三):Zookeeper 分布式安装部署
Hadoop 分布式部署 九:分布式协作框架Zookeeper架构 分布式安装部署