下面是我自己在安装hadoop过程中遇到的一些,希望对大家在安装hadoop的时候有所帮助,少走弯路。
1、大家在修改完某些配置文件后,记得用source命令是改过的配置文件生效,不然你得重启后才能生效,比如在安装JDK的时候,要在/etc目录下的profile文件中加入环境变量,加入保存后,要source一下该文件,具体操作如下所示:
输入命令: 进入到 文件,在文件末尾加上以下内容
#set java Environment
export JAVA_HOME=/usr/lib/jvm/jdk/jdk1.6.0_43
export JAVA_BIN=/usr/lib/jvm/jdk/jdk1.6.0_43/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
执行命令: 使得上步骤的修改马上生效
2、在安装SSH时,要先查看当前用户下是否有.ssh文件夹,如果没有,则输入命令mkdir .ssh
3、在分配IP和相应角色的时候,我用的是三台虚拟机,一台当做master,两台当做slave,分别为slave1,slave2,在三台虚拟机中分别设置/etc/hosts和/etc/hostname,如下面是master的/etc/hosts和/etc/hostname
master的/etc/hosts:
127.0.0.1 localhost
192.168.1.145 master
192.168.1.146 slave1
192.168.1.147 slave2
master的/etc/hostname
master(slave上要改成相应的名字,比如我的slave1上的是slave1)
4、在进行IPV4设置的时候,在每一台虚拟机上都要设置,记得把自动连接勾上,不然每次重启后不是连接这个网络。
5、在安装Hadoop,配置相关的文件的时候,配置Core-site.xml文件的时候,hadoop.tmp.dir的值不要设置成/tmp,这样在你重启虚拟机的时候,每次都要格式化一下hdfs才能正常启动集群,不然无法正常启动,我自己的Core-site.xml文件配置成如下所示:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/cy/Hadoop/hadoop-1.2.1/tmp</value>
</property>
</configuration>
6、在启动集群的时候,可能会出现警告:Warning: $HADOOP_HOME is deprecated.如下所示:
cy@master:~/Hadoop/hadoop-1.2.1$ ./bin/start-all.sh
Warning: $HADOOP_HOME is deprecated.
这时,你只要在/etc/profile 配置文件里加入这句就可以了:export HADOOP_HOME_WARN_SUPPRESS=1
加入保存后,记得用命令source /etc/profile进行操作才会起效。
7、在启动集群的时候总是要一层一层地进入start-all.sh文件所在的文件夹,这样子很麻烦,要想直接启动集群而不用这么麻烦,只要在/etc/profile 配置文件里加入:export HADOOP_HOME=/home/你的用户名/Hadoop/hadoop-1.2.1
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
加入保存后,记得用命令source /etc/profile进行操作才会起效。这时候你只要输入start-all.sh即可启动机群,如下所示:
cy@master:~$ start-all.sh
以上就是我在安装hadoop的时候遇到的一些问题,希望对大家有所帮助