天天看点

mac或linux下安装hadoop-2.8流程

mac上安装hadoop

1,mac下的java

ll /usr/bin |grep'java'

默认:

/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

具体的安装路径:

/Library/Java/JavaVirtualMachines/下面,

JAVA_HOME是/Library/Java/JavaVirtualMachines/jdk1.7.0_75/Contents/Home。

2,mac下的ssh

首先测试ssh localhost,

若不成功,看是否启动允许remotelogin,再尝试如果失败则继续下面的

ssh-keygen -t dsa-P '' -f ~/.ssh/id_dsa

ssh-keygen表示生成秘钥;

-t表示秘钥类型;-P用于提供密语;-f指定生成的秘钥文件。

这个命令在”~/.ssh/“文件夹下创建两个文件id_dsa和id_dsa.pub,是ssh的一对儿私钥和公钥。

接下来,将公钥追加到授权的key中去,输入:

cat~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

再次尝试

ssh localhost

若无法打开,解决方法如下:

进入Mac的系统偏好设置 –> 共享–> 勾选remote login,并设置allow access for all users。

3,下载镜像,mirror,选择某一个tar.gz

http://mirror.bit.edu.cn/apache/hadoop/common/

4,设置环境变量

vi ~/.bash_profile 或者/etc/profile中

exportJAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_75/Contents/Home 

exportJRE_HOME=$JAVA_HOME/jre 

exportHADOOP_HOME=/Users/xiaolong.zhao/ittools/hadoop

#是防止出现:Warning:$HADOOP_HOME is deprecated的警告错误。

exportHADOOP_HOME_WARN_SUPPRESS=1 

exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin: $ HADOOP_HOME /sbin:$HADOOP_HOME/bin:$PATH 

注意:linux与mac的安装,唯一区别就是mac下会有默认的jdk路径的,以及ssh配置的 

5,配置hadoop-env.sh

在/Users/xiaolong.zhao/ittools/hadoop/etc/hadoop目录下,找到hadoop-env.sh,打开编辑进行如下设置:

export  JAVA_HOME=${JAVA_HOME}(去掉注释)

export  HADOOP_HEAPSIZE=2000(去掉注释)

export  HADOOP_OPTS=”-Djava.security.krb5.realm=OX.AC.UK-Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk”(去掉注释)

6, 4个核心文件配置

6.1.配置core-site.xml——(defaultFS)指定了NameNode的主机名与端口 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<code>&lt;?</code><code>xmlversion</code><code>=</code><code>"1.0"</code> <code>encoding</code><code>=</code><code>"UTF-8"</code><code>?&gt;  </code>

<code>&lt;</code><code>configuration</code><code>&gt;</code>

<code>     </code><code>&lt;!-- fs.defaultFS - 这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。</code>

<code>     </code><code>DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。--&gt;</code>

<code>    </code><code>&lt;</code><code>property</code><code>&gt;  </code>

<code>       </code><code>&lt;</code><code>name</code><code>&gt;fs.defaultFS&lt;/</code><code>name</code><code>&gt; </code>

<code>       </code><code>&lt;</code><code>value</code><code>&gt;hdfs://localhost:8000&lt;/</code><code>value</code><code>&gt;  </code>

<code>    </code><code>&lt;/</code><code>property</code><code>&gt;  </code>

<code> </code> 

<code>     </code><code>&lt;!-- hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。</code>

<code>     </code><code>如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在这个路径中--&gt;</code>

<code>       </code><code>&lt;</code><code>name</code><code>&gt;hadoop.tmp.dir&lt;/</code><code>name</code><code>&gt; </code>

<code>       </code><code>&lt;</code><code>value</code><code>&gt;/Users/time/Documents/hadoop-2.7.3/tmp&lt;/</code><code>value</code><code>&gt;  </code>

<code>        </code><code>&lt;</code><code>description</code><code>&gt;A base for othertemporary directories.&lt;/</code><code>description</code><code>&gt; </code>

<code>    </code><code>&lt;/</code><code>property</code><code>&gt; </code>

<code>&lt;/</code><code>configuration</code><code>&gt;</code>

6.2. 配置hdfs-site.xml——指定了HDFS的默认参数副本数

18

19

20

21

22

23

24

25

26

27

28

<code>&lt;</code><code>configuration</code><code>&gt;  </code>

<code>     </code><code>&lt;!-- dfs.replication -它决定着 系统里面的文件块的数据备份个数。对于一个实际的应用,它应该被设为3。</code>

<code>     </code><code>少于三个的备份,可能会影响到数据的可靠性--&gt;</code>

<code>        </code><code>&lt;</code><code>property</code><code>&gt;</code>

<code>          </code><code>&lt;</code><code>name</code><code>&gt;dfs.replication&lt;/</code><code>name</code><code>&gt;</code>

<code>           </code><code>&lt;</code><code>value</code><code>&gt;1&lt;/</code><code>value</code><code>&gt;</code>

<code>        </code><code>&lt;/</code><code>property</code><code>&gt;</code>

<code>        </code><code>&lt;!-- datanaode和namenode的物理存储,如果不设置,它的值hadoop.tmp.dir--&gt;</code>

<code>            </code><code>&lt;</code><code>name</code><code>&gt;dfs.namenode.name.dir&lt;/</code><code>name</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>value</code><code>&gt;file:/home/hdfs/name&lt;/</code><code>value</code><code>&gt;</code>

<code>        </code><code>&lt;!-- 可以不设置,namenode的Web 监控 端口,默认是0.0.0.0:50070--&gt;</code>

<code>            </code><code>&lt;</code><code>name</code><code>&gt;dfs.namenode.http-address&lt;/</code><code>name</code><code>&gt;</code>

<code>             </code><code>&lt;</code><code>value</code><code>&gt;localhost:57000&lt;/</code><code>value</code><code>&gt;</code>

<code>          </code><code>&lt;</code><code>name</code><code>&gt;dfs.datanode.data.dir&lt;/</code><code>name</code><code>&gt;</code>

<code>          </code><code>&lt;</code><code>value</code><code>&gt;file:/home/hdfs/data&lt;/</code><code>value</code><code>&gt;</code>

注意这里的file

如果配置为: file:/path/a/c,则具体的路径就是: /path/a/c

如果配置为:file://path/a/c,则具体的路径就是: /a/c

6.3 mapred-site.xml配置

<code>  </code><code>&lt;</code><code>property</code><code>&gt;  </code>

<code>        </code><code>&lt;</code><code>name</code><code>&gt;mapreduce.framework.name&lt;/</code><code>name</code><code>&gt;  </code>

<code>        </code><code>&lt;</code><code>value</code><code>&gt;yarn&lt;/</code><code>value</code><code>&gt;  </code>

<code>    </code><code>&lt;/</code><code>property</code><code>&gt;</code>

6.4 Yarn-site.xml 配置

29

30

31

32

33

34

<code>&lt;?</code><code>xmlversion</code><code>=</code><code>"1.0"</code><code>?&gt; </code>

<code> </code><code>&lt;</code><code>configuration</code><code>&gt; </code>

<code>  </code><code>&lt;!-- resourcemanager --&gt;</code> 

<code>  </code><code>&lt;!-- client visit address --&gt;</code>

<code>  </code><code>&lt;</code><code>property</code><code>&gt; </code>

<code>  </code><code>&lt;</code><code>name</code><code>&gt;yarn.resourcemanager.address&lt;/</code><code>name</code><code>&gt;</code>

<code>  </code><code>&lt;</code><code>value</code><code>&gt;localhost:18040&lt;/</code><code>value</code><code>&gt; </code>

<code>  </code><code>&lt;/</code><code>property</code><code>&gt; </code>

<code>  </code><code>&lt;!-- ApplicationMaster visit address--&gt;</code>

<code>  </code><code>&lt;</code><code>name</code><code>&gt;yarn.resourcemanager.scheduler.address&lt;/</code><code>name</code><code>&gt;</code>

<code>  </code><code>&lt;</code><code>value</code><code>&gt;localhost:18030&lt;/</code><code>value</code><code>&gt; </code>

<code>  </code><code>&lt;!-- NodeManager visit address --&gt;</code>

<code>  </code><code>&lt;</code><code>name</code><code>&gt;yarn.resourcemanager.resource-tracker.address&lt;/</code><code>name</code><code>&gt;</code>

<code>  </code><code>&lt;</code><code>value</code><code>&gt; localhost:18025&lt;/</code><code>value</code><code>&gt; </code>

<code>  </code><code>&lt;!-- web visit address --&gt;</code>

<code>  </code><code>&lt;</code><code>name</code><code>&gt;yarn.resourcemanager.webapp.address&lt;/</code><code>name</code><code>&gt;</code>

<code>  </code><code>&lt;</code><code>value</code><code>&gt;localhost:18088&lt;/</code><code>value</code><code>&gt; </code>

<code>  </code><code>&lt;!-- NodeManager support mapreduce service--&gt;</code> 

<code>  </code><code>&lt;</code><code>name</code><code>&gt;yarn.nodemanager.aux-services&lt;/</code><code>name</code><code>&gt;</code>

<code>  </code><code>&lt;</code><code>value</code><code>&gt;mapreduce_shuffle&lt;/</code><code>value</code><code>&gt; </code>

<code> </code><code>&lt;/</code><code>configuration</code><code>&gt;</code>

7, 格式化namenode

hdfs namenode-format

8, 启动hadoop

8.1sbin/start-all.sh 

8.2 web测试

8.2.1 namenode-web

<a href="http://localhost:50070/" target="_blank">http://localhost:50070</a>

8.2.2resourcemanager-web

<a href="http://localhost:18088/" target="_blank">http://localhost:18088</a>

8.2.3 nodemanager-web

http://localhost:8042

本文转自 zhao_xiao_long 51CTO博客,原文链接:http://blog.51cto.com/computerdragon/1939523