Hadoop环境搭建
一、节点详情
服务器 | 配置 | 组件 |
---|---|---|
hadoop101 | 8核/16.0GB | QuorumPeerMain,PrestoServer,Kafka,DataNode,NodeMananger,worker(spark) |
hadoop102 | 8核/16.0GB | QuorumPeerMain,PrestoServer(coordernary),Kafka,SecondaryNameNode,DataNode,NodeMananger,worker(spark) |
hadoop103 | 8核/16.0GB | QuorumPeerMain,PrestoServer,Kafka,DataNode,NodeMananger,worker(spark) |
hadoop104 | 8核/16.0GB | PrestoServer,DataNode,NodeMananger,worker(spark),HistoryServer,JobHistory |
hadoop105 | 8核/16.0GB | NameNode,ResourceManager,NodeMananger,Master(spark),PrestoServer,Metastore,HiveServer2 |
二、大数据集群环境准备
1.在所有机器下创建hadoop用户,并将其添加至sudoers中
useradd hadoop #添加用户
passwd hadoop #更改用户密码 bigdata@123
设置hadoop用户具有root权限
vim /etc/sudoers
在 root ALL =(ALL) ALL 下添加一行
hadoop ALL = (ALL) ALL
2.关闭防火墙(所有机器)
CentOS 7.0 默认使用firewall作为防火墙
查看防火墙状态
firewall-cmd --state
停止防火墙
systemctl stop firewalld.service
禁止防火墙开机启动
systemctl disable firewalld.service
3.关闭selinux(所有机器)
vim /etc/selinux/config
#SELINUX=enforceing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
4.做主机名与ip地址的映射(所有机器)
vim /etc/hosts
在最下面插入:
192.177.10.101 hadoop101
192.177.10.102 hadoop102
192.177.10.103 hadoop103
192.177.10.104 hadoop104
192.177.10.105 hadoop105
保存退出,每台机器同样的操作
5.重启系统
reboot
6. 5台机器配置免密码登录
第一步:使用hadoop用户在主节点(hadoop101)机器生成公钥和私钥
su hadoop
ssh-keygen -t rsa
执行该命令之后,按三下回车即可
由此生成一个公钥和私钥,存储在/home/hadoop/.ssh/下
第二步:将本机公钥传递给其他机器
ssh-copy-id hadoop@hadoop102
ssh-copy-id hadoop@hadoop103
ssh-copy-id hadoop@hadoop104
ssh-copy-id hadoop@hadoop105
第三步:测试免密码登录
在hadoop101节点上
ssh hadoop102
不需要输入密码时就表示配置成功.
第四步:第二台机器配置免密登录(hadoop105)
ssh-keygen -t rsa
执行该命令之后,按三下回车即可
第五步:将本机公钥传递给其他机器
scp id_rsa.pub hadoop101:$PWD
scp id_rsa.pub hadoop102:$PWD
scp id_rsa.pub hadoop103:$PWD
scp id_rsa.pub hadoop104:$PWD
第六步:将公钥追加到各机器的authorized_keys上
在其他机器上执行以下命令(使用hadoop用户)
cd /home/hadoop/.ssh
cat id_rsa.pub >> authorized_keys
7.JDK安装配置
第一步:卸载自带java
1、rpm查询java安装包名称
rpm -qa | grep java
2、删除
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.232.b09-0.el7_7.x86_64
rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch
rpm -e --nodeps tzdata-java-2019c-1.el7.noarch
rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64
第一步:解压jdk包
tar -zxvf jdk-8u11-linux-x64.tar.gz -C /app/
第二步:配置java环境变量
使用root用户
vim /etc/profile
在最下面插入
export JAVA_HOME=/app/jdk-1.8.0
export PATH=$JAVA_HOME/bin:$PATH
第三步:使变量生效
source /etc/profile
第四步:测试
java -version
8.修改/etc/profile
在每台机器上使用root用户
vim /etc/profile
在最下面插入
export JAVA_HOME=/app/java-1.8.0
export SCALA_HOME=/app/scala-2.11.12
export HADOOP_HOME=/app/hadoop-3.1.2
export HIVE_HOME=/app/hive
export SPARK_HOME=/app/spark-2.4.3-bin-hadoop2.7
export PATH=$HIVE_HOME/bin:$JAVA_HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$SPARK_HOME/bin:/app/hbase/bin:$PATH
使变量生效
source /etc/profile
以下安装过程,无特殊说明,均使用hadoop用户操作。
二、zookeeper安装
安装节点:hadoop101 (follower) ,hadoop102 (leader), hadoop103(follower)
使用hadoop用户
su hadoop
第一步:解压(hadoop101 )
cd /app
tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz -C ./
第二步:修改配置文件
在hadoop101修改配置文件
cd /app/apache-zookeeper-3.5.5-bin/conf
cp zoo_sample.cfg zoo.cfg
mkdir -p /app/apache-zookeeper-3.5.5-bin/zkdatas/
vim zoo.cfg
dataDir=/app/apache-zookeeper-3.5.5-bin/zkdatas
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=hadoop101:2888:3888
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
第三步:添加myid配置
在hadoop101执行以下命令
echo 1 > /app/apache-zookeeper-3.5.5-bin/zkdatas/myid
第四步:分发到其他机器并修改myid的值
在hadoop101执行以下命令
scp -r /app/apache-zookeeper-3.5.5-bin hadoop102:/app/
scp -r /app/apache-zookeeper-3.5.5-bin hadoop103:/app/
在hadoop102执行以下命令
echo 2 > /app/apache-zookeeper-3.5.5-bin/zkdatas/myid
在hadoop103执行以下命令
echo 3 > /app/apache-zookeeper-3.5.5-bin/zkdatas/myid
第五步:三台机器启动zookeeper服务
在三台机器上分别执行以下命令
/app/apache-zookeeper-3.5.5-bin/bin/zkServer.sh start
查看启动