本人刚接触大数据,在调试安装的的过程中,有些bug没有记录,有些bug的处理方法也不太记得清了,如下述流程有误,欢迎批评指正
一、 hadoop
1. 安装JDK和Hadoop
mac自带jdk,用homebrew安装hadoop,注意brew安装的文件都在/usr/local/Cellar/下
brew install hadoop
2. 配置ssh免密码登录
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa ```
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
测试一下:ssh localhost
出现 ssh: connect to host localhost port 22: Connection refused
则到系统偏好设置,共享下,打开远程登录功能
3. 配置相关文件(伪分布形式)
(1) core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/Users/glenn/.hadoop_tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
注意,这里hadoop.tmp.dir对应了hadoop的文件系统路径,里面记录了namenode,datanode,mapred的相关信息,hdfs下的文件内容都在这里,默认情况下,它对应的是/tmp/{$user}
,这是个随时会清空的路径,每次重启也会自动清空,这将会影响hdfs内容的存储,必须修改路径;
如果不修改,对应的bug现象是:jps找不到datanode 或 datanode等;一般这时候需要格式化hdfs,bin/hadoop namenode -format
,多次之后,出现 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Java.io.IOException:Incompatible namespaceIDs
(2) hdfs-site.xml
伪分布式不需要备份文件信息了
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
(3) mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
貌似参考了hadoop1.0版本的设置。。。需要配置yarn的请参考其他说明,如:
http://www.cnblogs.com/micrari/p/5716851.html
4. 配置环境(~/.bash_profile)
HADOOP_HOME="/usr/local/Cellar/hadoop/2.8.0"
PATH=$HADOOP_HOME/sbin:$PATH:
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib/native"
alias start-hadoop='$HADOOP_HOME/sbin/start-all.sh'
alias stop-hadoop='$HADOOP_HOME/sbin/stop-all.sh'
5. 测试
格式化hdfs(参考): bin/hadoop namenode -format
启动hadoop: start-hadoop
bug:“WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable”
原因:hadoop的lib是32位的,系统64位,需要重新编译lib库,不管它也可以正常运行大部分功能
命令行检查: jps
Jps
SecondaryNameNode
ResourceManager
NodeManager
DataNode
NameNode
至少要出现datanode,resourceManager,namenode
浏览器查看:
R