Hadoop Single Node Cluster安装
Hadoop Single Node Cluster 可以用一台机器来建立Hadoop环境。
Hadoop Single Node Cluster 只有一台服务器,整合了所有功能:
安装步骤:
- 安装JDK:Hadoop是基于Java开发
- 设置SSH无密码登录:Hadoop必须通过SSH与本地计算机以及其他主机连接,必须设置SSH
- 下载安装Hadoop:Hapdoop官网下载Hadoop,安装到Ubuntu系统中
- 设置Hadoop环境变量:设置每次用户登录时必须要设置的环境变量
- Hadoop配置文件设置:在/usr/local/hadoop/etc/hadoop目录下有很多配置设置文件
- 创建并格式化HDFS目录
- 启动Hadoop
- 打开Hadoop Web界面:查看当前Hadoop状态:Node节点,应用程序,任务运行状态
安装JDK
Ubuntu系统桌面下,“Ctrl+Alt+T”启动终端窗口:输入命令:
查看当前java版本:
java -version
连接到APT Server,获取最新软件包版本:(输入安装时的用户密码)
sudo apt-get update
安装 JDK:输入Y,点击键盘enter键
sudo apt-get install default-jdk
查询Java安装路径:
update-alternatives --display java
设置SSH无密码登录
启动Hadoop系统时,NameNode必须与DataNode连接并管理这些节点(DataNode),此时系统需要用户输入密码,为便于运行不需要手动输入密码,需要将SSH设置为无密码登录(无密码登录)并非不需要密码,而是以事先交换的SSH key(密钥)来进行身份验证。
Hadoop使用SSH(Secure Shell)连接,是目前较可靠,专为远程登录其他服务器提供的安全性协议。通过SSH会对所有传输的数据进行加密,利用SSH协议可以防止远程管理系统时信息外泄的问题。
安装SSH:输入Y,点击键盘enter键
sudo apt-get install ssh
安装rsync:
sudo apt-get install rsync
产生SSH Key(密钥):使用ssh-keygen 产生密钥
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
查看密钥文件SSH Key (密钥):
ll ~/.ssh
将产生的Key放置到许可证文件中:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
下载安装Hadoop
下载Hadoop 2.6.4,打开Ubuntu浏览器输入下载地址:https://archive.apache.org/dist/hadoop/common/
点击Hadoop 2.6.4版本(为例)
进入链接,在“hadoop-2.6.4.tar.gz”上右键,选择“Copy Link Location”
终端输入 Wget + 复制下来的链接:
wget https://archive.apache.org/dist/hadoop/common/hadoop-2.6.4/hadoop-2.6.4.tar.gz
解压缩hadoop-2.6.4.tar.gz 至 hadoop-2.6.4 目录:
sudo tar -zxvf hadoop-2.6.4.tar.gz
将Hadoop移动到软件默认安装路径/usr/local:
sudo mv hadoop-2.6.4 /usr/local/hadoop
查看Hadoop安装目录:
ll /usr/local/hadoop
设置Hadoop环境变量
在~/.bashrc文件中设置每次登录时都会自动运行一次环境变量设置:
**编辑~/.bashrc:**enter键打开~/.bashrc
sudo gedit ~/.bashrc
输入下列内容:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
保存,关闭。上述设置说明:
设置JDK安装路径:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
设置HADOOP_HOME为Hadoop的安装路径/usr/local/hadoop:
export HADOOP_HOME=/usr/local/hadoop
设置PATH:
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin设置HADOOP其他环境变量:
export HADOOP_MAPRED_HOME=$HADOOP_HOME export
HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME链接库的相关设置
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib" export
JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
让 ~/.bashrc 修改的设置生效
source ~/.bashrc
修改Hadoop配置设置文件
1、设置hadoop-env.sh配置文件
编辑Hadoop-env.sh
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
修改JAVA_HOME字段:
export JAVA_HOME=${JAVA_HOME}修改为:export
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64- 修改完成后,保存,关闭gedit。
2、设置core-site.xml
修改core-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml
在<configuration> 和</configuration>键入
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
保存并关闭.
3、设置YARN-site.xml
编辑YARN-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml
在<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>
- 保存并关闭。
4、设置mapred-site.xml
mapred-site.xml用于设置监控Map与Reduce程序的JobTracker任务分配情况以及TaskTracker任务运行情况。Hadoop提供了设置的模板文件,可以自行复制修改。
复制模板文件:由mapred-site.xml.template 至mapred-site.xml:
sudo cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template
/usr/local/hadoop/etc/hadoop/mapred-site.xml编辑mapred-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml
在<configuration> 和</configuration>键入
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- 保存并关闭。
5、设置hdfs-site.xml
hdfs-site.xml用于设置HDFS分布式文件系统
编辑hdfs-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml
在<configuration> 和</configuration>键入
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
</property>
- 保存并关闭。
创建并格式化HDFS目录
1、创建namenode、datanode数据存储目录
创建namenode数据存储目录
sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode
创建datanode数据存储目录
sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode
将Hadoop目录的所有者更改为“本机用户”
sudo chown 本机用户名:本机用户名 -R /usr/local/hadoop
2、格式化namenode
将HDFS进行格式化
hadoop namenode -format
启动Hadoop
启动Hadoop可以使用以下两种方式,直接在终端命令行输入start-all.sh:
- 分别启动HDFS、YARN,使用start-dfs.sh(启动HDFS)、start-yarn.sh(启动YARN)
- 同时启动HDFS、YARN,使用start-all.sh
查看NameNode、DataNode进程是否启动
jps
上图中的启动进程说明:因为只有一台服务器,所以所有功能都集中在这台服务器中。
- HDFS相关功能:NameNode、SecondaryNameNode、DataNode 已经启动
Hadoop Web 界面
1、Hadoop Resource-Manager Web界面
Hadoop Resource-Manager Web 界面可用于查看当前Hadoop的状态:Node节点、应用程序、进程运行状态
打开浏览器,输入http://localhost:8088/
2、NameNode HDFS Web 界面
HDFS Web界面可以检查当前HDFS与DataNode的运行情况,打开浏览器,输入http://localhost:50070/