Hadoop 理解与运用(一)

大数据的生态系统

1.存储
  Hadoop hdfs
2.计算引擎
  map/reduce v1
  map/reduce v2(map/reduce on yarn)
Tez
spark
3.Impala Presto Drill 直接跑在hdfs上
pig(脚本方式)hive(SQL语言)跑在map/reduce上
hive on tez/sparkSQL
4.流式计算-storm
5.kv store cassandra mongodb hbase
6. Tensorflow Mahout
7.Zookeeper Protobuf
8. sqoop kafka flume.....
image.png

一、安装Hadoop

(先在本机上安装Hadoop ,解压的即是安装。)

1、安装VirtualBox
2、安装完成后新建虚拟机名称为master
3、设定VirtualBox虚拟网卡的IP地址:
先设置虚拟机中的网络设置
在虚拟机中选用host-only网络模式
然后进入Linux界面进行IP地址配置:

vi /etc/sysconfig/network-sripts/ifcfg-enp0s3 
TYPE=Ethernet
IPADDR=192.168.56.100
NETMASK=255.255.255.0

修改Linux主机名:(主机名千万不能有下划线!)

hostnamectl set-hostname master

4、重启网络(使网卡生效)service network restart
互相ping,看是否测试成功,若不成功,注意防火墙的影响。关闭windows或虚拟机的防火墙。systemctl stop firewalld system disable firewalld
使用XShell登陆
检查ssh服务状态

systemctl status sshd (service sshd status)

5、验证使用XShell是否能登陆成功。
将hadoop和jdk上传到虚拟机(用xftp5上传)
在Linux中安装

JDK rpm -ivh ./xxxxx.jdk

6、验证

rpm -qa | grep jdk

7、在命令行中敲java命令,确认jdk已经安装完成
(jdk默认安装在/usr/java目录下)
8、在Linux中安装hadoop

cd /usr/local(到存放Hadoop目录下准备解压)
tar –xvf ./hadoop-2.7.2.tar.gz

9、把目录修改为:

hadoop mv hadoop-2.7.2 hadoop(方便今后操作)

10、修改

hadoop-env.sh(配置Hadoop运行环境)
vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh

11、修改export JAVA_HOME (为了Java能够找到执行的命令)

 export JAVA_HOME=/usr/java/default

12、把/usr/hadoop/bin和/usr/hadoop/sbin设到PATH中

vi /etc/profile

追加

export PATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin(为了能让系统找到并使用Hadoop命令)
source etc/profile(让配置文件生效)

测试hadoop命令是否可以直接执行,任意目录下敲hadoop
关闭master虚拟机并复制3份master虚拟机
分别修改3份虚拟机的ip和hostname,确认互相能够ping通,用ssh登陆,同时修改所有虚拟机的/etc/hosts,确认使用名字可以ping通

二、Hadoop测试

1、下面搭建Hadoop集群
首先配置core-site文件

cd /usr/local/hadoop/etc/hadoop
vim core-site.xml(配置所有datanode的管理者信息)
<property>
      <name>fs.defaultFS</name>
      <value>hdfs://master:9000</value>
</property>

(然后将上面的配置文件分发到各个datanode,目的是让各个datanode知道自己 的管理者是谁)
2、启动集群
1)在master上启动

hadoop-daemon.sh start namenode

2)在slave上启动

hadoop-daemon.sh start datanode

3)用jps指令观察执行结果
4)用hdfs dfsadmin -report观察集群配置情况
5)通过http://192.168.56.100:50070到web界面观察集群运行情况
6)用hadoop-daemon.sh stop ...手工关闭集群
3、对集群进行集中管理(避免每次对每个机器进行手动启动)
1)修改master上文件

vi /etc/hadoop/slaves
slave1
slave2
slave3

2)使用start-dfs.sh启动集群,并观察结果
3)使用stop-dfs.sh停止集群
4)配置免密SSH远程登陆(此时需要密码才能登陆)

ssh slave1
输入密码
exit
修改每次远程登录的密码问题
cd
ls -la
cd .ssh
ssh-keygen -t rsa (四个回车)

会用rsa算法生成私钥id_rsa和公钥id_rsa.pub
(id_rsa 标志root的私钥)
ssh-copy-id slave1/2/3
(把公钥拷贝到slave上面,以后远程登录slave就用公钥去解开root的私钥)
再次ssh slave1
(此时已经不再需要密码)

5)重新使用start-dfs.sh启动集群
5、修改windows机上C:\Windows\System32\drivers\etc\hosts文件,可以通过名字访问集群web界面

192.168.56.100 master

6、使用hdfs dfs 或者hadoop fs命令对文件进行增删改查的操作

1)hadoop fs -ls /       查看Hadoop根目录下的文件
2)hadoop fs -put file /    把Linux本地的file文件丢到Hadoop的根目录下 
3)hadoop fs -mkdir /dirname   在Hadoop下新建dirname目录 
4)hadoop fs -text /filename        查看filename文件内容
5)hadoop fs -rm /filename          删除filename文件

7、通过网页观察文件情况
8、将hdfs-site.xml的replication值设为2,通过网页观察分块情况

vi hdfs-site.xml
<property>
     <name>dfs.replication</name>
     <value>2</value>
</property>

9、设定dfs.namenode.heartbeat.recheck-interval为10000,然后停掉其中一台slave,观察自动复制情况
(服务器会默认5分钟自动检测机器的运行情况,如果一台机器done掉,系统会让其他机器去替代那个done掉的机器,把那个机器的文件备份到其他的机器上,这里把检测的时间设置为10秒。)
10、启动停掉的slave节点,通过网页观察datanode的动态添加
11、添加新的节点,体会hadoop的横向扩展

1)启动slave4,关闭防火墙,修改hostname
2)修改etc/hosts,加入对自己以及其他机器的解析,重启网络
3)在master中设定对于slave4的解析
4)启动slave4的datanode,通过网页进行观察
5)hdfs dfsadmin –shutdownDatanode slave4:50020

(通过java程序访问hdfs,就把HDFS集群当成一个大的系统磁盘就行了!)
12、使用FileSystem类解决问题

                Configuration conf = new Configuration();
                conf.set("fs.defaultFS", "hdfs://192.168.56.100:9000");
                FileSystem fileSystem = FileSystem.get(conf);
                
                boolean b = fileSystem.exists(new Path("/hello"));
                System.out.println(b);
                
                boolean success = fileSystem.mkdirs(new Path("/mashibing"));
                System.out.println(success);
                
                success = fileSystem.delete(new Path("/mashibing"), true);
                System.out.println(success);
                
                FSDataOutputStream out = fileSystem.create(new Path("/test.data"), true);
                FileInputStream fis = new FileInputStream("c:/test/core-site.xml");
                IOUtils.copyBytes(fis, out, 4096, true);
                
                FileStatus[] statuses = fileSystem.listStatus(new Path("/"));
                //System.out.println(statuses.length);
                for(FileStatus status : statuses) {
                    System.out.println(status.getPath());
                    System.out.println(status.getPermission());
                    System.out.println(status.getReplication());
                }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,440评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,814评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,427评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,710评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,625评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,014评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,511评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,162评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,311评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,262评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,278评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,989评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,583评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,664评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,904评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,274评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,856评论 2 339

推荐阅读更多精彩内容

  • 文/胡晨川我是Linux外行,hadoop外行,java更外行,Scala听也没听过,在我脑海中,Spark一直只...
    老树之见阅读 5,820评论 3 39
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录-[-]1 先决条件2 实验环境搭建 21 准备工...
    三三At你阅读 820评论 0 3
  • 之前的有点忘记了,这里在云笔记拿出来再玩玩.看不懂的可以留言 大家可以尝试下Ambari来配置Hadoop的相关环...
    HT_Jonson阅读 2,933评论 0 50
  • 今天看到了你 比现在的自己年长几岁 看起来很舒服,我喜欢的模样 独立,乐观,智慧,健康,热爱生活 就好像看到了未来...
    初始化吧阅读 227评论 0 4
  • 是记忆醒了 不是梦 是感情的潮水 流淌在天地间 是毒草毒着柔肠 穿过生命的墙 是村落和村落之间 的炊烟飘荡 是洁白...
    江城妖怪阅读 208评论 0 0