Hadoop 2.5.1集群安装配置
本文的安裝只涉及了hadoop-common、hadoop-hdfs、hadoop-mapreduce和hadoop-yarn,并不包含HBase、Hive和Pig等。
http://blog.csdn.net/aquester/article/details/24621005
1. 規(guī)劃
1.1. 機器列表
| NameNode | SecondaryNameNode | DataNodes |
| 172.16.0.100 | 172.16.0.101 | 172.16.0.110 |
| ? | ? | 172.16.0.111 |
| ? | ? | 172.16.0.112 |
1.2. 主機名
| 機器IP | 主機名 |
| 172.16.0.100 | NameNode |
| 172.16.0.101 | SecondaryNameNode |
| 172.16.0.110 | DataNode110 |
| 172.16.0.111 | DataNode111 |
| 172.16.0.112 | DataNode112 |
2.設(shè)定IP與主機名
# rm -rf /etc/udev/rules.d/*.rules
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
NETMASK=255.255.0.0
GATEWAY=192.168.0.6
IPADDR=192.168.1.20
DNS1=192.168.0.3
DNS2=192.168.0.6
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=NameNode.smartmap
# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.1.20 NameNode NameNode.smartmap
192.168.1.50 SecondaryNameNode SecondaryNameNode.smartmap
192.168.1.70 DataNode110 DataNode110.smartmap
192.168.1.90 DataNode111 DataNode111.smartmap
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3.免密碼登錄
3.1. 免密碼登錄范圍
要求能通過免登錄包括使用IP和主機名都能免密碼登錄:
1) NameNode能免密碼登錄所有的DataNode
2) SecondaryNameNode能免密碼登錄所有的DataNode
3) NameNode能免密碼登錄自己
4) SecondaryNameNode能免密碼登錄自己
5) NameNode能免密碼登錄SecondaryNameNode
6) SecondaryNameNode能免密碼登錄NameNode
7) DataNode能免密碼登錄自己
8) DataNode不需要配置免密碼登錄NameNode、SecondaryNameNode和其它DataNode。
3.2. 軟件安裝
# yum install openssh-clients (NameNode、SecondaryNameNode和其它DataNode均執(zhí)行)
# yum install wget
3.3. SSH配置
vi /etc/ssh/sshd_config (NameNode、SecondaryNameNode和其它DataNode均執(zhí)行)
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
service sshd restart
3.4. SSH無密碼配置
# ssh-keygen -t rsa (NameNode、SecondaryNameNode和其它DataNode均執(zhí)行)
看到圖形輸出,表示密鑰生成成功,目錄下多出兩個文件
私鑰文件:id_raa
公鑰文件:id_rsa.pub
將公鑰文件id_rsa.pub內(nèi)容放到authorized_keys文件中:
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys (NameNode、SecondaryNameNode均執(zhí)行)
將公鑰文件authorized_keys分發(fā)到各dataNode節(jié)點:
(NameNode、SecondaryNameNode均執(zhí)行)
# scp authorized_keys root@SecondaryNameNode:/root/.ssh/
# scp authorized_keys root@DataNode110:/root/.ssh/
# scp authorized_keys root@DataNode111:/root/.ssh/
# scp authorized_keys root@DataNode112:/root/.ssh/
3.5. SSH無密碼登錄驗證
驗證ssh無密碼登錄:
(NameNode均執(zhí)行)
# ssh root@localhost
# ssh root@SecondaryNameNode
# ssh root@DataNode110
# ssh root@DataNode111
# ssh root@DataNode112
(SecondaryNameNode均執(zhí)行)
# ssh root@localhost
# ssh root@NameNode
# ssh root@DataNode110
# ssh root@DataNode111
# ssh root@DataNode112
(DataNode110均執(zhí)行)
# ssh root@localhost
(DataNode111均執(zhí)行)
# ssh root@localhost
(DataNode111均執(zhí)行)
# ssh root@localhost
4.JDK安裝與環(huán)境變量配置
(以下內(nèi)容NameNode、SecondaryNameNode和其它DataNode均執(zhí)行)
4.1. JDK下載
jdk-7u72-linux-x64.tar.gz
# scp jdk-7u72-linux-x64.tar.gz root@192.168.1.50:/opt/
4.2.卸載系統(tǒng)自帶的開源JDK
? # rpm -qa |grep java
? # rpm? –e java?
4.3.把安裝文件拷貝到用戶目錄
例如:
/opt/java目錄下
4.4.解壓文件
# tar -xzvf jdk-7u72-linux-x64.tar.gz
解壓后,在/opt/java目錄下就會生成一個新的目錄 jdk1.7.0_72,該目錄下存放的是解壓后的文件。
至此,安裝工作基本完成,下面是要進行環(huán)境變量的設(shè)置。
注意:如果你下載的文件是rpm 格式的話,可以通過下面的命令來安裝:
? rpm -ivh jdk-7u72-linux-x64.rpm
4.5.環(huán)境變量設(shè)置
修改.profile文件 (推薦此種方式,這樣其他程序也可以友好的使用JDK了)
# vi /etc/profile
在文件中找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC,改為下面的形式:
export JAVA_HOME=/opt/java/jdk1.7.0_72
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
4.6.讓環(huán)境變量生效
執(zhí)行配置文件令其立刻生效
# source /etc/profile
之后執(zhí)行以下命令驗證是否安裝成功
# java -version
如果出現(xiàn)下面的信息,則表示安裝成功
java version "1.7.0_72"
Java(TM) SE Runtime Environment (build 1.7.0_72-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)
5.Hadoop安裝與配置
5.1.Hadoop下載
# wget http://mirrors.hust.edu.cn/apache/hadoop/common/stable/hadoop-2.5.1.tar.gz
# scp hadoop-2.5.1.tar.gz root@192.168.1.50:/opt/
5.2.解壓文件
# tar -zxvf hadoop-2.5.1.tar.gz
5.3.配置
# cd /opt/hadoop-2.5.1/etc/hadoop
cp /opt/hadoop/hadoop-2.5.1/share/doc/hadoop/hadoop-project-dist/hadoop-common/core-default.xml /opt/hadoop/hadoop-2.5.1/etc/hadoop/core-site.xml
cp /opt/hadoop/hadoop-2.5.1/share/doc/hadoop/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml /opt/hadoop/hadoop-2.5.1/etc/hadoop/hdfs-site.xml
cp /opt/hadoop/hadoop-2.5.1/share/doc/hadoop/hadoop-yarn/hadoop-yarn-common/yarn-default.xml /opt/hadoop/hadoop-2.5.1/etc/hadoop/yarn-site.xml
cp /opt/hadoop/hadoop-2.5.1/share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml /opt/hadoop/hadoop-2.5.1/etc/hadoop/mapred-site.xml
# mkdir -p /opt/hadoop/tmp/dfs/name
# mkdir -p /opt/hadoop/tmp/dfs/data
# mkdir -p /opt/hadoop/tmp/dfs/namesecondary
5.3.1.core-site.xml
# vi core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.1.20:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
</configuration>
| 屬性名 | 屬性值 | 涉及范圍 |
| fs.defaultFS | hdfs://192.168.1.20:9000 | 所有節(jié)點 |
| hadoop.tmp.dir | /opt/hadoop/tmp | 所有節(jié)點 |
| fs.default.name | hdfs://192.168.1.20:9000 | ? |
| ? | ? | ? |
5.3.2.hdfs-site.xml
# vi hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.http-address</name>
<value>192.168.1.20:50070</value>
</property>
<property>
<name>dfs.namenode.http-bind-host</name>
<value>192.168.1.20</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.1.50:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
| 屬性名 | 屬性值 | 涉及范圍 |
| dfs.namenode.http-address | 192.168.1.20:50070 | 所有節(jié)點 |
| dfs.namenode.http-bind-host | 192.168.1.20 | 所有節(jié)點 |
| dfs.namenode.secondary.http-address | 192.168.1.50:50090 | NameNode、SecondaryNameNode |
| dfs.replication | 2 | ? |
| ? | ? | ? |
| ? | ? | ? |
| ? | ? | ? |
2.3.3.mapred-site.xml
# vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>192.168.1.20:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.1.20:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.1.20:19888</value>
</property>
<property>
<name>mapreduce.jobhistory.admin.address</name>
<value>192.168.1.20:10033</value>
</property>
</configuration>
| 屬性名 | 屬性值 | 涉及范圍 |
| mapreduce.framework.name | yarn | 所有節(jié)點 |
| mapreduce.jobtracker.http.address | 192.168.1.20:50030 | ? |
| ? | ? | ? |
| ? | ? | ? |
| ? | ? | ? |
| ? | ? | ? |
| ? | ? | ? |
2.3.4.yarn-site.xml
# vi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.1.20</value>
</property>
</configuration>
| 屬性名 | 屬性值 | 涉及范圍 |
| yarn.resourcemanager.hostname | 192.168.1.20 | 所有節(jié)點 |
| yarn.nodemanager.aux-services | mapreduce_shuffle | 所有節(jié)點 |
| yarn.nodemanager.hostname | 0.0.0.0 | 所有節(jié)點 |
| ? | ? | ? |
| ? | ? | ? |
| ? | ? | ? |
| ? | ? | ? |
5.3.5.slaves
# vi slaves
DataNode110
DataNode111
5.3.5.secondaryNamenodes
# vi master
SecondaryNameNode
5.3.6.修改JAVA_HOME
分別在文件hadoop-env.sh和yarn-env.sh中添加JAVA_HOME配置
# vi hadoop-env.sh
export JAVA_HOME=/opt/java/jdk1.7.0_72
export HADOOP_HOME=/opt/hadoop/hadoop-2.5.1
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
# vi yarn-env.sh
export JAVA_HOME=/opt/java/jdk1.7.0_72
export HADOOP_HOME=/opt/hadoop/hadoop-2.5.1
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
5.4.環(huán)境變量設(shè)置
修改.profile文件 (推薦此種方式,這樣其他程序也可以友好的使用JDK了)
# vi /etc/profile
在文件中找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC,改為下面的形式:
export JAVA_HOME=/opt/java/jdk1.7.0_72
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/opt/hadoop/hadoop-2.5.1
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export CLASSPATH=$HADOOP_HOME/lib:$CLASSPATH
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=/opt/hadoop/hadoop-2.5.1/lib/native"
5.4.1.讓環(huán)境變量生效
執(zhí)行配置文件令其立刻生效
# source /etc/profile
5.5.啟動HDFS
5.5.1.格式化NameNode
# hdfs namenode -format
5.5.1.啟動HDFS
. /opt/hadoop/hadoop-2.5.1/sbin/start-dfs.sh
5.5.1.啟動YARN
. /opt/hadoop/hadoop-2.5.1/sbin/start-yarn.sh
設(shè)置logger級別,看下具體原因
export HADOOP_ROOT_LOGGER=DEBUG,console
windows->show view->other-> MapReduce Tools->Map/Reduce Locations
hadoop-2.5.1-src.tar.gz\hadoop-2.5.1-src\hadoop-mapreduce-project\hadoop-mapreduce-examples\src\main\java\org\apache\hadoop\examples - TAR+GZIP archive, unpacked size 82,752,131 bytes
轉(zhuǎn)載于:https://www.cnblogs.com/gispathfinder/p/5770149.html
總結(jié)
以上是生活随笔為你收集整理的Hadoop 2.5.1集群安装配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu14.04 x86编译upx
- 下一篇: angluar.js 学习