我刚刚建立了一个新的Ubuntu 12.04 VM(Virtualbox),并希望在其上测试Hadoop。我正在遵循本指南:http://hadoop.apache.org/docs/r0.20.2/quickstart.html
我认为我在java安装和JAVA_HOME路径上做错了... 现在bin / hadoop总是只返回“未找到命令”
我在哪里提取hadoop文件夹?
我以前需要设置SSH吗?那么SSHD呢?
安装正确java版本的命令是什么?
我必须输入hadoop-env.sh文件吗?
谢谢!
答案 0 :(得分:2)
我使用了这个很棒的教程。 唯一的变化是我安装了默认的Java 6 ...
答案 1 :(得分:1)
运行hadoop时出现“command not found”错误,与JAVA_HOME无关。我相信你没有从hadoop主目录运行这个命令(另一种方法是将完整路径添加到你的PATH中的hadoop / bin)。
您可以随心所欲地提取hadoop文件夹
对于hadoop-env.sh,您应该将JAVA_HOME变量设置为指向Java安装主目录,例如export JAVA_HOME=/home/jdk1.6.0/
更改此路径以反映您的环境
如果您将在分布式或伪分布式环境中运行Hadoop,您将需要SSH和SSHD。
Hadoop需要Java 1.6+,只需下载jdk-7u9-linux-i586.tar.gz from here并按照installation guide(它不应该只需要解压缩)< / p>
答案 2 :(得分:0)
安装Hadoop Hive Scoop和PIG
按照步骤安装上述应用程序。注意:不需要额外的用户,您可以使用现有系统。
下载Haddop 2.7.1,PIG,Sqoop,Hive
http://www.us.apache.org/dist/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz
http://www.us.apache.org/dist/pig/pig-0.13.0/pig-0.13.0.tar.gz
http://www.us.apache.org/dist/sqoop/1.4.6/ sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
http://www.eu.apache.org/dist/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz
在文件夹中提取说/ home / mypc / hadoop-soft - &gt; cd hadoop-soft
hive --> /home/mypc/hadoop-soft/hive
sqoop --> /home/mypc/hadoop-soft/sqoop
pig --> /home/mypc/hadoop-soft/pig
hadoop --> /home/mypc/hadoop-soft/hadoop
确保您不在这些文件夹中创建任何子文件夹,并且能够看到相应的bin文件夹。
现在让我们将这些文件夹移动到/ usr / lib
sudo mkdir /usr/lib/hadoop
sudo mv sqoop/ /usr/lib/hadoop/
sudo mv pig/ /usr/lib/hadoop/
sudo mv hive/ /usr/lib/hadoop/
sudo mv hadoop-2.6/ /usr/lib/hadoop/
编辑.bashrc文件以添加路径:在文件末尾添加以下行
删除Java_path Statment,如果有的话,我们在这里更新它。
检查Java是否已安装且位于下述位置。如果是,那么很好,如果没有,那么你需要谷歌安装java n ubuntu
sudo gedit ~/.bashrc
将以下行添加到.bashrc
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_HOME=/usr/lib/hadoop/hadoop-2.6
export HIVE_HOME=/usr/lib/hadoop/hive
export PIG_HOME=/usr/lib/hadoop/pig
export SQOOP_HOME=/usr/lib/hadoop/sqoop
export HADOOP_MAPRED_HOME=/usr/lib/hadoop/hadoop
export HADOOP_COMMON_HOME=/usr/lib/hadoop/hadoop
export HADOOP_HDFS_HOME=/usr/lib/hadoop/hadoop
export HADOOP_YARN_HOME=/usr/lib/hadoop/hadoop
export HADOOP_CONF_DIR=/usr/lib/hadoop/hadoop/etc/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin::$PIG_HOME/bin:$HIVE_HOME/bin:$SQOOP_HOME/bin
保存此文件并将其关闭。现在您可能想要运行它以便反映更新。
source ~/.bashrc
6.创建两个dirctor of namenode和datanode
cd /usr/lib
sudo mkdir hdfs
cd hdfs
sudo mkdir namenode
sudo mkdir datanode
sudo chmod 777 -R namenode
sudo chmod 777 -R datanode
转到$ HADOOP_HOME并编辑一些文件。
cd $HADOOP_HOME
cd etc/hadoop/
一个。 sudo gedit yarn-site.xml:在&lt;中添加这些行结构&gt; &LT; /结构&gt;
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
B中。 sudo gedit core-site.xml:在&lt;中添加这些行结构&gt; &LT; /结构&gt;
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
℃。 sudo gedit hdfs-site.xml:在&lt; ~configuration&gt;中添加这些行。 &LT;〜/结构&gt;
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/lib/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/lib/hdfs/datanode</value>
</property>
d。 sudo gedit mapred-site.xml:添加这些行
<?xml version="1.0"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
注意:这将是一个新文件。 - 保存并关闭。
格式化namenode
hdfs namenode -format
转到/ usr / lib / hdfs并创建启动和停止脚本
cd /usr/lib/hdfs
sudo mkdir scripts
sudo chmod 777 -R scripts
cd scripts
sudo gedit hadoopstart.sh
写下这些行
/usr/lib/hadoop/hadoop-2.6/sbin/hadoop-daemon.sh start namenode
/usr/lib/hadoop/hadoop-2.6/sbin/hadoop-daemon.sh start datanode
/usr/lib/hadoop/hadoop-2.6/sbin/yarn-daemon.sh start resourcemanager
/usr/lib/hadoop/hadoop-2.6/sbin/yarn-daemon.sh start nodemanager
/usr/lib/hadoop/hadoop-2.6/sbin/mr-jobhistory-daemon.sh start historyserver
保存并关闭。
sudo gedit hadoopstop.sh
写下这些行
/usr/lib/hadoop/hadoop-2.6/sbin/hadoop-daemon.sh stop namenode
/usr/lib/hadoop/hadoop-2.6/sbin/hadoop-daemon.sh stop datanode
/usr/lib/hadoop/hadoop-2.6/sbin/yarn-daemon.sh stop resourcemanager
/usr/lib/hadoop/hadoop-2.6/sbin/yarn-daemon.sh stop nodemanager
/usr/lib/hadoop/hadoop-2.6/sbin/mr-jobhistory-daemon.sh stop historyserver
- 保存并关闭它。
开始
sh /usr/lib/hdfs/scripts/hadoopstart.sh
停止
sh /usr/lib/hdfs/scripts/hadoopstop.sh
检查hadoop是否正在运行:运行启动脚本后
hadoop version
hadoopp fs -ls /
Open http://localhost:50070 to see if name node is running.
使用:在终端上运行各种服务
Pig
sqoop
hive