美文网首页
大数据基础环境搭建步骤

大数据基础环境搭建步骤

作者: 云顶天宫写代码 | 来源:发表于2021-11-06 00:46 被阅读0次

需要借鉴的网址:

Haddop: https://blog.csdn.net/zsy2362933250/article/details/120811205

SPARK https://blog.csdn.net/qq_52691614/article/details/120001942

HIVE: https://blog.csdn.net/zsy2362933250/article/details/120811356

基础环境配置

本环境用于为基础设置部分,用于后续的集群搭建。

考核条件如下:

\1. 按照左侧虚拟机名称修改对应主机名(分别为master、slave1、slave2,使用hostnamectl命令)

(0.00 / 1分)

操作环境: master、slave1、slave2

master服务器:

hostnamectl set-hostname master
bash

Slave1服务器:

hostnamectl set-hostname slave1
bash

Slave2服务器:

hostnamectl set-hostname slave2
bash

关闭防火墙(备用):

 systemctl status firewalld
 systemctl stop firewalld
  1. 修改host文件添加左侧master、slave1、slave2节点IP与主机名映射(使用内网IP)

(0 / 1分)

操作环境: master、slave1、slave2

vim /etc/hosts
image-20211105205919005.png

注意替换这里的ip为内网IP

  1. 时区更改为上海时间(CST+0800时区)

(0 / 1分)

操作环境: master、slave1、slave2

echo "TZ='Asia/Shanghai'; export TZ" >> /etc/profile && source /etc/profile
  1. 环境已经安装NTP,修改master节点NTP配置,设置master为本地时间服务器,屏蔽默认server,服务器层级设为10

(0 / 3分)

操作环境: master

 vim /etc/ntp.conf 

最后一行加入

server 127.127.1.0
fudge 127.127.1.0 stratum 10
  1. 开启NTP服务

(0 / 1分)

操作环境: master

/bin/systemctl restart ntpd.service

操作环境: Slave1 、Slave2

ntpdate master
  1. 添加定时任务--在早十-晚五时间段内每隔半个小时同步一次本地服务器时间(24小时制、使用用户root任务调度crontab,服务器地址使用主机名)

(0 / 3分)

操作环境: slave1、slave2

crontab -e

键入i,进入编辑模式

*/30 10-17 * * * usr/sbin/ntpdate master

注意时间的变化

  1. 主节点生成公钥文件id_rsa.pub(数字签名RSA,用户root,主机名master)

(0 / 3分)

操作环境: master

ssh-keygen

一直回车

将.ssh/id_rsa. pub中的公钥存到authorized_keys 中:

cd .ssh
ls
cat id_rsa.pub  >> authorized_keys
ssh-copy-id localhost
  1. 建⽴master⾃身使⽤root⽤户ssh访问localhost免密登录

(0 / 1分)

操作环境: master

ssh localhost
  1. 建⽴master使⽤root⽤户到slave1的ssh免密登录访问

(0 / 1分)

操作环境: master

scp -r .ssh root@slave1:~/
ssh slave1
exit

过程中会输入密码,拷贝输入左侧的服务器密码

\10. 建⽴master使⽤root⽤户到slave2的ssh免密登录访问

(0 / 1分)

操作环境: master

scp -r .ssh root@slave2:~/
ssh slave2
exit
  1. 将jdk安装包解压到/usr/java目录(安装包存放于/usr/package277/,路径自行创建,解压后文件夹为默认名称,其他安装同理)

(0 / 1分)

操作环境: master、slave1、slave2

这里的 /usr/package277/ 根据比赛时的要求,灵活改变

cd /usr/package277/
ls

查看安装包,执行下面命令时灵活替换,切记!切记!切记!

mkdir -p /usr/java
tar -zxvf /usr/package/jdk-8u221-linux-x64.tar.gz -C /usr/java/
  1. 配置系统环境变量JAVA_HOME,同时将JDK安装路径中bin目录加入PATH系统变量,注意生效变量,查看JDK版本

(0 / 3分)

操作环境: master、slave1、slave2

vim /etc/profile

键入 i,Shift+G键快速跳转到末尾, 添加一下内容, 注意路径中 jdk1.8.0_221 的替换

#java
export JAVA_HOME=/usr/java/jdk1.8.0_221
export PATH=$PATH:$JAVA_HOME/bin 

生效环境变量

source /etc/profile

拷贝到slave1 、slave2

scp -r /usr/java/ root@slave1:/usr/
scp -r /usr/java/ root@slave2:/usr/
scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
java -version

操作环境: slave1、slave2

生效环境变量并查看版本

source /etc/profile && java -version

Zookeeper集群环境搭建

考核条件如下:

\1. 将zookeeper安装包解压到指定路径/usr/zookeeper(安装包存放于/usr/package277/)

(0.00 / 3分)

操作环境: master、slave1、slave2

mkdir -p /usr/zookeeper
tar -zxvf /usr/package277/zookeeper-3.4.14.tar.gz -C /usr/zookeeper/

\2. 配置系统变量ZOOKEEPER_HOME,同时将Zookeeper安装路径中bin目录加入PATH系统变量,注意生效变量

(0 / 3分)

操作环境: master、slave1、slave2

vim /etc/profile

键入i,shift+g 跳转到末尾加入

#zookeeper
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.14
export PATH=$PATH:$ZOOKEEPER_HOME/bin

生效环境变量

source /etc/profile

\3. Zookeeper的默认配置文件为Zookeeper安装路径下conf/zoo_sample.cfg,将其修改为zoo.cfg

(0 / 3分)

操作环境: master、slave1、slave2

cd /usr/zookeeper/zookeeper-3.4.14/conf
ll
mv zoo_sample.cfg zoo.cfg
  1. 设置数据存储路径(dataDir)为/usr/zookeeper/zookeeper-3.4.14/zkdata

(0 / 3分)

操作环境: master、slave1、slave2

  1. 设置日志文件路径(dataLogDir)为/usr/zookeeper/zookeeper-3.4.14/zkdatalog

(0 / 3分)

操作环境: master、slave1、slave2

  1. 设置集群列表(要求master为1号服务器,slave1为2号服务器,slave2为3号服务器)

(0 / 3分)

操作环境: master、slave1、slave2

vim zoo.cfg

修改dataDir=/tmp/zookeeper

dataDir=/usr/zookeeper/zookeeper-3.4.14/zkdata

在文末插入(shift+g):

dataLogDir=/usr/zookeeper/zookeeper-3.4.14/zkdatalog
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

  1. 创建所需数据存储文件夹、日志存储文件夹

(0 / 3分)

操作环境: master、slave1、slave2

\8. 数据存储路径下创建myid,写入对应的标识主机服务器序号

(0 / 3分)

操作环境: master、slave1、slave2

cd /usr/zookeeper/zookeeper-3.4.14/
mkdir zkdata zkdatalog
cd zkdata
vim myid

操作环境: master

cd zkdata
vim myid

输入 1 即可保存

scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
scp -r /usr/zookeeper/ root@slave1:/usr/
scp -r /usr/zookeeper/ root@slave2:/usr/

操作环境: slave1、slave2

source /etc/profile
vim /usr/zookeeper/zookeeper-3.4.14/zkdata/myid

slave1机器输入2 , salve2机器输入3 ,保存退出即可

  1. 启动服务,查看进程QuorumPeerMain是否存在

(0 / 3分)

操作环境: master、slave1、slave2

cd /usr/zookeeper/zookeeper-3.4.14/
bin/zkServer.sh start
image-20211105220001549.png

\10. 查看各节点服务器角色是否正常(leader/follower)

(0 / 3分)

操作环境: master、slave1、slave2

bin/zkServer.sh status

执行到这里检验不通过的,可以直接跳过

Hadoop完全分布式集群搭建

  1. 将Hadoop安装包解压到指定路径/usr/hadoop(安装包存放于/usr/package277/)

(0.00 / 1分)

操作环境: master、slave1、slave2

mkdir -p /usr/hadoop

操作环境: master

tar -zxvf /usr/package/hadoop-2.7.7.tar.gz -C /usr/hadoop/
  1. 配置环境变量HADOOP_HOME,将Hadoop安装路径中bin目录和sbin目录加入PATH系统变量,注意生效变量

(0 / 2分)

操作环境: master

vim /etc/profile

键入 i,


#hadoop
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.7
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin

环境生效

source /etc/profile
  1. 配置Hadoop运行环境JAVA_HOME

(0 / 2分)

操作环境: master

cd /usr/hadoop/hadoop-2.7.7/etc/hadoop/
ll
vim hadoop-env.sh

在28行加入:

export JAVA_HOME=/usr/java/jdk1.8.0_221
  1. 设置全局参数,指定HDFS上NameNode地址为master,端口默认为9000

(0 / 3分)

操作环境: master

\5. 指定临时存储目录为本地/root/hadoopData/tmp(要求为绝对路径,下同)

(0 / 3分)

操作环境: master

vim core-site.xml

ctrl+A 全选后,直接粘贴下面的内容

<?xml version="1.0" encoding="utf-8"?>
<configuration> 
  <!-- 指定hdfs的nameservice为h01 -->  
  <property> 
    <name>fs.default.name</name>  
    <value>hdfs://master:9000</value> 
  </property>  
  <!-- 指定hadoop数据存储目录 -->  
  <property> 
    <name>hadoop.tmp.dir</name>  
    <value>/root/hadoopData/tmp</value> 
  </property> 
  <property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
  </property>
  <property>
    <name>fs.checkpoint.period</name>
     <value>60</value>
  </property>
  <property>
    <name>fs.checkpoint.size</name>
    <value>67108864</value>
  </property>
</configuration>

\6. 设置HDFS参数,指定备份文本数量为2

(0 / 3分)

操作环境: master

  1. 设置HDFS参数,指定NN存放元数据信息路径为本地/root/hadoopData/name;指定DN存放元数据信息路径为本地/root/hadoopData/data(要求为绝对路径)

(0 / 3分)

操作环境: master

  1. 设置HDFS参数,关闭hadoop集群权限校验(安全配置),允许其他用户连接集群;指定datanode之间通过域名方式进行通信

(0 / 3分)

操作环境: master

vim hdfs-site.xml

ctrl+A 全选后,直接粘贴下面的内容

<?xml version="1.0" encoding="utf-8"?>
<configuration> 
  <property>
 <name>dfs.replication</name>
   <value>2</value>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/root/hadoopData/name</value>
   <final>true</final>
 </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/root/hadoopData/data</value>
    <final>true</final>
 </property>
 <property>
  <name>dfs.namenode.secondary.http-address</name>
   <value>master:9001</value>
 </property>
 <property>
   <name>dfs.webhdfs.enabled</name>
    <value>true</value>
 </property>
 <property>
   <name>dfs.permissions</name>
   <value>false</value>
</property>
<property>
    <name>dfs.datanode.use.datanode.hostname</name>
    <value>true</value>
</property>
</configuration>

保存退出

  1. 设置YARN运行环境$JAVA_HOME参数

(0 / 3分)

操作环境: master

vim yarn-env.sh

末尾(shift+g)插入以下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_171
  1. 设置YARN核心参数,指定ResourceManager进程所在主机为master,端口为18141;指定mapreduce 获取数据的方式为mapreduce_shuffle

(0 / 5分)

操作环境: master

vim yarn-site.xml

ctrl+A 全选后,直接粘贴下面的内容

<?xml version="1.0" encoding="utf-8"?>
<configuration> 
 <property>
 <name>yarn.resourcemanager.address</name>
   <value>master:18040</value>
</property>
<property>
  <name>yarn.resourcemanager.scheduler.address</name> 
  <value>master:18030</value>
</property>
<property>
  <name>yarn.resourcemanager.webapp.address</name>
  <value>master:18088</value>
</property>
<property>
  <name>yarn.resourcemanager.resource-tracker.address</name>
  <value>master:18025</value>
</property>
<property>
 <name>yarn.resourcemanager.admin.address</name>
 <value>master:18141</value>
</property>
<property>
 <name>yarn.resourcemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
</property>
<property>
 <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
 <value>org.apache.hadoop.mapred.shuffleHandler</value>
</property>
<property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
</property>
</configuration>
  1. 设置计算框架参数,指定MR运行在yarn上

(0 / 5分)

操作环境: master

mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml 

<configuration></configuration>中插入以下内容:

<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>
image-20211105224144654.png
  1. 设置节点文件,要求master为主节点; slave1、slave2为子节点(0 / 2分)

操作环境: master、slave1、slave2

vim slaves

修改为:

slave1
slave2

保存退出后,修改 master

vim master

插入以下内容:

master

保存退出后,同步到 slave1 和slave2

scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
scp -r /usr/hadoop root@slave1:/usr/
scp -r /usr/hadoop root@slave2:/usr/

操作环境: slave1、slave2

source /etc/profile
  1. 对文件系统进行格式化(0 / 5分)

操作环境: master

hadoop namenode -format

\14. 启动Hadoop集群查看各节点服务

(0 / 5分)

操作环境: master

cd /usr/hadoop/hadoop-2.7.7/
sbin/start-all.sh
  1. 查看集群运行状态是否正常(0 / 5分)

操作环境: master

jps

如果最后一步验证不通过,直接跳过

Hive集群安装

*安装数据库*

考核条件如下:

  1. 环境中已经安装mysql-community-server,关闭mysql开机自启服务(0.00 / 2分)

操作环境: slave2

卸载 系统自带的Mariadb

rpm -qa|grep mariadb
image-20211105230757421.png

如果执行完如果出现如上图所示,那么执行这个命令,注意版本号

rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
mkdir -p /usr/mysql
tar -xvf /usr/package/mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar -C /usr/mysql/
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm
  1. 开启MySQL服务(0 / 2分)

操作环境: slave2

重载所有修改过的配置文件:

systemctl daemon-reload

开启服务:

systemctl start mysqld

开机自启:

systemctl enable mysqld
  1. 判断mysqld.log日志下是否生成初临时密码(0 / 2分)

操作环境: slave2

grep "temporary password" /var/log/mysqld.log
mysql -uroot -p
image-20211105231529574.png
  1. 设置mysql数据库本地root用户密码为123456(0 / 2分)

操作环境: slave2

设置密码强度为低级:

set global validate_password_policy=0;

设置密码长度:

set global validate_password_length=4;

修改本地密码:

alter user 'root'@'localhost' identified by '123456';

退出数据库

exit;

以新密码登陆 MySQL:

mysql -uroot -p123456 

创建用户:

create user 'root'@'%' identified by '123456'; 

允许远程连接:

grant all privileges on *.* to 'root'@'%' with grant option;

刷新权限:

flush privileges;

退出数据库

exit;

Hive基础环境配置

考核条件如下:

  1. 将Hive安装包解压到指定路径/usr/hive(安装包存放于/usr/package277/)(0 / 2分)

操作环境: master、slave1

mkdir /usr/hive
tar -zxvf /usr/package277/apache-hive-3.4.4-bin.tar.gz -C /usr/hive/
  1. 配置环境变量HIVE_HOME,将Hive安装路径中的bin目录加入PATH系统变量,注意生效变量

(0 / 2分)

操作环境: master

设置环境变量:

vim /etc/profile

添加以下内容:

#hive 
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin 
export PATH=$PATH:$HIVE_HOME/bin

生效环境变量:

source /etc/profile
scp -r /etc/profile root@slave1:/etc/
scp -r /usr/hive root@slave1:/usr/

操作环境: slave1

source /etc/profile
  1. 修改HIVE运行环境,配置Hadoop安装路径HADOOP_HOME(0 / 2分)

操作环境: master、slave1

  1. 修改HIVE运行环境,配置Hive配置文件存放路径HIVE_CONF_DIR

(0 / 2分)

操作环境: master、slave1

  1. 修改HIVE运行环境,配置Hive运行资源库路径HIVE_AUX_JARS_PATH

(0 / 2分)

操作环境: master、slave1

cd /usr/hive/apache-hive-3.4.4-bin/conf
cp -p hive-env.sh.template hive-env.sh
vim hive-env.sh

添加以下内容:

export HADOOP_HOME=/usr/hadoop/hadoop-2.7.7
export HIVE_CONF_DIR=/usr/hive/apache-hive-3.4.4-bin/conf
export HIVE_AUX_JARS_PATH=/usr/hive/apache-hive-3.4.4-bin/lib

  1. 解决jline的版本冲突,将HIVE_HOME/lib/jline-2.12.jar同步至HADOOP_HOME/share/hadoop/yarn/lib/下

(0 / 2分)

操作环境: master、slave1

cp /usr/hive/apache-hive-3.4.4-bin/lib/jline-2.12.jar /usr/hadoop/hadoop-2.7.7/share/hadoop/yarn/lib/
rm -rf /usr/hadoop/hadoop-2.7.7/share/hadoop/yarn/lib/guava-11.0.2.jar
cp /usr/hive/apache-hive-3.4.4-bin/lib/guava-14.0.1.jar /usr/hadoop/hadoop-2.7.7/share/hadoop/yarn/lib/

*配置HIVE元数据至MySQL*

\1. 驱动JDBC拷贝至hive安装目录对应lib下(依赖包存放于/usr/package277/)

(0 / 3分)

**操作环境: slave2

cd /usr/package277/
scp mysql-connector-java-5.1.47-bin.jar root@slave1:/usr/hive/apache-hive-3.4.4-bin/lib
  1. 配置元数据数据存储位置为/user/hive_remote/warehouse

(0 / 3分)

操作环境: slave1

\3. 配置数据库连接为MySQL

(0 / 3分)

操作环境: slave1

\4. 配置连接JDBC的URL地址主机名及默认端口号3306,数据库为hive,如不存在自行创建,ssl连接方式为false

(0 / 3分)

操作环境: slave1

\5. 配置数据库连接用户

(0 / 3分)

操作环境: slave1

\6. 配置数据库连接密码(0 / 3分)

**操作环境: slave1 **

编辑hive-site.xml

/usr/hive/apache-hive-3.4.4-bin/conf
vim hive-site.xml
<configuration>
 <!--Hive产生的元数据存放位置-->
<property>
   <name>hive.metastore.warehouse.dir</name>
   <value>/user/hive_remote/warehouse</value>
</property>
   <!--数据库连接JDBC的URL地址-->
<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
   <description>JDBC connect string for a JDBC metastore</description>
</property>
   <!--数据库连接driver,即MySQL驱动-->
<property>
   <name>javax.jdo.option.ConnectionDriverName</name>
   <value>com.mysql.jdbc.Driver</value>
</property>
   <!--MySQL数据库用户名-->
<property>
   <name>javax.jdo.option.ConnectionUserName</name>
   <value>root</value>
</property>
   <!--MySQL数据库密码-->
<property>
   <name>javax.jdo.option.ConnectionPassword</name>
   <value>123456</value>
</property>
<property>
   <name>hive.metastore.schema.verification</name>
   <value>false</value>
</property>
<property>
   <name>datanucleus.schema.autoCreateALL</name>
   <value>true</value>
</property>
</configuration>

保存退出

配置HIVE客户端

\1. 配置元数据存储位置为/user/hive_remote/warehouse

(0 / 2分)

操作环境: master

\2. 关闭本地metastore模式

(0 / 2分)

操作环境: master

\3. 配置指向metastore服务的主机为slave1,端口为9083

(0 / 2分)

操作环境: master

/usr/hive/apache-hive-3.4.4-bin/conf
vim hive-site.xml

添加以下内容

<configuration>
 
<!--Hive产生的元数据存放位置-->
<property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive_remote/warehouse</value>
</property>
    
<!---使用本地服务连接Hive,默认为true-->
<property>
    <name>hive.metastore.local</name>
    <value>false</value>
</property>
 
<!--连接服务器-->
<property>
    <name>hive.metastore.uris</name>
    <value>thrift://slave1:9083</value>
</property>
</configuration>

*启动Hive*

考核条件如下:

  1. 服务器端初始化数据库,启动metastore服务

(0 / 3分)

操作环境: master

cd /usr/hadoop/hadoop-2.7.7/
sbin/stop-all.sh
sbin/start-all.sh

操作环境: slave1

schematool -dbType mysql -initSchema
cd /usr/hive/apache-hive-3.4.4-bin
bin/hive --service metastore
  1. 客户端开启进入hive,创建hive数据库

(0 / 3分)

操作环境: master

cd /usr/hive/apache-hive-3.4.4-bin
bin/hive

出现hive>后执行show databases;进行测试

create database hive;

大数据处理与应用

  1. 修改云主机host文件,添加内网IP,对应映射名为hadoop000,实现云主机自身使用root用户ssh访问hadoop000免密登陆

(0.00 / 2分)

操作环境: Hadoop/Hive

vim /etc/hosts

添加以下内容

127.0.0.1 hadoop000

保存退出

ssh-keygen
cd .ssh
ls
cat id_rsa.pub  >> authorized_keys
ssh-copy-id hadoop000
  1. 格式化HDFS文件系统

(0 / 2分)

操作环境: Hadoop/Hive

hadoop namenode -format
  1. 启动Hadoop集群

(0 / 2分)

操作环境: Hadoop/Hive

找打hadoop 的路径

whereis hadoop

根据路径

cd /usr/hadoop/hadoop-2.7.7/
sbin/start-all.sh
  1. 开启mysql服务

(0 / 2分)

操作环境: Hadoop/Hive

systemctl start mysqld
  1. 初始化Hive元数据库,进入Hive客户端,创建hive数据库

(0 / 2分)

操作环境: Hadoop/Hive

schematool -dbType mysql -initSchema
cd /usr/hive/apache-hive-3.4.4-bin
bin/hive --service metastore
bin/hive

出现Hive后

create database hive;

相关文章

网友评论

      本文标题:大数据基础环境搭建步骤

      本文链接:https://www.haomeiwen.com/subject/jkvdzltx.html