注意:官網提供的都是32位的安裝包,64位的安裝包需要自己編譯
1 部署
192.168.100.200 master
192.168.100.201 slave1
192.168.100.202 slave2
2 三臺安裝jdk
bin etc games hadoop-1.2.1.tar.gz include jdk-7u79-linux-x64.tar.gz lib lib64 libexec sbin share src
JAVA_HOME=/usr/local/jdk1.7.0_79
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
3 完全分佈式安裝部署
192.168.100.200 master
192.168.100.201
slave1
192.168.100.202
slave2
3.1 配置SSH(三臺)
按兩次回車
[root@localhost .ssh]# cp id_rsa.pub authorized_keys
//如果authorized_keys文件中存在的公鑰,都可以免密碼登陸
把各個節點的authorized_keys內容互相拷貝到對方文件中,使得彼此可以免密碼登陸
192.168.100.200 master
192.168.100.201 slave1
192.168.100.202 slave2
192.168.100.200 localhost.localdomain --每一臺節點這一行不一致
localhost.localdomain
3.2 安裝 hadoop
配置hadoop-env.sh、core-site.xml 、hdfs-site.xml
、 mapred-site.xml 、yarn-site.xml 、slave
export JAVA_HOME=/usr/local/jdk1.7.0_79
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.100.200:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.100.200:9001</value>
</property>
</configuration>
[root@localhost hadoop-2.7.1]# cp etc/hadoop/mapred-site.xml.template
etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.100.200:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.100.200:19888</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.100.200:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.100.200:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.100.200:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.100.200:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.100.200:8088</value>
</property>
</configuration>
192.168.100.201
192.168.100.202
3.3 向各個節點複製hadoop
[root@localhost hadoop]# scp -r /usr/local/hadoop-2.7.1 192.168.100.201:/usr/local
[root@localhost hadoop]# scp -r /usr/local/hadoop-2.7.1 192.168.100.202:/usr/local
3.4 格式化HDFS
在名稱節點運行命令,即master
出現successfully formatted 成功
在你重新格式化分佈式文件系統之前,需要將文件系統中的數據先清除,否則,datanode將創建不成功。
3.5 啓動集羣
禁用防火牆
可以在名稱節點上運行
3.6 查看啓動進程
master上
slave上
web訪問
4 eclipse集成hadoop開發環境
將hadoop-eclipse-plugin-2.7.1.jar拷貝到${eclipse}\dropins\plugins
打開windows -->showview -->找到Map/Reduce Locaions -->new Hadoop location
將hadoop-2.7.1解壓到本地一份,放d:\下
將對應的winutils.exe和hadoop.dll文件拷貝到hadoop/bin下面
之後將hadoop的路徑配置爲環境變量中
在項目的src下面新建log4j.properties
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n