Wesukilaye

Your choices please me, for now


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

大数据学习 Day4

发表于 2019-08-01 更新于 2019-08-06 分类于 大数据
本文字数: 8.4k 阅读时长 ≈ 8 分钟
1.配置伪分布式yarn:
1
2
3
4
5
6
7
8
9
cd /opt/hadoop-2.6.4/etc/hadoop/

pwd

ls

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

vi mapred-site.xml

在 configuration中间加入下面配置:

1
2
3
4
5
6


mapreduce.framework.name
yarn


vi yarn-site.xml

在configuration中间加入下面配置:

1
2
3
4

yarn.nodemanager.aux-services
mapreduce_shuffle

测试:启动yarn

/opt/hadoop-2.6.4/sbin/start-yarn.sh

jps查看是否有

1
2
resourcemanager
NodeManager

浏览中查看 192.168.31.128:8088

2.HDFS常用命令:
命令 说明
-help [cmd] 显示命令的帮助信息
-ls(r) path 显示当前目录下所有文件
-du(s) path 显示目录中所有文件大小
-count[-q] path 显示目录中文件数量
-mv src dst 移动多个文件到目标目录
-cp src dst 复制多个文件到目标目录
-rm(r) 删除文件(夹)
-put localsrc dst 本地文件复制到hdfs
-copyFromLocal 同put
-moveFromLocal 从本地文件移动到hdfs
-get [-ignoreCrc] src localdst 复制文件到本地,可以忽略crc校验
-getmerge src localdst 将源目录中的所有文件排序合并到一个文件中
-cat src 在终端显示文件内容
-text src 在终端显示文件内容
-copyToLocal [-ignoreCrc] src localdst 复制到本地
-moveToLocal src localdst 移动
-mkdir path 创建文件夹
-touchz path 创建一个空文件
3.停止伪分布式:
1
2
3
/opt/hadoop-2.6.4/sbin/stop-yarn.sh
/opt/hadoop-2.6.4/sbin/stop-dfs.sh
jps

(如有多余的进程则用kill -9 强制杀掉)

4.配置分布式集群:

cd /opt/hadoop-2.6.4/etc/hadoop

编辑core-site.xml,指定namenode为master机器,Master为集群老大

1
2
3
4
5
6
7
vi core-site.xml 


fs.defaultFS
hdfs://master:9000


编辑hdfs-site.xml,指定Namenode存储路径,指定数据节点DataNode存储路径,
指定副本数量。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
vi hdfs-site.xml



dfs.namenode.name.dir
/opt/dfs/name


dfs.datanode.data.dir
/opt/dfs/data


dfs.replication
2


复制模板文件

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

编辑mapred-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
vi mapred-site.xml


mapred.job.tracker
master:9001


mapreduce.framework.name
yarn


mapreduce.jobhistory.address
master:10020


编辑yarn-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vi yarn-site.xml


yarn.resourcemanager.hostname
master


yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.log-aggregation-enable
true

编辑slaves,指定谁是小弟

vi slaves

删除原来的localhost加入
slave0
slave1

默认没有masters文件,创建masters文件

touch masters

编辑masters文件,文件中加入指定老大的节点

vi masters

加入:
master

传输配置文件给slave0,slave1

Master:

1
2
3
cd /opt/hadoop-2.6.4/etc/hadoop
scp -r ./* root@slave1:/opt/hadoop-2.6.4/etc/hadoop/
scp -r ./* root@slave0:/opt/hadoop-2.6.4/etc/hadoop/

格式化分布式文件

hdfs namenode -format

启动集群:

/opt/hadoop-2.6.4/sbin/start-dfs.sh

检测是否启动成功分布式文件系统:

Master:

jps

发现有NameNode、还有SecondaryNameNode说明Master中名称节点启动成功

slave0,slave1:
jps
发现有DataNode说明slave机器数据节点启动成功

windows浏览器中检测 192.168.31.128:50070 中的DataNodes中有slave0,slave1两个子节点说明OK

启动yarn

/opt/hadoop-2.6.4/sbin/start-yarn.sh

检测:

Master:
jps
发现有resourceManager说明master OK

slave0,slave1:
jps
发现有NodeManager说明slave机器启动OK

失败常用解决方案::
1.暴力点方案

Master:

1
2
/opt/hadoop-2.6.4/sbin/stop-yarn.sh
/opt/hadoop-2.6.4/sbin/stop-dfs.sh

Master,slave0,slave1:
jps
(如果出了jps进程还有其他进程,
用【kill -9 进程号】 强制杀死多余的进程)

rm -rf /opt/dfs/*

Master:

1
2
hdfs namenode -format
/opt/hadoop-2.6.4/sbin/start-dfs.sh

master,slave0,slave1:
jps
发现在Master中有NameNode,SecondaryNameNode,在slave0,slave1发现有DataNode,说明启动成功,缺少任何一个说明失败。

Master:

/opt/hadoop-2.6.4/sbin/start-yarn.sh

master,slave0,slave1:
jps
发现在Master中有resourceManager,在slave0,slave1发现有
NodeManager,说明启动成功,缺少任何一个说明失败。

分布式存储—-分布式计算 MapReduce
1.CentOS7安装Mysql:
1
2
3
4
5
cd /opt/
sudo yum install wget
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
sudo yum install mysql-community-server

上述命令会安装以下包:

  • apparmor
  • mysql-client-5.7
  • mysql-common
  • mysql-server
  • mysql-server-5.7
  • mysql-server-core-5.7

启动和关闭mysql服务器:

1
2
service mysql start
service mysql stop

确认是否启动成功,mysql节点处于LISTEN状态表示启动成功:

sudo netstat -tap | grep mysql

出现LISTEN说明启动成功

进入mysql shell界面:
mysql -u root -p

2.Mysql常用命令:

解决利用sqoop导入MySQL中文乱码的问题(可以插入中文,但不能用sqoop导入中文)

导致导入时中文乱码的原因是character_set_server默认设置是latin1

说明 命令
显示编码格式 show variables like “char%”;
修改编码格式 set character_set_server=utf8;
显示数据库 show databases;
使用数据库 user mysql;
显示数据库 show tables;
显示数据表结构 describe user;
显示表中的记录 select * from 表名
创建数据库 create database aaa;
使用数据库 use aaa;
创建表 personcreate table person(id int(3) auto_increment not null primary key,xm varchar(10),xb varchar(2),csny date);
插入一条数据 insert into person values(null,’zhangsan’,’m’,’2018-8-24’);
查询出person表中所有的数据 select * from person;
修改xm=lisi的csny字段 update person set csny=’2018-08-22’ where xm=’lisi’;
删除张三那条数据 delete from person where xm=’zhangsan’;
删除表 show tables;drop table person;
删除数据库 show databases;drop database aaa;
显示mysql数据库版本 show variables like ‘version’;select version();
3.安装Hive
3.1

首先上传apache-hive-1.2.1-bin.tar.gz到master的/opt/目录下

master:
cd /opt/

解压到指定/opt文件夹下
sudo tar -zxvf apache-hive-1.2.1-bin.tar.gz

重命名apache-hive-1.2.1-bin为hive
sudo mv apache-hive-1.2.1-bin hive

3.2:配置环境变量

vi ~/.bashrc

在文件末尾加入:

1
2
export HIVE_HOME=/opt/hive
export PATH=$PATH:$HIVE_HOME/bin

生效配置文件
source ~/.bashrc

3.3

修改/opt/hive/conf下的hive-site.xml,将hive原来自带的derby改成mysql

cd /opt/hive/conf

重命名
mv hive-default.xml.template hive-default.xml

编辑hive-site.xml
vi hive-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24




javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore


javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore


javax.jdo.option.ConnectionUserName
hive
username to use against metastore database


javax.jdo.option.ConnectionPassword
hive
password to use against metastore database


3.4:启动mysql数据库,新建hive数据库

mysql -u root -p
show databases;

新建一个Hive数据库,这个Hive数据库与hive-site.xml文件中//localhost:3306/hive的hive对应,用来保存hive元数据信息

create database hive;

3.5:配置mysql允许hive接入

将所有数据库的所有表的所有权限都赋给hive用户,后面的hive适配hive-site.xml中配置的连接密码

grant all on *.* to hive@localhost identified by 'hive';

刷新mysql系统权限关系表

flush privileges;

3.6:启动Hive

在启动Hive之前,先启动hadoop集群,但是咱们现在装的是伪分布式的hive配置,所以先将集群改成伪分布式:

停掉之前的分布式集群

master:

cd /opt/hadoop-2.6.4/sbin/

./stop-all.sh(封装了stop-yarn.sh和stop-dfs.sh)

jps (保证只剩下一个jps进程)

1
2
3
4
5
cd /opt/dfs/
rm -rf *
hdfs namenode -format
cd /opt/hadoop-2.6.4/sbin/
./start-dfs.sh

jps(查看出来NameNode,DataNode, SecondaryNameNode)

cd /opt/hive/bin

启动Hive

./hive

hive常用HiveQL操作
说明 命令
创建数据库 create database if not exists hive;
显示hive中包含的数据库 show databases;
显示hive中以h开头的数据库 show databases like ‘h.*’;
使用hive数据库 use hive;
删除不包含表的数据库 drop database if exists hive;
删除数据库和它包含的表 drop database if exists hive cascade;
  • 本文作者: Mr.Zhao
  • 本文链接: https://wesukilayezcy.github.io/2019/08/01/大数据学习-Day4/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
大数据
大数据学习 Day3
大数据学习 Day5
-------------本文结束感谢您的阅读-------------
  • 文章目录
  • 站点概览
Wesukilaye

Wesukilaye

熟练使用iOS Objective-c,Swift. 了解Python爬取网络数据,深入研究移动端开发,目前正在学习Flutter
23 日志
4 分类
16 标签
RSS
GitHub E-Mail bilibili
Links
  • Jacksu
  1. 1. 1.配置伪分布式yarn:
  2. 2. 2.HDFS常用命令:
  3. 3. 3.停止伪分布式:
  4. 4. 4.配置分布式集群:
  5. 5. 失败常用解决方案::
  6. 6. 1.暴力点方案
  7. 7. 分布式存储—-分布式计算 MapReduce
    1. 7.1. 1.CentOS7安装Mysql:
  8. 8. 2.Mysql常用命令:
  9. 9. 3.安装Hive
    1. 9.1. 3.1
    2. 9.2. 3.2:配置环境变量
    3. 9.3. 3.3
    4. 9.4. 3.4:启动mysql数据库,新建hive数据库
    5. 9.5. 3.5:配置mysql允许hive接入
    6. 9.6. 3.6:启动Hive
  10. 10. hive常用HiveQL操作
© 2019 Wesukilaye | 62k | 57 分钟
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Pisces v7.3.0