【Hadoop】Build and Run HDFS

2019-03-28 13:49|来源: 网络

今天再一次配置HDFS,决定记录下来以备不时之需。

首先你的电脑需要安装上java JDK 1.6 这一步就不解释了,网上太多资料

安装ant

http://ant.apache.org/bindownload.cgi ant 官网地址可以直接下载,使用命令:

wget http://archive.apache.org/dist/ant/binaries/apache-ant-1.8.2-bin.tar.gz

解压文件到当前目录: tar zxvf apache-ant-1.8.2-bin.tar.gz

移动ant目录到你想要安装的目录,我用的/usr/local: sudo mv apache-ant-1.8.2 /usr/local/

为了方便后续环境变量的设置,我用了一个软链:ln -s apache-ant-1.8.2 ant

然后配置环境变量:sudo vim /etc/profile

在最后添加语句:export ANT_HOME=/usr/local/ant

export PATH=$ANT_HOME/bin:$PATH

重新启动profile:source /etc/profile

测试ant是否安装成功:ant -version

安装maven

http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0.4-bin.tar.gz 官网下载maven安装包

wget http://apache.communilink.net/maven/binaries/apache-maven-3.0.4-bin.tar.gz

解压文件到当前目录: tar zxvf apache-maven-3.0.4-bin.tar.gz

移动maven目录到你想要安装的目录,同上: sudo mv apache-maven-3.0.4 /usr/local/

同上我用了一个软链:ln -s apache-maven-3.0.4 maven

然后配置环境变量:sudo vim /etc/profile

在最后添加语句:export M2_HOME=/usr/local/maven

export M2=$M2_HOME/bin

可选配置:export MAVEN_OPTS="-Xms256m -Xmx512m"

export PATH=$M2:$PATH

重新启动profile:source /etc/profile

测试maven是否安装成功:mvn -version

安装protobuf

参考上面的方法下载protobuf:http://code.google.com/p/protobuf/

wget http://protobuf.googlecode.com/files/protobuf-2.4.1.tar.gz

解压到当前文件夹: tar zxvf protobuf-2.4.1.tar.gz

cd protobuf-2.4.1

./configure

make

sudo make install

cd java

mvn install

protoc  // 如果出现“Missing input files” 表示安装成功

// 我运行后出现了“protoc: error while loading shared libraries: libprotobuf.so.7: cannot .....” 的错误,根据Hadoop的安装文档了解到这是linux的常见错误,只需要在命令行中执行:sudo ldconfig 即可。

详情参考:http://wiki.apache.org/hadoop/HowToContribute

Hadoop源码下载

Hadoop源码的下载地址为:  http://mirrors.devlib.org/apache/hadoop/core/

下载源码的时候选择下载src的,而不是binary的压缩包

下载完成后解压文件,然后进入src中,执行命令:mvn clean package -Pdist -DskipTests

可以根据需要build,具体查看BUILD文件,里边详述了build的不同功能需要安装的文件,我这边是需要越简单越好。

到目前为止就build好了hadoop,剩下的就是配置hadoop并使之运行

更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

相关问答

更多
  • hadoop hdfs的问题[2021-10-30]

    最下面那张图里环境变量设置的那一行多了一个$符号 export JAVA_HOME=/usr/java/jdk1.6.0_35
  • 我遇到过类似的问题(小文件 - 作品,大文件 - 不)。 问题是我已经连接到主设备,但没有连接到从设备。 就我而言,我只是在/etc/hosts添加了有关从节点的条目 I have encountered similar problem (small files - works, big files - does not). The problem was that I had configured connection to master, but hadn't the connection to sla ...
  • 有几个典型的方法: 如果您使用Java编写程序,则可以通过HDFS Java API访问HDFS文件。 你可能正在寻找开放 。 这会给你一个类似于通用打开文件的流。 您可以使用hadoop cat来传输数据,如果程序通过stdin输入的话: hadoop fs -cat /path/to/file/part-r-* | myprogram.pl hadoop fs -cat /path/to/file/part-r-* | myprogram.pl 。 你可以假设用这个命令行命令创建一个类似popen的桥梁 ...
  • 使用HDFS配置参数添加XML文件: Configuration conf = new Configuration(); conf.addResource(new Path("your_hadoop_path/conf/core-site.xml")); conf.addResource(new Path("your_hadoop_path/conf/hdfs-site.xml")); FileSystem fs = FileSystem.get(URI.create(uri),conf); Add th ...
  • 复制块有两个主要原因: 1.复制因子超出可用数据节点 假设您只有2个数据节点,并且您的复制因子为3,那么您创建的每个块都将保持复制状态,因为没有3个数据节点可以复制到。 解决方案可以是添加数据节点,也可以减少复制因子。 集群太忙了 集群将优先处理块的复制的“真实”工作。 因此,如果创建大量块,可能需要一段时间才能赶上。 如果您的群集永久忙,理论上可能总会有一些未复制的块。 请注意,当你提到它是一个新的集群,并且磁盘似乎是空的时候,我不认为这将是2。 除此之外,当然可能会出现一些问题(比如平衡),但我不担心, ...
  • 默认情况下,Hadoop将使用本地模式。 您可能需要在$HADOOP_HOME/conf/core-site.xml中将fs.default.name设置为hdfs://localhost.localdomain:8020/ 。 为此,请将其添加到core-site.xml : fs.default.name hdfs://localhost.localdomain:8020/ Accumulo ...
  • 现在我知道如何处理它...首先升级dfs! Now I know how to deal with it... upgrade the dfs first!
  • HDFS无法进行版本控制。 相反,您可以使用Amazon S3 ,它提供版本控制并且还与Hadoop 兼容 。 Versioning is not possible with HDFS. Instead you can use Amazon S3, which provides Versioning and is also compatible with Hadoop.
  • 运行MR作业时,预计ouput目录将不存在。 作业的第一次运行创建了它,并且具有相同输出路径的作业的重新尝试导致了此异常。 从您的帖子中, output目录作为相对路径提供,在这种情况下,目录将在用户的HDFS目录( /user/username/output )中创建。 是的,如果它们已经存在并且您不再需要它们,则可以删除它们。 hdfs dfs -rm -R output 为避免这种情况,您可以删除目录并提交作业,也可以提供不同的不存在路径作为作业的输出。 注意:例如,如果提供的输出路径是new/ma ...
  • 无论如何,我只是继续安装Kerberos,看看它是否可行。 现在存在/etc/krb5.conf,大的延迟消失了。 我想知道我是否可以在其中创建没有任何内容的文件。 Hrmmm ... sudo apt-get install krb5-kdc krb5-admin-server I just went ahead and install Kerberos anyways just to see if it would work. Large delays have disappeared now tha ...