Hadoop生态圈技术文档
(一)Hadoop安装搭建前基础配置
1.静态网络配置
编辑网卡 设置IP地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
1修改BOOTPROTO=static
2修改ONBOOT=yes
3.添加IPADDR=192.168.10.111【网段】
NETMASK=255.255.255.0【子网掩码】
GATEWAY=192.168.10.254【网关】
DNS1=114.114.114.114【DNS服务器】DNS2=221.5.88.88【DNS服务器】
IPADDR=192.168.10.111
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
DNS1=114.114.114.114
DNS2=221.5.88.88
systemctl restart network #重启网卡
service network restart #重启网卡
systemctl restart network
service network restart
2.关闭selinux
vi /etc/selinux/config
将selinux的赋值修改为disabled
3.关闭防火墙
systemctl stop firewalld
暂停防火墙
systemctl disable firewalld
关闭防火墙
systemctl start firewalld #启动防火墙
systemctl enable firewalld #打开防火墙
systemctl status firewalld #查看防火墙状态
4.创建新用户
创建用户及密码
useradd hadoop
创建hadoop用户
passwd hadoop
设置hadoop用户密码
设置用户权限
sudo vi /etc/sudoers
在root ALL=(ALL) ALL下面添加:
hadoop ALL=(ALL) ALL
5.修改主机名
hostnamectl set-hostname master
6.配置host文件
vi /etc/hosts
192.168.10.111 master
192.168.10.112 slave1
192.168.10.113 slave2
【master】ip master [主机名]
【slave1】ip slave1 [主机名]
【slave2】ip slave2 [主机名]
7.安装java
YUM安装上传文件lrzsz插件
yum install lrzsz -y
上传文件
cd /opt/
rz
将java 的安装包解压到usr目录
tar -zxvf /opt/jdk-8.tar.gz -C /usr/
重命名java路径
mkdir /usr/app/
mv /usr/jdk1.8.0_201/ /usr/app/java
配置java环境变量
vim /etc/profile
#JAVA_Env
export JAVA_HOME=/usr/app/java
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
source /etc/profile
使配置文件生效
8.重启 and 关机
reboot
9.克隆虚拟机
①关闭master虚拟机
②完整克隆slave1、slave2
③更改slave1、slave2的ip和主机名 192.168.10.112/113 slave1/slave2
10.SSH免密配置及验证
①.查看ssh是否安装
rpm -qa |grep openssh
②.安装ssh #无安装执行此操作
yum install openssh* -y
③.切换Hadoop用户
su hadoop
④.生成密钥
一直Enter就好了
ssh-keygen -t rsa
⑤.依次发给各个节点
【输入Hadoop密码】
ssh-copy-id -i master
ssh-copy-id -i slave1
ssh-copy-id -i slave2
⑥.依次验证是否成功
验证完exit退出ssh远程连接
ssh master
exit
ssh slave1
exit
ssh slave2
exit
(二)Hadoop安装搭建
1.在master安装hadoop(Master节点执行)
Master节点执行
2.配置文件(Master节点执行)
Master节点执行
解压安装包
sudo tar -zxvf /opt/hadoop-3.1.2.tar.gz -C /usr/
重命名安装路径
sudo mv /usr/hadoop-3.1.2/ /usr/app/hadoop
修改配置文件
sudo vi /etc/profile
#Hadoop_Env
export HADOOP_HOME=/usr/app/hadoop
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
使配置文件生效
source /etc/profile
3.配置workers文件(Master节点执行)
Master节点执行
添加数据节点的主机名
配置hadoop-env.sh文件
sudo vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
添加JAVA变量
JAVA_HOME=/usr/app/java
配置core-site.xml文件
在配置文件添加—>hdfs的数据访问地址和设置临时数据存放目录
sudo vi $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoopData/tmp</value>
</property>
</configuration>
配置hdfs-site.xml配置文件
在配置文件添加—>文件副本数量、hdfs的namenode数据存储目录、hdfs的datanode数据存储目录、hdfs的web访问地址
sudo vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoopData/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoopData/dfs/data</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>0.0.0.0:50070</value>
</property>
</configuration>
配置yarn-site.xml文件
sudo vi $HADOOP_HOME/etc/hadoop/yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
配置mapred.site.xml文件
sudo vi $HADOOP_HOME/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.frameword.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>
配置workers文件
添加数据节点的主机名
sudo vi $HADOOP_HOME/etc/hadoop/workers
#localhost
#master
slave1
slave2
4.同步节点(Master节点执行)
Master节点执行
master节点上的安装文件同步到slave1、slave2节点
sudo scp -r /usr/app/hadoop/ slave1:/usr/app/
sudo scp -r /usr/app/hadoop/ slave2:/usr/app/
5.新建数据文件目录(全部节点都要执行此命令)
全部节点都要执行此命令
sudo mkdir -p /home/hadoopData/tmp
sudo mkdir -p /home/hadoopData/dfs/name
sudo mkdir -p /home/hadoopData/dfs/data
6.修改hadoop的文件属主权限(全部节点都要执行此命令)
全部节点都要执行此命令
sudo chown -R hadoop:hadoop /usr/app/hadoop
sudo chown -R hadoop:hadoop /home/hadoopData
7.格式化namenode(Master节点执行)
Master节点执行
hdfs namenode -format
8.启动hadoop(Master节点执行)
Master节点执行
start-all.sh
9.查看进程
jps
10.验证测试
①在浏览器中打开http://192.168.10.111:50070,查看NameNode 节点的状态
②浏览DataNode 数据节点
③在浏览器打开http://192.168.10.111:8088,查看所有的应用
④浏览Nodes
http://192.168.10.111:50070
http://192.168.10.111:8088
(三)Zookeeper安装搭建
1.解压安装包(master节点)
master节点
sudo tar -zxvf /opt/zookeeper-3.4.13.tar.gz -C /usr
2.重命名安装路径(master节点)
master节点
sudo mv /usr/zookeeper-3.4.13/ /usr/app/zookeeper
3.添加环境变量(全部节点都要执行此命令)
全部节点都要执行此命令
sudo vim /etc/profile
#ZooKeeper_Env
export ZOOKEEPER_HOME=/usr/app/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
使配置文件生效
source /etc/profile
4.修改zoo.cfg 配置文件(master节点)
重命名模板文件
sudo cp $ZOOKEEPER_HOME/conf/zoo_sample.cfg $ZOOKEEPER_HOME/conf/zoo.cfg
sudo vim $ZOOKEEPER_HOME/conf/zoo.cfg
修改配置文件信息:
dataDir=/home/hadoopData/zk/data
dataLogDir=/home/hadoopData/zk/log
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
5.同步节点
master节点上的安装文件同步到slave1、slave2节点
sudo scp -r /usr/app/zookeeper/ slave1:/usr/app/
sudo scp -r /usr/app/zookeeper/ slave2:/usr/app/
6.创建dataDir 和 dataLogDir 文件夹(全部节点都要执行此命令)
sudo mkdir -p /home/hadoopData/zk/data
sudo mkdir -p /home/hadoopData/zk/log
7.创建myid文件(全部节点都要执行此命令)
master
sudo vim /home/hadoopData/zk/data/myid
添加1
slave01
sudo vim /home/hadoopData/zk/data/myid
添加2
slave02
sudo vim /home/hadoopData/zk/data/myid
添加3
8.修改zookeeper文件主权限(全部节点都要执行此命令)
sudo chown -R hadoop:hadoop /usr/app/zookeeper/
sudo chown -R hadoop:hadoop /home/hadoopData/
9.启动zookeeper,并查看进程
zkServer.sh start
jps
10.停止leader模式的节点、自动切换leader节点代表搭建成功
leader节点
zkServer.sh stop
查看其它节点状态
zkServer.sh status
(四)安装HBase
1.安装ntp服务(全部节点都要执行此命令)
安装ntp
sudo yum install ntp -y
开启ntp服务并设置自启
sudo systemctl start ntpd
sudo systemctl enable ntpd
将系统时区设置为上海
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
查看各节点时间一致
date
2.安装Hbase
解压安装包(master 节点)
sudo tar -zxvf /opt/hbase-2.1.0-bin.tar.gz -C /usr/
重命名安装路径(master 节点)
sudo mv /usr/hbase-2.1.0/ /usr/app/hbase
添加环境变量(全部节点都要执行此命令)
#Hbase_Env
export HBASE_HOME=/usr/app/hbase
export PATH=$PATH:$HBASE_HOME/bin
使配置文件生效
sudo vim /etc/profile
3.配置文件(master 节点)
配置hbase-env.sh 配置文件(master 节点)
sudo vim $HBASE_HOME/conf/hbase-env.sh
添加或修改以下:
export JAVA_HOME=/usr/app/java
export HBASE_CLASSPATH=/usr/app/hadoop/etc/hadoop
export HBASE_MANAGES_ZK=false
配置hbase-site.xml配置文件(master 节点)
sudo vim $HBASE_HOME/conf/hbase-site.xml
添加以下配置:
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.master</name>
<value>60000</value>
</property>
<property>
<name>hbase.zookeeper.property.clienPort></name>
<value>2181</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>120000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave01,slave02</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/usr/app/hbase/tmp</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>ture</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
配置regionservers配置文件(master 节点)
sudo vim $HBASE_HOME/conf/regionservers
把第一个注释掉
添加节点主机名:
master
slave01
slave02
将htrace-core-3.1.0-incubating.jar 复制到lib 目录下
sudo cp /usr/app/hbase/lib/client-facing-thirdparty/htrace-core-3.1.0-incubating.jar /usr/app/hbase/lib
创建hbase.tmp.dir 文件夹目录(master 节点)
sudo mkdir /usr/app/hbase/tmp
4.将配置文件同步到slave1、slave2
sudo scp -r /usr/app/hbase/ slave1:/usr/app/
sudo scp -r /usr/app/hbase/ slave2:/usr/app/
5.修改hbase 目录权限(所有节点)
sudo chown -R Hadoop:Hadoop /usr/app/hbase/
6.验证测试
启动hbase(先启动hadoop,然后启动zookeeper,最后启动hbase)
start-hbase.sh
查看各节点的进程
jps
master显示:Hmaster
slave01显示:HRegionServer
slave02显示:HRegionServer
查看hbase状态
打开网页端口号60010 (master的ip地址)
192.168.10.111:60010
关闭hbase
stop-hbase.sh