概述:hadoop集群,1台namenode,一台secondnamenode,一台jobtracker和台datanode,具体安装方法网上有太多,下面只是自己搭建的实验环境和碰到的问题解决方法。
1、配置ip对应的主机名
/etc/hosts配置namenode和datanode,形如:
192.168.1.1 namenode
192.168.1.2 secondnamenode
192.168.1.3 jobtracker
192.168.1.4 datanode1
192.168.1.5 datanode2
192.168.1.6 datanode3
2、配置java和hadoop环境变量(此处省略),其中hadoop环境可以在namenode里配置好后用命令发布到其它节点
3、配置机器感知
要将hadoop机架感知的功能启用,在namenode所在机器的hadoop-site.xml配置文件中配置一个选项:
<property>
<name>topology.script.file.name</name>
<value>/opt/modules/hadoop/hadoop-1.0.4/conf/RackAware.py</value>
</property>
4、安全模式启动报错
The ratio of reported blocks 1.0000 has reached the threshold 0.9990. Safe mode will be turned off automatically in 18 seconds.
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirsInternal(FSNamesystem.java:2055)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirs(FSNamesystem.java:2029)
at org.apache.hadoop.hdfs.server.namenode.NameNode.mkdirs(NameNode.java:817)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)
at org.apache.hadoop.ipc.Client.call(Client.java:1070)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
at com.sun.proxy.$Proxy1.mkdirs(Unknown Source)
解决办法:
只要在Hadoop的目录下输入:
$bin/hadoop dfsadmin -safemode leave
也就是关闭Hadoop的安全模式,这样问题就解决了。
$bin/hadoop dfsadmin -safemode leave
也就是关闭Hadoop的安全模式,这样问题就解决了。
5、mysql安装后解决办法
vi /usr/my.cnf
添加skip_grant_tables
sevice mysql restart。
可以查看安全文件,如下:
cat .mysql_secret文件
6、hive无法运行,原因是没配置hive环境变量
(1)配置hive环境变量
export HIVE_HOME=/opt/modules/hive/hive-0.10.0/
export PATH=$PATH:$HIVE_HOME/bin
(2)将原始安装包文件命名并设置环境变量
cp /opt/modules/hive/hive-0.9.0/conf/hive-env.sh.template /opt/modules/hive/hive-0.9.0/conf/hive-env.sh
export HADOOP_HEAPSIZE=64 (默认1024,虚拟机内存比较小一定要改掉) HADOOP_HOME=/opt/modules/hadoop/hadoop-1.0.4/ export HIVE_CONF_DIR=/opt/modules/hive/hive-0.9.0/conf |