Hadoop学习(一)

Ubuntu基本操作

这是一些基本的命令!其实在hadoop文件系统中的命令大部分是相似的。

快捷键

ubuntu从桌面模式切换到文本模式:(文本模式)ctrl +alt+ F6,(图形模式)ctr
l +alt +F6

常用命令

基本命令,我们增加了如下几点新功能,帮助你用它写博客:

  1. pwd 用作显示工作目录的路径名称;
  2. whoami 查看当前有效用户名的命令;
  3. ifconfig 显示或配置网络设备(网络接口卡)的命令;
  4. mkdir,rm,cp,mv,touch
  5. echo显示结果,或者字符串,可以与从定向使用;
  6. redirect: >与>> 重定向 > 表示覆盖文件内容,而>>表示追加到文件后;
  7. cat,less,more,head,tail, 等;
  8. find /usr/local | grep xxx 查找文件 |代表前面的输入作为结果传到后面grep作为过滤器。
  9. tar - xvzf,gzip,gunzip 解压 压缩文件。
  10. jps查看java的运行进程

目录与权限

目录

  1. / 根目录;
  2. /bin ,/sbin 可执行文件;
  3. /boot 引导;
  4. /etc放置配置文件 ;
  5. /mnt挂载文件;
  6. /home 主目录;
  7. /usr放自己的文件(解压后的文件)
  8. 输入 ls -al 会看到 :
文件类型
ddirectory
-file
bblock
llink(相当于快捷方式)

权限

user(u:文件拥有者),Group(g:拥有者算在的组),other(o:其他的身份),**a(all)**所有身份
r:read w:write, x:execute, -:none,

typeusergroupother
drwxrwxrwx
权限421421421

权限修改:
chmod u+w xxx
chmod 777 xxx

软件包的操作

国内软件包源一般选取清华或者163等

修改下面的配置文件163

sudo vim /etc/apt/sources.list
sudo apt-get update
sudo apt-get upgrade

软件包的常用命令(下载 查找 卸载,删除)

sudo apt-get install xxx
sudo apt-cache search xxx
sudo apt-get remove xxx
sudo apt-get purge xxx
sudo dpkg -l |grep  xxx
安装deb软件包 dpkg -i xxx.deb
删除软件包 dpkg -r xxx.deb
连同配置文件一起删除 dpkg -r --purge xxx.deb
查看软件包信息 dpkg -info xxx.deb
查看文件拷贝详情 dpkg -L xxx.deb
查看系统中已安装软件包信息 dpkg -l
重新配置软件包 dpkg-reconfigure xxx

本地软件源制作

sudo apt-get install dpkg-dev
mkdir ~/software
cp -R -v /var/cache/apt/archives/* ~/software
sudo dpkg-scanpackages ~/software /dev/null | gzip>~/software/Packages.gz
复制整个software文件夹到host主机
安装新ubuntu客户机
从host复制software文件夹到主目录下
编辑/etc/apt/source.list文件
       deb file:/home/ubuntu/software ./

Hadoop安装

JDK,hadoop安装配置

jdk下载(oracle),安装,配置(注意)
配置的时候最好在 /etc/enviroment 中配置

JAVA_HOME='/usr/soft/jdkxxx'
PATH=""XXXXXX:/usr/soft/jdkxxx/bin"
source enviroment
java -version

hadoop 下载(apache),安装download,在 /etc/enviroment 中配置,此处不设置HADOOP_HOME是因为HADOOP_HOME在运行过程是不断变化的。

HADOOP_INSTALL="/usr/soft/hadoop-3.2.0"
PATH="XXXXX:/usr/soft/hadoop-3.2.0/bin:/usr/soft/hadoop-3.2.0/sbin"

hadoop 基础与配置

处理海量数据

  1. 存储:分布式文件系统(HDFS)
  2. 运算 mapreduce <map() + reduce>

节点的设计:
一个HDFS集群上可能包含成千上万个DataNode节点,这些DataNode定时和NameNode通信,接受NameNode的指令.为了减轻NameNode的负担,NameNode上并不永久保存那个DataNode上的那些数据块的信息,而是通过DataNode启动时的上报,来更新NameNode上的隐射表.

  1. NameNode:(名称节点)在其本地磁盘上保存为文件(持久化),就是目录
  2. DataNode:(数据节点)列表,在此处存放数据

DataNode和NameNode 建立以后,就会不断地和NameNode保持一致,但是NameNode不会发起到DataNode的请求,在这个通信中,它们是严格按照 客户端/服务器架构.当然DataNode也作为服务器接受来自客户端的访问,处理数据块的读/写请求,而且DataNode之间也会相互通信,执行数据块的复制任务,当客户端在写操作的时候,DataNode需要相互配合,保证写操作的一致性.

三种模式

  1. 独立模式
    没有运行的守护程序,说有程序在一个JVM中运行.适合开发期间运行MapReduce程序,源于他的易于测试与调试.
  2. 伪分布模式(完全分布模式的特例)
    守护程序在本地主机,模拟一个小规模集群.
  3. 完全分布式模式
    守护程序运行在多个主机上的集群.
独立模式配置
  1. Nothing!(不需要配置)
  2. local FileSystemLocal MR job runner 仅仅用的本地的文件系统
伪分布模式配置

两种方法/usr/soft/hadoop-3.2.0/etc/hadoop:
在配置之前最好重新复制一份hadoop配置文件(下文的hadoop_pseudo)

配置脚本
  1. core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://localhost/</value>
	</property>
</configuration>
  1. hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
</configuration>
  1. yarn-site.xml(资源管理框架)
<?xml version="1.0"?>
<configuration>
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>localhost</value>
	</property>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
</configuration>
  1. mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>
配置SSH

配置ssh是为了每次名称节点访问数据节点的时候都要输入口令提示

sudo apt-get install ssh
ssh-keygen -t rsa -P " -f ~/.ssh/id_rsa
cat id_rsa.pub >> ~/.ssh/authorized_keys
ssh localhost 
exit(最好登出)
格式化HDFS系统

格式化文件系统

hadoop namenode -format

指定配置目录(hadoop.pseudo是etc/hadoop的拷贝文件)

  1. set HADOOP_CONF_DIR 环境变量
    最好是设置环境变量的方法要不然每次都得按第二种设置
export HADOOP_CONF_DIR=$HADOOP_INSTALL/etc/hadoop_pseudo
  1. 设置 - -config 配置参数
    启动守护进程
start-dfs.sh --config $HADOOP_INSTALL/etc/hadoop_pseudo
start-yarn.sh --config $HADOOP_INSTALL/etc/hadoop_pseudo
或者
start-all.sh --config $HADOOP_INSTALL/etc/hadoop_pseudo

输入jsp 可以查询是否有多个进程,若有如下图所示则启动成功或者web页面查看
在这里插入图片描述

[nn] http://localhost:500070/
[rm] http://localhost:8088/
[hs] http://localhost:19888/

关闭守护进程

stop-yarn.sh
stop-dfs.sh

查看hadoop下的目录

hadoop fs -ls /

可以尝试在hadoop下创建文件

hadoop fs -mkdir /user/
完全分布模式配置(在s0上配置,拷贝到其它虚拟机上)

但是上两种配置方式还有缺陷,建立Hadoop的快捷连接方式
在这里插入图片描述
补充:符号连接=windos的快捷方式(ln -s hadoop_cluster hadoop)
硬连接:hard link,磁盘上的两个相同的文件或者是相同的目录,实时同步的.

我们在虚拟机上克隆几个相同的ubuntu环境,然后修改每个虚拟机上的/etc/hosts,

127.0.0.1	localhost
127.0.1.1	wwk-Aspire-V3-572G
192.168.210.140   s0
192.168.210.141   s1
192.168.210.142   s2
192.168.210.143   s3

把hosts 远程拷贝到各个虚拟机上

sudo scp /etc/hosts root@192.168.210.141:/etc/hosts

然后与伪分布的配置方法一样/usr/soft/hadoop-3.2.0/etc/hadoop_cluster
网络拓扑图:
在这里插入图片描述

  1. core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://s0/</value>
	</property>
</configuration>
  1. hdfs-site.xml (2代表s1,s2)
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<property>
		<name>dfs.replication</name>
		<value>2</value>
	</property>
</configuration>
  1. yarn-site.xml(资源管理框架)
<?xml version="1.0"?>
<configuration>
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>s0</value>
	</property>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
</configuration>
  1. mapred-site.xml 的配置不变

但是并不知道配置的数据节点是哪两个,需要配置/usr/soft/hadoop-3.2.0/etc/hadoop_cluster/slaves文件

s1
s2

注意:s0的所有文件必须拷贝到所有其他的节点上

scp -r hadoop_cluster ubuntu@s1:/usr/soft/hadoop-3.2.0/etc/
scp -r hadoop_cluster ubuntu@s2:/usr/soft/hadoop-3.2.0/etc/
scp -r hadoop_cluster ubuntu@s3:/usr/soft/hadoop-3.2.0/etc/

启动方式与伪分布式一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值