Java操作HDFS分布式文件存储?我来教你Java可视化操作大数据分析!

在这里插入图片描述

hello,各位小伙伴,好久不见,甚是想念啊,博主开学了,最近也是乱忙一通,抽个空闲暇之余,我来教大家使用Java实现HDFS大数据分析工具,好玩又有趣,快来看看吧!
(在此之前,请大家准备好Hadoop-2.7.4-jar,电脑已安装好hadoop环境,配置虚拟机三台样机,master,slave1,slave2,其实名字用啥无所谓啦,重点在需要在三台虚拟机内部搭建好ssh免密登陆访问,可以使用普通用户身份去完成,建议不要管理员,毕竟有风险。。。Linux系统任意-最佳centos6.8以上。安装好Java服务和hadoop服务,并配置好环境变量。)
开发工具选择的依旧是教学常用的Eclipse,其实我也喜欢用IDEA,但是出教程的话,个人还是比较钟意Eclipse,好了,废话不多说,我们直接进入实践操作。
来看看实际效果图:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

首先进入Hadoop环境搭建:为Hadoop分布式环境的搭建 准备一台虚拟机

在这里插入图片描述
*准备过程

1. 复制Linux安装文件centos6.5到D:\bigdata  (或解压缩包后再改文件夹名为centos6.5)
2. 在VMware Workstation Pro端打开D:\bigdata\centos6.5\master.vmx,添加虚拟机master
3. 虚拟机命名为master
4. 启动此虚拟机,选择我已移动此虚拟机(与原MAC地址相同),选择我已复制此虚拟机(生成新MAC地址)
5. #设置网络连接:虚拟机设置 网络适配器 自定义选择仅主机模式
   #查看MAC地址: 虚拟机设置 网络适配器 高级 复制MAC地址(备用)
   #查看IP地址:编辑 虚拟网络编辑器 查看类型为仅主机模式的子网地址192.168.109.0
   #窗口切换:ctrl+G/ctrl+alt
6. 登录
  master login: root
  password:123456

Hadoop完全分布式环境搭建
在这里插入图片描述
一、安装节点NAMENODE

1.打开master.vmx
*******命名为MASTER/master
启动虚拟机时选择:我已移动此虚拟机
00:0C:29:0B:F4:EC
2.MAC地址、IP、网络配置
(1)vi /etc/udev/rules.d/70-persistent-net.rules#ESC键 :wq!保存-->修改mac地址
(2)vi /etc/sysconfig/network-scripts/ifcfg-eth0#修改IP地址为192.168.109.125
(3)vi /etc/sysconfig/network  #修改主机名master(slave1)和网关GATEWAY=192.168.109.1
(4)service network restart   #重启网络服务
(5)vi /etc/hosts
192.168.109.125 master
192.168.109.135 slave1
192.168.109.145 slave2
(6)service network restart    #重启网络服务   ##reboot #重启主机
(7)ifconfig	 #查看网络配置

3.SSH免密登录

1)vi /etc/ssh/sshd_config
		RSAAuthentication yes # 启用 RSA 认证
		PubkeyAuthentication yes # 启用公钥私钥配对认证方式
		AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径
(2)su - user #直接切换到user根目录下
(3)mkdir .ssh		#创建目录,为了放公钥文件
(4)chmod 700 ~/.ssh	#(ssh)文件夹的权限为700,谁建谁授权
(5)ssh-keygen -t rsa -P '' #执行免密登录(config生效,生成密钥对)
(6)ll -a           #查看
(7)cd .ssh    #切换目录到.ssh下
(8)cat id_rsa.pub >> authorized_keys		#将公钥写到文件authorized_keys中
(9)chmod 600 	authorized_keys	#权限设置为60010)su root #切换到root用户下
 (11)service sshd restart #启动ssh免密登录服务
 (12)su - user  #切换到user用户下
 (13)ssh master #或者ssh 192.168.109.125 ##本机自我免密登录

二、复制节点DATANODE

(关master再复制)
名:SLAVE1
开启虚拟机是选择:我已复制此虚拟机
重新网络配置
00:0C:29:85:D1:12
(1)vi /etc/udev/rules.d/70-persistent-net.rules   #查看mac地址
(2)vi /etc/sysconfig/network-scripts/ifcfg-eth0   #修改IP地址为92.168.109.135  ##DEVICE=eth0修改为eth1 ##将MAC地址删除 HWADDR= ****
(3)vi /etc/sysconfig/network  #修改主机名master(slave1)和网关GATEWAY=192.168.109.1
(4)service network restart   #重启网络服务
(5)service sshd restart #启动ssh免密登录服务
(6)su - user  #切换到user用户下

(7)ssh slave1 #或者ssh 192.168.109.135 ##本机自我免密登录

开启虚拟机master
在master机上做免密登录slave1
  ssh slave1
在slave1机上做免密登录master
  ssh master

三、复制节点DATANODE
(关slave1再复制)
名:SLAVE2
开启虚拟机时选择:我已复制此虚拟机
00:0C:29:51:B6:74

配置过程与slave1机器配置过程相同

ssh slave2
ssh master
ssh slave2
ssh slave1
ssh slave2

四、装远程访问端

1.NEW SESSION
2.Remote host:192.168.109.125
勾选 Specify username  点 按钮(create or manage credential)
3.点 按钮 new
  Name :  USER11
  Username : user
  Password : 123456
4. 双击  Session :192.168.109.125[USER11]
5. 相同方式创建slave1和slave2的远程SESSION

安装配置JDK(使用SSH工具xshell或者Mobaxterm)

1.拖拽安装包jdk-8u121-linux-x64.tar.gz到远程端当前文件夹下(/home/user)

 2.安装JDK包
   (1)tar -zxvf jdk-8u121-linux-x64.tar.gz       #解包 jdk1.8
   (2)mv jdk1.8.0_121 jdk	 #文件夹改名,便于版本升级更换
 3.配置环境变量
   (3)vi ~/.bashrc    #编辑,修改配置环境变量,注意:行前不要有空格!
#set java environment
export JAVA_HOME=/home/user/jdk
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

4.配置生效

  (4)source ~/.bashrc

5.测试JDK是否安装成功

  (5)javac   # 或者 which java   

二、配置Hadoop完全分布式
1.拖拽安装包hadoop-2.6.1.tar.gz到远程端当前文件夹下(/home/user)
2.安装hadoop

  (1)tar -zxvf hadoop-2.6.1.tar.gz			#解hadoop包
  (2)mv hadoop-2.6.1 hadoop				#vi/hadoop/config#老版

3.配置完全分布式

  (3)cd hadoop/etc/hadoop/				#xml文件全部是配置文件
  (4)vi hadoop-env.sh				 	#修改JAVA_HOME
 
export JAVA_HOME=/home/user/jdk
  (5)vi core-site.xml				 	#留端口,让外部访问我
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:8020</value>	
    </property>
   #默认是9000,经验:hive中对接用的是8020端口,配置为9000时出错

(6)vi hdfs-site.xml

 <property>
     <name>dfs.replication</name>	#备份几份(1份)
     <value>1</value>
   </property>
   <property>
    <name>dfs.namenode.name.dir</name>   #主节点上的信息,切完之后具体信息存放在什么位置上
    <value>/home/user/hadoop
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

fntp

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

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

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

打赏作者

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

抵扣说明:

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

余额充值