环境
准备Ubuntu 14.04 LTS 并更新apt
- 执行
- 可更改数据源进行update
设置静态IP地址
必须设置静态IP,为以后的集群,分布式等做铺垫
- 编辑interfaces文件
1
| sudo vi /etc/network/interfaces
|
- 写入如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| auto eth0 iface eth0 inet static address 192.168.1.100 gateway 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255
auto eth0 iface eth0 inet static address 192.168.1.101 gateway 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255
|
修改HostName
- 编辑hostname文件
- 写入
ubuntu
- 那么ubuntu就是本机器的主机名,可以
hostname
进行查看
IP与HostName绑定
- 执行
- 写入如下:
1 2 3 4 5
| 192.168.1.100 hadoop-yarn.jasonsoso.com hadoop-yarn master
192.168.1.101 slave1.jasonsoso.com slave1
|
- 那么访问
hadoop-yarn.jasonsoso.com
则访问IP为192.168.1.100
的机器
创建hadoop系统用户
如果你安装 Ubuntu 的时候不是用的 hadoop 用户,那么最好增加一个名为 hadoop 的用户,密码可设置为 123456 (密码随意指定)。
- 创建新用户
1
| sudo useradd -m hadoop -s /bin/bash
|
- 修改密码
- 为 hadoop 用户增加管理员权限,方便部署
1
| sudo adduser hadoop sudo
|
Sun JDK 7
详情请参考 ubuntu下配置java环境 和 HOW TO INSTALL ORACLE JAVA 7 IN DEBIAN VIA REPOSITORY
安装SSH server、配置SSH无密码登陆
- 执行安装
1
| sudo apt-get install openssh-server
|
- 登陆本机
- 配置SSH无密码登陆
1 2 3
| sudo ssh-keygen -t rsa sudo ssh-copy-id ubuntu@localhost sudo ssh localhost
|
- 如果做集群,则配置SSH无密码登陆,实现多机器互通
hadoop2.6.0安装
- 下载hadoop2.6.0
官网hadoop下载http://hadoop.apache.org/releases.html
- 解压tar包
1
| sudo tar -zxvf ./hadoop-2.6.0.tar.gz -C /opt/hadoop
|
则hadoop的安装根目录为:`/opt/hadoop/hadoop-2.6.0`
- 修改文件权限
1
| sudo chown -R hadoop:hadoop ./hadoop-2.6.0
|
配置
- 配置环境变量
下面#set Hadoop
才是真正的hadoop配置,而#set java environment
是必须的java环境变量,#set findbugs
、#set ant
、#PROTOBUF
和#set maven environment
是编译hadoop代码必须的,现在没有编译hadoop源码,只需要java环境和hadoop环境足矣。
执行sudo vi /etc/profile
修改profile文件
添加如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| JAVA_HOME=/usr/java/jdk1.7.0_60 export JRE_HOME=/usr/java/jdk1.7.0_60/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib/ export FINDBUGS_HOME=/usr/local/findbugs-3.0.0 export PATH=$PATH:$FINDBUGS_HOME/bin
ANT_HOME=/usr/local/apache-ant-1.9.4 export PATH=$PATH:$ANT_HOME/bin
export PROTOC_HOME=/usr/local/protobuf-2.5.0 export PATH=$PATH:$PROTOC_HOME/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PROTOC_HOME/lib`
M2_HOME=/usr/maven/apache-maven-3.0.5 export MAVEN_OPTS="-Xms256m -Xmx512m" export PATH=$M2_HOME/bin:$PATH
export HADOOP_HOME=/opt/hadoop/hadoop-2.6.0 export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
|
- hadoop-env.sh
1 2
| export JAVA_HOME=/usr/java/jdk1.7.0_60 export HADOOP_HOME=/opt/hadoop/hadoop-2.6.0
|
- yarn-env.sh
1 2
| export JAVA_HOME=/usr/java/jdk1.7.0_60 export HADOOP_HOME=/opt/hadoop/hadoop-2.6.0
|
- mapred-env.sh
1 2
| export JAVA_HOME=/usr/java/jdk1.7.0_60 export HADOOP_HOME=/opt/hadoop/hadoop-2.6.0
|
- core-site.xml
1 2 3 4 5 6 7 8 9
| <property> <name>fs.default.name</name> <value>hdfs://hadoop-yarn.dragon.org:8020</value> </property>
<property> <name>hadoop.tmp.dir</name> <value>/opt/modules/hadoop-2.2.0/data/tmp</value> </property>
|
- hdfs-site.xml
1 2 3 4 5 6 7 8
| <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property>
|
- yarn-site.xml
1 2 3 4
| <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
|
- mapred-site.xml
1 2 3 4
| <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
|
启动
-
启动HDFS(NameNode、DataNode、SecondaryNameNode)
1
| bin/hdfs namenode -format
|
- 启动NameNode
1
| sbin/hadoop-daemon.sh start namenode
|
- 启动DataNode
1
| sbin/hadoop-daemon.sh start datanode
|
- 启动SecondaryNameNode
1
| sbin/hadoop-daemon.sh start secondarynamenode
|
- 启动YARN(ResourceManager、NodeManager)
1
| sbin/yarn-daemon.sh start resourcemanager
|
- 启动NodeManager
1
| sbin/yarn-daemon.sh start nodemanager
|
- 启动历史服务器
1
| sbin/mr-jobhistory-daemon.sh start historyserver
|
- 启动方式
1 2 3
| sbin/start-dfs.sh sbin/start-yarn.sh sbin/start-all.sh
|
实例与测试
启动后,用命令jps
检查是否启动
![]()
访问HDFD的NameNode url http://hadoop-yarn.jasonsoso.com:50070/
![]()
访问HDFD的Secondary NameNode url http://hadoop-yarn.jasonsoso.com:50090/
![]()
本文配置主要是为伪布式,那么Hadoop 集群的安装配置大致为如下:
-
选定一台机器作为 Master 主节点
-
在 Master 主机上配置hadoop用户、安装SSH server、安装Java环境
-
在 Master 主机上安装Hadoop,并完成配置
-
在其他主机上配置hadoop用户、安装SSH server、安装Java环境
-
将 Master 主机上的Hadoop目录复制到其他主机上
-
开启、使用 Hadoop
-
需要特别注意的是:
- 网络配置hosts
- SSH无密码登陆各节点
- 部分配置