一个具体的配置:这里只搭建一个三台主机的小机群
10.37.128.2 - master ,namenode , jobtracker -master (主机名)
10.37.128.3 - salve ,datanode , tasktracker -slave1 (主机名)
10.37.128.4 - slave ,datanode , tasktracker -slave2 (主机名)
首先在三台主机上创建相同的用户(这是Hadoop的基本要求)
(1) 在三台主机上均安装JDK1.6,并设置环境变量
(2) 在三台主机上分别设置/etc/hosts 及 /etc/hostname
(3) 在这三台主机上安装OpenSSH,并配置SSH可以免密码登录
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
将文件复制到两台Slave 主机相同的文件夹内,输入命令:
scp authorized_keys slave1:~/.ssh/
scp authorized_keys slave2:~/.ssh/
查看是否可以从Master主机免密码登录slave,输入命令:
ssh slave1
ssh slave2
(4) 配置三台主机的Hadoop文件,
conf/Hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/jdk
conf/core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp</value>
</property>
</configuration>
conf/hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
conf/mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9000</value>
</property>
</configuration>
conf/master:
master
conf/salves:
slave1
slave2
(5) 启动Hadoop
bin/Hadoop NameNode -format
bin/start-all.sh
当在某个节点坏掉,修复之后不必重启整个系统,只需重启这个节点,它会自动连入整个集群。
在坏死的节点上输入如下命令即可;
bin/Hadoop-daemon.sh start datanode
bin/Hadoop-daemon.sh start jobtracker
动态加入DataNode 或 TaskTracker。
bin/Hadoop-daemon.sh --config ./conf start datanode
bin/Hadoop-daemon.sh --config ./conf start tasktracker
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)