System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,特别是涉及一种hadoop支持ipv6环境的方法和装置。
技术介绍
1、近年来,因特网在全世界得到飞速的发展,但随着因特网的高速发展,现有的互联网通信协议第四版(internet protocol version 4,简称为:ipv4)技术本身的问题逐步暴露出来,其中最显著的问题在于网络地址资源不足,制约了互联网的应用和发展,为了适应市场对因特网的需要,因特网标准的制订机构一一因特网工程任务组在上世纪90年代中期起就在制订下一代因特网的标准新一代因特网协议标准为互联网通信协议第六版(internet protocol version 6,简称为:ipv6),ipv6对ipv4进行了不少的改进,如采用128位地址,采用扩展报头,采用了安全处理等,从而解决了网络地址资源数量不足的问题。
2、随着目前大数据需求分析处理愈演愈烈,当前越来越需要借助大量的分布式处理软件来进行协同分析处理,从而提高大数据分析的计算效率。hadoop作为开源的分布式处理软件框架,以独特的方式对数据进行快速、高可用、可伸缩的处理,在大数据处理过程中起着极其重要的作用。但当前所有版本的hadoop均只支持在ipv4环境下使用,无法支持在ipv6环境下使用。
3、鉴于此,克服该现有技术所存在的缺陷是本
亟待解决的问题。
技术实现思路
1、本专利技术要解决的技术问题是当前所有版本的hadoop均只支持在ipv4环境下使用,无法支持在ipv6环境下使用。
3、本专利技术采用如下技术方案:
4、第一方面,本专利技术提供了一种hadoop支持ipv6环境的方法,方法包括:
5、修改hdfs-core.xml配置文件,以打开hadoop的使用主机名称进行网络连接的功能;
6、使用getxferaddrwithhostname()函数获取主机的主机名称;将所述主机地址传递到createsocketaddr()函数中,得到inetsocketaddress对象,使用所述inetsocketaddress对象与所述主机建立socket连接;
7、其中,所述createsocketaddr()函数中调用getipaddressbyhostname()函数,以根据所述主机名称获取主机地址,预先修改hadoop common模块的netutils.java中的createsocketaddr()函数,使createsocketaddr()函数支持对ipv6类型的主机地址的解析,得到ipv6地址和端口号,并根据所述ipv6地址和端口号生成inetsocketaddress对象。
8、优选的,所述修改hdfs-core.xml配置文件,以打开hadoop的使用主机名称进行网络连接的功能,具体包括:
9、在hdfs-core.xml配置文件中添加配置参数dfs.client.use.datanode.hostname,将配置参数dfs.client.use.datanode.hostname的值设置为true,在hdfs-core.xml配置文件中添加配置参数dfs.datanode.use.datanode.hostname,将配置参数dfs.datanode.use.datanode.hostname的值设置为true。
10、优选的,所述修改hadoop common模块的netutils.java中的createsocketaddr()函数,使createsocketaddr()函数支持对ipv6类型的主机地址的解析,得到ipv6地址和端口号,并根据所述ipv6地址和端口号生成inetsocketaddress对象,具体包括:
11、找到所述主机地址中第一预设字符串所在的第一位置,和最后一个第二预设字符串所在的第二位置;其中,所述第一预设字符串为冒号接两个正斜杠,所述第二预设字符串为冒号;
12、在所述第一位置之后添加第一预设标识符,在所述第二位置之前添加第二预设标识符,得到ipv6类型的url地址,根据所述ipv6类型的url地址,生成inetsocketaddress对象;其中,所述第一预设标识符为左方括号,所述第二预设标识符为右方括号;所述url地址中,第一预设标识符与第二预设标识符之间的字符串为ipv6地址,在第二位置之后的字符串为端口号。
13、优选的,所述方法还包括gphdfs使用hadoop命令执行hadoop的各功能,具体包括:
14、预先将hadoop文件放置到系统的bin文件目录下,以在系统中安装hadoop命令包;其中,所述hadoop文件包括hadoop的客户端程序和hadoop的配置文件;
15、在执行相应hadoop功能时,按照预设规则生成相应hadoop命令,新建一个进程,使用所述进程执行所述hadoop命令。
16、优选的,当执行的相应hadoop功能为获取相应数据时,在所述按照预设规则生成相应hadoop命令后,所述方法还包括:
17、在所述hadoop命令后添加预设过滤命令,以对所述hadoop命令的执行结果进行过滤;其中,所述预设过滤命令为“grep 预设id”;
18、使用getinputstream()获取所述进程的输入流,使用inputstreamreader对象读取所述进程的输入流,并使用bufferedreader对象将读取得到的所述进程的输入流转换为字符流,得到经过滤后的所述hadoop命令的执行结果。
19、优选的,将数据放置在预设文件夹下,以所述预设文件夹的文件夹名称作为所述预设id。
20、优选的,所述方法还包括:
21、预先将多厂商和/或多版本的hadoop文件放置到系统的bin文件目录下;
22、使用配置文件和配置脚本对系统所需使用的hadoop命令包的厂商和版本进行管理,以实现gphdfs对多厂商和/或多版本的hadoop的兼容。
23、优选的,所述配置文件包括多个配置参数,每个配置参数为相应厂商和/或相应版本的hadoop文件的文件名称;其中,不同厂商和不同版本的hadoop文件具有不同的文件名称;
24、将系统所需使用的hadoop命令包所对应配置参数的值设置为true,其他配置参数的值设置为false。
25、优选的,在系统拉起hadoop之前,预先执行所述配置脚本;
26、所述配置脚本读取所述配置文件,获取系统所需使用的hadoop命令包所对应的目标文件名称,将系统的bin文件夹下,对所述目标文件名称所对应的目标文件进行复制,得到新的目标文件,将所述新的目标文件的文件名称修改为hadoop命令的默认名称。
27、第二方面,本专利技术还提本文档来自技高网...
【技术保护点】
1.一种Hadoop支持IPv6环境的方法,其特征在于,方法包括:
2.根据权利要求1所述的Hadoop支持IPv6环境的方法,其特征在于,所述修改hdfs-core.xml配置文件,以打开Hadoop的使用主机名称进行网络连接的功能,具体包括:
3.根据权利要求1所述的Hadoop支持IPv6环境的方法,其特征在于,所述修改HadoopCommon模块的NetUtils.java中的createSocketAddr()函数,使createSocketAddr()函数支持对IPv6类型的主机地址的解析,得到IPv6地址和端口号,并根据所述IPv6地址和端口号生成InetSocketAddress对象,具体包括:
4.根据权利要求1所述的Hadoop支持IPv6环境的方法,其特征在于,所述方法还包括gphdfs使用Hadoop命令执行Hadoop的各功能,具体包括:
5.根据权利要求4所述的Hadoop支持IPv6环境的方法,其特征在于,当执行的相应Hadoop功能为获取相应数据时,在所述按照预设规则生成相应Hadoop命令后,所述方
6.根据权利要求5所述的Hadoop支持IPv6环境的方法,其特征在于,将数据放置在预设文件夹下,以所述预设文件夹的文件夹名称作为所述预设id。
7.根据权利要求4所述的Hadoop支持IPv6环境的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的Hadoop支持IPv6环境的方法,其特征在于,所述配置文件包括多个配置参数,每个配置参数为相应厂商和/或相应版本的Hadoop文件的文件名称;其中,不同厂商和不同版本的Hadoop文件具有不同的文件名称;
9.根据权利要求8所述的Hadoop支持IPv6环境的方法,其特征在于,在系统拉起Hadoop之前,预先执行所述配置脚本;
10.一种Hadoop支持IPv6环境的装置,其特征在于,包括:
...【技术特征摘要】
1.一种hadoop支持ipv6环境的方法,其特征在于,方法包括:
2.根据权利要求1所述的hadoop支持ipv6环境的方法,其特征在于,所述修改hdfs-core.xml配置文件,以打开hadoop的使用主机名称进行网络连接的功能,具体包括:
3.根据权利要求1所述的hadoop支持ipv6环境的方法,其特征在于,所述修改hadoopcommon模块的netutils.java中的createsocketaddr()函数,使createsocketaddr()函数支持对ipv6类型的主机地址的解析,得到ipv6地址和端口号,并根据所述ipv6地址和端口号生成inetsocketaddress对象,具体包括:
4.根据权利要求1所述的hadoop支持ipv6环境的方法,其特征在于,所述方法还包括gphdfs使用hadoop命令执行hadoop的各功能,具体包括:
5.根据权利要求4所述的hadoop支...
【专利技术属性】
技术研发人员:王化民,王志杰,汤敏娟,
申请(专利权)人:武汉绿色网络信息服务有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。