hadoop、zookeeper、hbase集群安装
本文为自己总结的hadoop-cdh5集群安装(简易版),适合新手首次玩集群使用。本文附带安装包、配置文件等都跟文中配置相同,如有需要请自行修改。本文中介绍的集群均配置在虚拟机中,Linux版本为:CentOS7本文hadoop配置集群为4台:192.168.5.128 hadoop0 主192.168.5.129 hadoo
本文为自己总结的hadoop-cdh5集群安装(简易版),适合新手首次玩集群使用。
本文附带安装包、配置文件等都跟文中配置相同,如有需要请自行修改。
本文中介绍的集群均配置在虚拟机中,Linux版本为:CentOS7
本文hadoop配置集群为4台:
192.168.5.128 hadoop0 主
192.168.5.129 hadoop1
192.168.5.130 hadoop2
192.168.5.131 hadoop3
本文zookeeper配置端口为:42182
本文hadoop集群均配置在root用户下。
1环境准备
1.1安装包
hbase-1.0.0-cdh5.4.8.tar.gz
zookeeper-3.4.5-cdh5.4.8.tar.gz
hadoop-2.3.0-cdh5.1.0.zip
jdk-7u80-linux-x64.gz
1.2卸载自带jdk
查看系统自带的已经安装的java
#rpm -qa | grep java
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
卸载自带java
#rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
#rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
1.3安装jdk
进入/usr目录
解压jdk
#vim /etc/profile
export JAVA_HOME=/usr/jdk1.7.0_80
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
Export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
#source /etc/profile
1.4编辑hosts文件
#vi /etc/hosts
192.168.5.128 hadoop0
192.168.5.129 hadoop1
192.168.5.130 hadoop2
192.168.5.131 hadoop3
1.5关闭selinux安全验证和iptables
centOS7 关闭防火墙: systemctl stop firewalld.service
关闭开机启动:systemctl disable firewalld.service
1.6集群间设置ssh无密码访问
在所有节点生成秘钥:
# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
# chmod 700 ~/.ssh/
# chmod 600 ~/.ssh/authorized_keys
合并所有的authorized_keys文件,并同步到所有服务器节点上。
2安装Zookeeper
本文zookeeper安装路径:/app/data/zookeeper
2.1 解压Zookeeper tar包
#tar -xzf zookeeper-3.4.5-cdh5.4.8.tar.gz
2.2 设置Zookeeper环境变量
root用户:$vi /etc/profile 或
cdh5用户:$vi ~/.bashrc
以上两个任选一种,增加以下环境变量:
export ZOOKEEPER_HOME=/app/data/zookeeper/zookeeper-3.4.5-cdh5.4.8
export PATH=$PATH:$ZOOKEEPER_HOME/bin
生效修改:$source /etc/profile 或 $source ~/.bashrc
本文配置root用户
2.3 修改Zookeeper的配置文件
2.3.1 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=/app/data/zookeeper
# the port at which the clients will connect
clientPort=42182
server.0=hadoop0:42888:43888
server.1=hadoop1:42888:43888
server.2=hadoop2:42888:43888
server.3=hadoop3:42888:43888
【注:】 上面配置中,server.X 为所有Zookeeper 节点列表。当服务器启动时,服务器会在数据目录dataDir 中寻找文件 myid ,所以要在每台服务器节点预先创建数据目录,并且在数据目录下创建myid文件,并将X值写入到文件中。本文dataDir 路径为:/app/data/zookeeper
2.4 启动zookeeper
2.4.1启动
zkServer.sh start 在所有机器启动
2.4.2停止
zkServer.sh stop 在所有机器停止
3安装hadoop
本文hadoop安装路径:/app/data/hadoop
3.1解压压缩包
unzip hadoop-2.3.0-cdh5.1.0.zip
3.2设置hadoop环境变量
root用户:$vi /etc/profile 或
cdh5用户:$vi ~/.bashrc
以上两个任选一种,增加以下环境变量:
export HADOOP_DEV_HOME=/app/data/hadoop/hadoop-2.3.0-cdh5.1.0
export PATH=$PATH:$HADOOP_DEV_HOME/bin
export PATH=$PATH:$HADOOP_DEV_HOME/sbin
export HADOOP_MAPRED_HOME=${HADOOP_DEV_HOME}
export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
export YARN_HOME=${HADOOP_DEV_HOME}
export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export HDFS_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
生效修改:$source /etc/profile 或 $source ~/.bashrc
3.3修改hadoop配置文件
3.3.1 hadoop-env.sh
找到如下配置修改:
export JAVA_HOME=/usr/jdk1.7.0_80
3.3.2 core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop0:9000</value>
</property>
<property>
<name>hadoop.native.lib</name>
<value>true</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/app/data/hadoop/hadoop-2.3.0-cdh5.1.0/worktmp</value>
</property>
3.3.3 hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
3.3.4 mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3.3.5 yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop0</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
3.3.6 slaves
hadoop1
hadoop2
hadoop3
3.4 启动hadoop
首次启动需要先格式化(在namenode上执行)
hdfs namenode -format
启动hadoop有两种方式:
l 手动一台一台地启动(单台启动,运维常用)
在相应服务器上启动 hdfs 的相关进程 :
启动 namenode 进程—— hadoop-daemon.sh start namenode
启动 datanode 进程 —— hadoop-daemon.sh start datanode
然后,验证 hdfs 的服务是否能正常提供:
bin/hdfs dfsadmin -report 查看 hdfs 集群的统计信息
停止
关闭 namenode 进程—— hadoop-daemon.sh stop namenode
关闭 datanode 进程 —— hadoop-daemon.sh stop datanode
l Shell 脚本批量启动方式:
在任意一台服务器上执行命令:
启动 hdfs 服务:start-dfs.sh
启动 yarn 服务:start-yarn.sh
或者:直接启动 hdfs+yarn 服务:start-all.sh
停止
stop-dfs.sh
stop-yarn.sh
或
Stop-all.sh
4 安装HBase
4.1解压HBase tar包
tar -xzf hbase-1.0.0-cdh5.4.8.tar.gz
4.2 设置HBase环境变量
root用户:$vi /etc/profile 或
cdh5用户:$vi ~/.bashrc
以上两个任选一种,增加以下环境变量:
export HBASE_HOME=/app/data/hbase/hbase-1.0.0-cdh5.4.8
export PATH=$PATH:$HBASE_HOME/bin
生效修改:$source /etc/profile 或 $source ~/.bashrc
4.3 修改HBase的配置文件
4.3.1 hbase-env.sh
export JAVA_HOME=/usr/jdk1.7.0_80
export HBASE_HEAPSIZE=2000
export HBASE_MANAGES_ZK=true
4.3.2 hbase-site.xml
<property>
<name>hbase.rootdir</name>
<!-- <value>hdfs://ecmserver:49000/hbase</value> -->
<value>hdfs://hadoop0:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop0,hadoop1,hadoop2,hadoop3</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>42182</value>
</property>
4.3.3 regionservers
regionServer 相当于 Hadoop 中的 Slave 机器。
conf下如果没有则创建regionservers文件
Hadoop1
Hadoop2
Hadoop3
4.4 启动HBase
start-hbase.sh
stop-hbase.sh
说明:hbase一样可以单台启动,这里不做详细介绍。参考hadoop启动。
---
更多文章关注公众号
更多推荐
所有评论(0)