全国大学生大数据技能竞赛

1.ip地址配置

  1. 查看ip信息
ip addr
ip a

在这里插入图片描述

  1. 修改配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33

在这里插入图片描述在这里插入图片描述

  1. 修改完成后
    在这里插入图片描述
  2. 重启网络服务
service network restart

在这里插入图片描述

  1. 检测网络连接
    在这里插入图片描述在这里插入图片描述

2.修改虚拟机的名称

  1. 执行以下命令
hostnamectl set-hostname master
  1. 进入配置文件
vi /etc/sysconfig/network

在这里插入图片描述

  1. 修改配置文件
    在这里插入图片描述
NETWORKING=yes
HOSTNAME=master
  1. 使修改立即生效,执行以下命令
bash

3.修改hosts文件

  1. 进入编辑器
vi /etc/hosts
  1. 加入虚拟机虚拟机的ip地址和名称
    在这里插入图片描述
  2. 保存退出

4.修改防火墙

  1. 查看状态
systemctl status firewalld
  1. 临时关闭
systemctl stop firewalld
  1. 临时启动
systemctl start firewalld
  1. 开机禁用
systemctl disable firewalld
  1. 开机启用
systemctl enable firewalld

在这里插入图片描述在这里插入图片描述

5.SSH免密登录

  1. 基本语法
ssh另一台电脑的ip地址

在这里插入图片描述

  1. 配置方法:
    执行以下命令,然后敲(四个回车)
ssh-keygen
  1. 配置方法
    (1)生成公钥和私钥:
ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
(2)将公钥拷贝到要免密登录的目标机器上

ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2

5.jdk安装

  1. 在/opt目录下新建两个文件夹 software和module
mkdir /opt/software #用于存放压缩文件
mkdir /opt/module #用于存放解压文件
  1. 将本地的jdk移动到虚拟机中
    在这里插入图片描述
  2. 将jdk解压到/opt/module目录下
tar -zxvf /opt/software/jdk-8u171-linux-x64.tar.gz -C /opt/module/
  1. 配置jdk环境变量
    (1)先获取jdk的路径
    在这里插入图片描述

(2)打开/etc/profile文件

vi /etc/profile

(3)在profile文件末尾添加JDK路径

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin

(4)让修改后的文件生效

source /etc/profile

(5)测试JDK是否安装成功

java -version

(6)将jdk分发到slave1的节点

scp -r /opt/module slave1:/opt/module

6.集群分发

6.1:scp(secure copy)安全拷贝

(1)scp定义:
scp可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)
(2)基本语法

scp    -r          $pdir/$fname              $user@hadoop$host:$pdir/$fname
命令   递归       要拷贝的文件路径/名称    目的用户@主机:目的路径/名称

6.2 rsync 远程同步工具

rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
(1)基本语法

rsync    -rvl       $pdir/$fname      $user@hadoop$host:$pdir/$fname
命令   选项参数   要拷贝的文件路径/名称    目的用户@主机:目的路径/名称

-r  递归
-v  显示复制过程
-l  拷贝符号连接

7.安装Zookeeper

  1. 安装jdk
  2. 拷贝Zookeeper安装包到Linux系统下
  3. 解压到指定目录
tar -zxvf /opt/software/zookeeper-3.4.10.tar.gz -C /opt/module/
  1. 将/opt/module/zookeeper-3.4.10/conf这个路径下的zoo_sample.cfg修改为zoo.cfg;
 mv zoo_sample.cfg zoo.cfg
  1. 在/opt/module/zookeeper-3.4.10/这个目录上创建zkData和zkdatalog文件夹
mkdir zkData
  1. 打开zoo.cfg文件,修改dataDir路径:
    在这里插入图片描述
  2. 进入zkdata文件夹,创建myid
touch myid
  1. 在文件中添加与server对应的编号:
  2. 启动ZooKeeper集群
    在ZooKeeper集群的每个节点上,执行启动ZooKeeper服务的脚本,

启动zookper

bin/zkServer.sh start

查看状态

bin/zkServer.sh status

在这里插入图片描述
1个leader两个follower

8.hadoop安装

  1. 解压到指定目录
tar -zxvf hadoop-2.7.3.tar.gz -C /opt/module/
  1. 修改环境变量
    1)获取hadoop的路径
进入hadoop的安装目录,然后pwd

(2)修改配置文件

vi /etc/profile
进入这个文件,添加一下代码
##HADOOP
export HADOOP_HOME=/opt/module/hadoop-2.7.3
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin

(3)让配置文件生效

source /etc/profile

(4)测试

hadoop version

在这里插入图片描述(5)修改hadoop-env.sh文件
在这里插入图片描述

export JAVA_HOME=/opt/module/jdk1.8.0_171

在这里插入图片描述(6)修改core-site.xml文件

<!-- 指定HDFS中NameNode的地址 -->
<property>
	<name>fs.default.name</name>
   	 <value>hdfs://master:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
	<name>hadoop.tmp.dir</name>
	<value>/opt/module/hadoop-2.7.3/hdfs/tmp</value>
<description>A base for other temporary directories.</description>
</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>

解析:配置HDFS的namenode的地址;配置hadoop运行时产生的文件的目录
  1)fs.default.name是NameNode的URI。hdfs://主机名:端口/
  2)hadoop.tmp.dir :Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。

在这里插入图片描述(7)修改yarn-site.xml

<!-- Reducer获取数据的方式 -->
<property>
 	<name>yarn.nodemanager.aux-services</name>
 	<value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>slave2</value>
</property>

在这里插入图片描述
其余的无需设置,因为都有默认值

(8)编写slaves文件

vi slaves

在这里插入图片描述
三个节点都要配置!!!
(8)hdfs-site.xml

<property>
	<name>dfs.replication</name>
	<value>3</value>
</property>

<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>slave1:9001</value>
</property>

在这里插入图片描述
(8) mapred-site.xml
首先将模板文件复制为 xml 文件,对其进行编辑:

cp mapred-site.xml.template mapred-site.xml

编辑mapred-site.xml


<property>
 	<name>mapreduce.framework.name</name>
 	<value>yarn</value>
 </property> 

在这里插入图片描述(9)分发hadoop

 scp -r /opt/module/hadoop-2.7.3/ slave1:/opt/module/

(10)配置slave1和slave2的环境变量

vi /etc/profile

在这里插入图片描述(10)如果集群是第一次启动,需要格式化NameNode

hadoop namenode -format

(11)启动集群

启动所有服务
sbin/start-dfs.sh
启动HDFS
sbin/start-dfs.sh
启动yarn在slave1上
sbin/start-yarn.sh

在这里插入图片描述
(12)测试

IP地址:50070

在这里插入图片描述
(13)集群基本测试
上传和查看文件
在这里插入图片描述

9.HBase安装

  1. hbase解压
tar -zxvf hbase-1.2.4-bin.tar.gz -C /opt/module/
  1. 修改hbase-env.sh文件
    在这里插入图片描述在这里插入图片描述
  2. 配置 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.master</name>
	 <value>hdfs://master:6000</value>
  </property>
  <property>
 	<name>hbase.zookeeper.quorum</name>
	 <value>master,slave1,slave2</value>
  </property>
  <property>
 	<name>hbase.zookeeper.property.dataDir</name>
	 <value>/opt/module/zookeeper-3.4.10</value>
  </property>
</configuration>
  1. 配置 conf/regionservers
    在这里插入图片描述在这里列出了希望运行的全部 HRegionServer,一行写一个 host。列在这里的 server 会随着集群的启动而启动,集群的停止而停止。
  2. hadoop 配置文件拷入 hbase 的 conf 目录下:(当前位置为 hbased 的conf 配置文件夹)
    一下两条命令均在conf目录下操作。。。注意最后的点.
cp /opt/module/hadoop-2.7.3/etc/hadoop/core-site.xml .
cp /opt/module/hadoop-2.7.3/etc/hadoop/hdfs-site.xml .
  1. 分发hbase
scp -r /opt/module/hbase-1.2.4/ slave1:/opt/module
  1. 配置环境变量

在修改/etc/profile文件

#set hbase environment
export HBASE_HOME=/opt/module/hbase-1.2.4
export PATH=$PATH:$HBASE_HOME/bin
  1. 让环境变量生效
source /etc/profile
  1. 启动hbase。在 master 上执行(保证 hadoop 和 zookeeper 已开启):
bin/start-hbase.sh 

在这里插入图片描述

  1. 子节点上查看进程
    在这里插入图片描述11. 在网站上输入master的IP:16010进行测试
http://192.168.152.101:16010/master-status

在这里插入图片描述

  1. 进 hbase 交互界面, 查看状态与版本
    开启hbase shell
    在这里插入图片描述

10 构建数据仓库

master 作为 client 客户端
slave1 作为 hive server 服务器端
slave2 安装 mysql server

10.1在slave2 上安装mysql server

  1. 安装从网上下载文件的wget命令
yum -y install wget
  1. 下载mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 
  1. 安装mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
  1. 查看
ls -1 /etc/yum.repos.d/mysql-community*
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo
  1. 安装mysql
yum install mysql-server
  1. 启动服务

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

systemctl daemon-reload 

开启服务:

systemctl start mysqld

开机自启

systemctl enable mysqld

设置sql密码为空

1.检查mysql服务是否启动,如果启动,关闭mysql服务

//查看mysql服务状态
[root@mytestlnx02 ~]# ps -ef | grep -i mysql
root     22972     1  0 14:18 pts/0    00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql    23166 22972  0 14:18 pts/0    00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
root     23237 21825  0 14:22 pts/0    00:00:00 grep -i mysql

//关闭服务
[root@mytestlnx02 ~]# systemctl stop mysqld
[root@mytestlnx02 ~]#
  1. 修改mysql的配置文件my.cnf
    my.cnf配置文件的位置,一般在/etc/my.cnf,有些版本在/etc/mysql/my.cnf
    在配置文件中,增加2行代码
[mysqld]

skip-grant-tables

作用是登录mysql的时候跳过密码验证

然后启动mysql服务,并进入mysql

[root@mytestlnx02 ~]# systemctl start mysqld
[root@mytestlnx02 ~]#
[root@mytestlnx02 ~]# mysql -u root 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql>
  1. 修改密码
    连接mysql这个数据库,修改用户密码
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
mysql> update mysql.user set authentication_string=password('root_password') where user='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1
 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
 
mysql> exit
  1. 重启mysql服务
    先将之前加在配置文件里面的2句代码注释或删除掉,然后重启mysql服务,就可以使用刚刚设置的密码登录了。
[root@mytestlnx02 ~]# systemctl start mysqld
[root@mytestlnx02 ~]#
[root@mytestlnx02 ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.

查看mysql的安装路径

whereis mysql
/usr/bin/mysql /usr/lib64/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

允许远程连接

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

刷新权限:

flush privileges; 

10.2在slave1 上安装hive

  1. 先在 master 中对 hive 进行解压,然后将其复制到
    slave1 中。
tar -zxvf /opt/software/apache-hive-2.1.1-bin.tar.gz -C /opt/module/
scp -r /opt/module/apache-hive-2.1.1-bin/ slave1:/opt/module/
  1. 修改配置文件
vi /etc/profile
#set hive
export HIVE_HOME=/opt/module/apache-hive-2.1.1-bin
export PATH=$PATH:$HIVE_HOME/bin 

让配置文件生效

source /etc/profile
  1. 修改hive-env.sh配置文件
    进入/opt/module/apache-hive-2.1.1-bin/conf这个目录
    复制hive-env.sh.templatehive-env.sh
cp hive-env.sh.template hive-env.sh

在这里插入图片描述

HADOOP_HOME=/opt/module/hadoop-2.7.3
  1. 修改hive-site.xml
cp hive-default.xml.template hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    	<name>javax.jdo.option.ConnectionURL</name>
   	 <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
  </property>
    <property>
    	<name>javax.jdo.option.ConnectionDriverName</name>
   	 <value>com.mysql.jdbc.Driver</value>
  </property>
    <property>
    	<name>javax.jdo.option.ConnectionUserName</name>
   	 <value>root</value>
  </property>
    <property>
    	<name>javax.jdo.option.ConnectionPassword</name>
    	<value></value>
  </property>
</configuration>

slave1上启动hive

bin/hive --service metastore

master上启动hive

bin/hive

11.Centos7安装mysql

  1. 下载mysql源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

2.安装mysql源

yum localinstall mysql57-community-release-el7-8.noarch.rpm 

3.检查mysql源是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

在这里插入图片描述

4.修改yum源 【可跳过】

vi /etc/yum.repos.d/mysql-community.repo

改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可。
备注:enabled=1表示即将要安装的mysql版本,这个文件也可以不修改,默认安装mysql最高版本
在这里插入图片描述

  1. 安装MySQL
yum install mysql-community-server
  1. 重载所有修改过的配置文件
systemctl daemon-reload 
  1. 启动MySQL服务并设置开机启动
systemctl start mysqld 开启服务
systemctl enable mysqld 开机自启
systemctl daemon-reload 更新配置
  1. 查看mysql密码
grep 'temporary password' /var/log/mysqld.log

如果找不到密码
在这里插入图片描述

  1. MySQL 密码安全策略:

设置密码强度为低级:

set global validate_password_policy=0;

设置密码长度:

set global validate_password_length=4;

修改本地密码:

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

退出:\q

  1. 授权及生效
    新密码登录Mysql:
mysql -uroot -p123456

创建用户:

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

允许远程连接:

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

刷新权限:

flush privileges;

12.hive的部署

  1. 将hive解压到指定目录hive目录下
tar -zxvf /opt/software/apache-hive-2.1.1-bin.tar.gz -C /opt/module/hive/
  1. 分发到slave1上
scp -r /opt/module/hive/apache-hive-2.1.1-bin/ slave1:/opt/module/hive/
  1. 修改配置文件
vi /etc/profile


#set hive
export HIVE_HOME=/opt/module/hive/apache-hive-2.1.1-bin
export PATH=$PATH:$HIVE_HOME/bin

让配置文件生效

source /etc/profile

  1. 修改hive-env.sh配置文件
  2. 进入/opt/module/apache-hive-2.1.1-bin/conf这个目录
    复制hive-env.sh.template为hive-env.sh
cp hive-env.sh.template hive-env.sh

在这里插入图片描述
在这里插入图片描述

HADOOP_HOME=/opt/module/hadoop-2.7.3

  1. 在hive的lib目录下拷贝一个jar包
    注意用fx传输时,类型一定是非text类型
mysql-connector-java-5.1.47-bin.jar
  1. slave2上配置hive-site.xml文件
touch hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<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</value>
  </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>
</configuration>
  1. master配置
    8.1 jline版本冲突
cp /opt/module/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar /opt/module/hadoop-2.7.3/share/hadoop/yarn/lib/

8.2 修改hive-site.xml文件

touch hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<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. 在slave1(服务端)初始化数据库
schematool -dbType mysql -initSchema

在这里插入图片描述

在这里插入图片描述

  1. 在slave1(服务端)启动hive service
hive --service metastore &
过程会卡住不动注意这不是报错。回车可退出卡动。
  1. jps查看服务
    在这里插入图片描述
  2. 主结点master(客户端)成功远程登陆Mysql
    在这里插入图片描述
  3. 简单测试
show databases;

在这里插入图片描述

Flume 安装教程

  1. 解压 apache-flume-1.7.0-bin.tar.gz 到/opt/module/目录下
tar -zxf apache-flume-1.7.0-bin.tar.gz -C /opt/module/
  1. 修改 apache-flume-1.7.0-bin 的名称为 flume
 mv apache-flume-1.7.0-bin flume
  1. 将 flume/conf 下的 flume-env.sh.template 文件修改为 flume-env.sh,并配置 flumeenv.sh 文件
mv flume-env.sh.template flume-env.sh
vi flume-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144

1.1案例实现

  1. 安装 netcat 工具
 sudo yum install -y nc
  1. 判断 44444 端口是否被占用
 sudo netstat -tunlp | grep 44444
  1. 创建 Flume Agent 配置文件 flume-netcat-logger.conf
`flume 目录`下创建 job 文件夹并进入 job 文件夹。
 mkdir job
 cd job/

job 文件夹下创建 Flume Agent 配置文件 flume-netcat-logger.conf。

 vim flume-netcat-logger.conf

在 flume-netcat-logger.conf 文件中添加如下内容。

# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
# Describe the sink
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
  • 39
    点赞
  • 226
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sparky*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值