第1章 hadoop集群部署
第1章 hadoop集群搭建
第1章 hadoop集群搭建
1.1 环境准备
1.1.1 准备软件包
#下载链接:http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz
[[email protected] ~]# hadoop-2.6.5.tar.gz
#下载链接:http://archive.apache.org/dist/hbase/1.2.6/hbase-1.2.6-bin.tar.gz
[[email protected] ~]# hbase-1.2.6-bin.tar.gz
#下载链接:http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz
[[email protected] ~]# jdk-8u171-linux-x64.tar.gz
1.1.2 准备三台centos7系统
ip分别为
10.0.0.80
10.0.0.81
10.0.0.82
1.2 修改hosts文件
[[email protected] ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.80 master
10.0.0.81 slave1
10.0.0.82 slave2
1.3 安装jdk
[[email protected] ~]# mkdir /usr/java
[[email protected] ~]# tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/java
1.3.1 设置jdk环境变量
[[email protected] ~]# cat /etc/environment
VA_HOME=/usr/java/jdk1.8.0_171
JRE_HOME=/usr/java/jdk1.8.0_171/jre
1.3.2 设置全局变量
[[email protected] ~]# tail /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_171
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile # 使改动生效
1.4 设置集群间无密码访问
1.4.1 slave1服务器配置
1.4.1.1 创建rsa**
[[email protected] ~]# ssh-****** -t rsa
1.4.1.2 拷贝公钥
[[email protected] ~]# cp ~/.ssh/id_rsa.pub ~/.ssh/slave1_id_rsa.pub
1.4.1.3 传送到master
[[email protected] ~]# scp ~/.ssh/slave1_id_rsa.pub master:~/.ssh/
说明:slave2上进行同样的操作
1.4.2 master服务器配置
1.4.2.1 使用rsa加密
[[email protected] ~]# ssh-****** -t rsa
1.4.2.2 拷贝master公钥到authorized_keys
[[email protected] ~]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
1.4.2.3 拷贝master公钥到authorized_keys
1.4.2.4 拷贝slave1公钥到authorized_keys
[[email protected] ~]# cat ~/.ssh/slave1_id_rsa.pub >> ~/.ssh/authorized_keys
1.4.2.5 拷贝slave2公钥到authorized_keys
[[email protected] ~]# cat ~/.ssh/slave2_id_rsa.pub >> ~/.ssh/authorized_keys
此时master的authorized_kyes里面有三台机器的公钥
1.4.2.6 传送authorized_kyes到slave1和slave2
[[email protected] ~]# scp ~/.ssh/authorized_keys slave1:~/.ssh
[[email protected] ~]# scp ~/.ssh/authorized_keys slave2:~/.ssh
1.5 关闭防火墙及SELINUX
1.5.1 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
1.5.2 关闭SELINUX
vim /etc/selinux/config
SELINUX=disable
1.6 Hadoop安装及配置
1.6.1 解压缩安装包及创建基本目录
tar -zxvf hadoop-2.6.5.tar.gz -C /usr
cd /usr/hadoop-2.6.5
mkdir tmp logs hdf hdf/data hdf/name
1.6.2 修改/usr/hadoop-2.6.5/etc/hadoop/hadoop-env.sh中JAVA_HOME
应当使用绝对路径
export JAVA_HOME=${JAVA_HOME} //文档原来的(错误)
export JAVA_HOME=/usr/java/jdk1.8.0_171 //正确,应该这么改
1.6.3 修改slaves文件
vim /usr/hadoop-2.6.5/etc/hadoop/slaves
删除localhost
加入
slave1
slave2
1.6.4 修改 /app/hadoop-2.5.2/etc/hadoop/core-site.xml 文件
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/hadoop-2.6.5/tmp</value>
</property>
</configuration>
1.6.5 修改hdfs-site.xml 文件
vim /usr/hadoop-2.6.5/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/hadoop-2.6.5/hdf/data</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/hadoop-2.6.5/hdf/name</value>
<final>true</final>
</property>
1.6.6 修改mapred-site.xml文件
cp /usr/hadoop-2.6.5/etc/hadoop/mapred-site.xml.template /usr/hadoop-2.6.5/etc/hadoop/mapred-site.xml
vim /usr/hadoop-2.6.5/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
1.6.7 修改 yarn-site.xml 文件
<configuration>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
1.6.8 复制hadoop到slave1和slave2节点
scp -r /usr/hadoop-2.6.5 slave1:/usr
scp -r /usr/hadoop-2.6.5 slave2:/usr
1.7 配置hadoop环境变量
[[email protected] ~]# vim /etc/profile
export HADOOP_HOME=/usr/hadoop-2.6.5
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_LOG_DIR=/usr/hadoop-2.6.5/logs
export YARN_LOG_DIR=$HADOOP_LOG_DIR
source /etc/profile
1.8 添加局部变量
vim ~/.bashrc
export HADOOP_PREFIX=/usr/hadoop-2.6.5/
# 每个节点都要修改
1.9 格式化namenode
/usr/hadoop-2.6.5/bin/hdfs namenode -format
1.10 启动hadoop进程,首先执行start-dfs.sh(注意中间没有空格);没有配置ssh免密登录之前,会不停的需要输入yes和密码,最后界面如图:
1.11 地址栏输入http://10.0.0.80:50070/就可以进入如下界面:
1.12 启动yarn,执行start-yarn.sh启动yarn计算进程
1.12.1 地址栏输入http://10.0.0.80:8088/就可以进入如下界面
至此hadoop环境搭建成功
第2章 Zookeeper 环境搭建
2.1 解压缩 zookeeper安装包,并建立基本目录
tar -zxvf zookeeper-3.4.10.tar.gz -C /usr
mkdir /usr/zookeeper-3.4.10/data
2.2 修改配置文件
2.2.1 复制配置文件模版
cp /usr/zookeeper-3.4.10/conf/zoo-sample.cfg /usr/zookeeper-3.4.10/conf/zoo.cfg
vim /usr/zookeeper-3.4.10/conf/zoo.cfg
2.2.1.1 添加如下内容
dataDir=/usr/zookeeper-3.4.10/data
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
2.3 创建myid文件(每个节点都需创建)
touch /usr/zookeeper-3.4.10/data/myid
vim /usr/zookeeper-3.4.10/data/myid
2.3.1 分别添加如下内容
1(master节点添加)
2(slave2节点添加)
3(slave3节点添加)
2.4 Zookeeper搭建成功
2.4.1 启动zookeeper查看是否成功,每个节点都需分别启动
cd /usr/zookeeper-3.4.10/bin
./zkServer.sh start
第3章 hbase环境搭建
3.1 解压缩hbase安装包
tar -zxvf hadoop-2.6.5.tar.gz -C /usr
mkdir /usr/hbase-1.2.6/logs
3.2 修改配置文件
3.2.1 添加如下内容
vim /usr/hbase-1.2.6/conf/hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_171
export HBASE_LOG_DIR=${HBASE_HOME}/logs
export HBASE_MANAGES_ZK=false
3.3 修改regionservers
vim /usr/hbase-1.2.6/conf/regionservers
删除localhost,新增如下内容
master
slave1
slave2
3.4 修改配置文件
vim /usr/hbase-1.2.6/conf/hbase-site.xml
在configuration标签中添加如下内容
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/zookeeper-3.4.10/data</value>
</property>
<property>
<name>hbase.master</name>
<value>hdfs://master:60000</value>
</property>
3.5 传送hbase到slave1和slave2中
scp -r /usr/hbase-1.2.4 slave1:/usr
scp -r /usr/hbase-1.2.4 slave2:/usr
3.6 启动hbase
/usr/hbase-1.2.4/bin/start-hbase.sh 启动hbase查看是否安装成功