Hadoop 伪分布式安装,可以在单节点上模拟分布式的各个进程,本地开发环境建议采用这种方式:
#配置免密钥登陆
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub>>~/.ssh/authorized_key
#创建目录
cd /Users/Administrator/hadoop
mkdir tmp
mkdir -p hdfs/name
mkdir hdfs/data
#修改配置
vi etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
<name>hadoop.tmp.dir</name>
<value>file:///Users/Administrator/hadoop/tmp</value>
</property> </configuration>
vi etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<name>dfs.namenode.name.dir</name>
<value>file:///Users/Administrator/hadoop/hdfs/name</value>
<name>dfs.datanode.data.dir</name>
<value>file:///Users/Administrator/hadoop/hdfs/data</value>
</property>
</configuration>
cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
vi etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
vi etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
#格式化namenode
bin/hadoop namenode -format
#启动服务
sbin/start-dfs.sh
sbin/start-yarn.sh
#查看进程,看到如下进程说明已经安装成功
MacBook-Pro:hadoop Administrator$ jps
696 DataNode
972 Jps
874 ResourceManager
780 SecondaryNameNode
632 NameNode
944 NodeManager
遇到的问题:
1.Unable to load realm info from SCDynamicStore
解决办法:hadoop-env.sh里加设置:export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk”
2.Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
原因是hadoop官网下的编译好的安装包一般是32位的,缺少MAC本地库,可通过编译hadoop获得,步骤:
1),安装maven,
mkdir ~/applib/
tar zxf apache-maven-3.0.5.tar.gz
sudo vi /etc/profile 增加
export MAVEN_HOME=~/apache-maven-3.0.5
export PATH=$PATH:$MAVEN_HOME/bin
验证是否安装成功
mvn -version
2),安装protobuf
tar zxf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure --prefix=/apps/dev/protobuf
make -j4
make install
将protobuf放进环境变量
export PATH=/apps/dev/protobuf/bin:$PATH
export DYLD_LIBRARY_PATH=/apps/dev/protobuf/lib
验证是否安装成功
protoc 是否输出 missing input file
3),下载源代码包hadoop-2.3.0-cdh5.0.0-src.tar.gz
tar zxf hadoop-2.3.0-cdh5.0.0-src.tar.gz
cd hadoop-2.3.0-cdh5.0.0
mvn package -Pdist,native -DskipTests -Dtar
编译过程中如果遇到无法解决依赖的包,可能是**防火墙导致无法下载到依赖的jar包
解决办法:在MAVEN里增加一个公共库
找到MAVEN的安装目录,进入目录下的CONF,编辑setting.xml配置文件,添加如下配置信息
<mirrors>
<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexus osc</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
</mirrors>
4),安装homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
5),安装相应的程序
brew install autoconf automake libtool cmake
6),sudo mkdir $JAVA_HOME/Classes
sudo ln -sf $JAVA_HOME/lib/tools.jar $JAVA_HOME/Classes/classes.jar
不然报:Exception in thread "main" java.lang.AssertionError: Missing tools.jar at: /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/Classes/classes.jar. Expression: file.exists()
7),Hadoop本地库只支持*nix平台,已经广泛使用在GNU/Linux平台上,但是不支持 Cygwin 和 Mac OS X 。当然有人已经给出了Mac OSX系统编译本地库的patch,需先打上这个patch。
brew install wget
wget https://issues.apache.org/jira/secure/attachment/12617363/HADOOP-9648.v2.patch
patch -p1 < HADOOP-9648.v2.patch
ps:如果要回退patch 执行:patch -RE -p1 < HADOOP-9648.v2.patch 即可。
8),brew install openssl不行,只安装openssl,没有安装openssl-devel
必须port安装,macports类似brew是包管理工具,可收藏夹“macports”中下载pkg安装;
sudo port -v selfupdate;
sudo port install ncurses;
sudo port install openssl;
不然报:Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (make) on project hadoop-pipes: An Ant BuildException has occured: exec returned: 1
9),mvn package -Pdist,native -DskipTests -Dtar (加上-e -X参数,可以查看调试信息)
编译好的包在hadoop-dist/target,拷贝到native中
cp hadoop-dist/target/hadoop-2.3.0-cdh5.0.0/lib/native/* ~/hadoop/lib/native/
3.MAC下执行jar包报错:Mkdirs failed to create /tmp/hadoop-Administrator/hadoop-unjar5349774432125303237/META-INF/license
解决方法:zip -d jar包名.jar META_INF/LICENSE
4.Directory /private/tmp/hadoop-Administrator/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible
原因是hadoop默认将临时文件和namenode,datanode的文件放在tmp目录下,电脑重启后tmp目录被删除,启动服务时报错。
解决方法:core-site.xml 配置hadoop.tmp.dir,hdfs-site.xml配置dfs.namenode.name.dir/dfs.datanode.dir到tmp以外的目录。
纪录实际操作过程
内容在个人公众号mangrendd同步更新
相关推荐
此文档在hadoop集群搭建完毕之后,在集群之外搭建一个hadoop集群的开发环境,用于编写hadoop实际处理程序,还包括了如何提交任务等。整体非常详细,如需要其他hadoop集群搭建资源可以联系我,免费给q:1487954071
Hadoop 开发环境搭建第一篇: 1、是用Virtual Box 系统使用的是Redhat ,linux不熟的朋友们可以顺便学习一下linux, 2、环境配置包括防火墙关闭,IP分配,更改域名等 3、服务软件:远程服务SSH等安装
涉及到了Hadoop2.0、Hbase、Sqoop、Flume、Hive、Zookeeper的具体环境搭建
Hadoop开发环境搭建所需文件(hadoop-eclipse-plugin-2.2.0.jar、winutils.exe)
hadoop开发环境搭建教程:利用Cloudera实现Hadoop
hadoop开发环境搭建详细文档,包括CentOS安装及配置,jdk安装及配置,hadoop安装及配置,文档内附环境所需软件分享网址。 CentOS6.5 + jdk1.6 + hadoop
windows下搭建hadoop2.6开发环境详细说明,包括各种错误解决方法及参考文档;包括所需插件及测试代码
windows下搭建hadoop开发环境(Eclipse)
hadoop集群环境的搭建
windows中Hadoop开发环境中用到的bin,因为镜像下载中缺少winutils.exe和hadoop.dll ,所以上传此资源以备使用 windows搭建Hadoop开发环境请参考https://blog.csdn.net/qq_38774450/article/details/108942115
本文档是关于在mac环境下hadoop虚拟集群的搭建,文中详细写了从虚拟机安装到hadoop安装完成的步骤。
Hadoop开发环境搭建Win8+Eclipse+Linux.pdf
hadoop环境搭建和eclipse开发
在一台虚拟机上安装多台linux服务机,并搭建Hadoop集群环境
Hadoop环境搭建Hadoop环境搭建 Hadoop环境搭建
win7+eclipse+hadoop开发环境搭建[收集].pdf
hadoop的环境搭建手册 分布式计算开源框架Hadoop介绍
亲身实验的hadoop 环境搭建 关于很多网上没有讲清楚的地方进行讲解 如静态ip怎么改 而不是到哪改, 还算比较详细 3208006642@qq.com 积分不知道怎么取消 发邮件给我我直接发给你
关于hadoop2.x的安装,其中包括了一个完整的集群以及各种hadoop组件的安装和部署,解压包中包括了四篇的安装教程,超级完整。
hadoop的环境搭建过程.方便第一次使用hadoop的同学.快速搭建环境