一、准备工作
1.虚拟机:vmware10及其注册机 https://pan.baidu.com/s/1B9Rkckcd7GEFv4o-EVdu_Q
2.操作系统:Ubuntu18.04 https://pan.baidu.com/s/1aF04l2NQ41tzmybRxQJXhQ
3.Hadoop2.6.4: https://pan.baidu.com/s/12Ty_35GkYjJNDl4OBI3VKQ
4.集群结构:
二、Hadoop Single Node Cluster的安装
先创建以一台机器能够运行的Hadoop的环境,这样可以测试错误,以后master与data结点的建立可以直接复制,再在其基础上修改,节省了时间。
1.安装JDK
因为Hadoop是以JAVA开发的,所以需要安装java环境
sudo apt-get install default-jdk
查询Java版本,确保是否安装成功 java -version
查询Java安装路径,等下好配置环境变量
update-alternatives --display java
查询结果:
2.设置SSH无密码登陆
安装SSH
sudo apt-get install ssh
安装rsync
sudo apt-get install rsync
产生SSH Key进行后续身份验证
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
查看产生的SSH Key
ssh key会产生在用户的根目录下,即/home/master
将产生的Key放置到许可认证文件中
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
3.下载安装Hadoop
解压缩hadoop-2.6.4.tar.gz至hadoop-2.6.4目录
sudo tar -zxvf hadoop-2.6.0.tar.gz
移动 hadoop-2.6.4目录到/usr/local/hadoop
因为liunx下的软件默认安装路径是/usr/local
sudo mv hadoop-2.6.0 /usr/local/hadoop
4.设置Hadoop环境变量
编辑~/.bashrc
sudo gedit ~/.bashrc
在文件末尾添加以下内容
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 #这里为java的安装文件地址
export HADOOP_HOME=/usr/local/hadoop #这里为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
保存完后让bashrc生效
source ~/.bashrc
5.修改Hadoop配置设置文件
① 修改hadoop-env.sh
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
将export JAVA_HOME=${JAVA_HOME}改为下列內容:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
②修改core-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml
将其改为:fs.default.name hdfs://localhost:9000
③ 修改yarn-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml
输入下列內容:
<!-- Site specific YARN configuration properties -->
<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>
</configuration>
④修改mapred-site.xml
mapred-site.xml用于设置监控Map与Reduce程序的JobTracker任务分配情况以及TaskTracker任务运行情况。
#复制模板文件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
输入下列內容:
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>master:54311</value>
</property>
</configuration>
⑤修改hdfs-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml
输入下列內容:
<!-- Put site-specific property overrides in this file. -->
<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.name.dir</name>
<value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
</property>
</configuration>
其分别为设置blocks副本备份数量、设置NameNode数据存储目录、设置DataNode数据存储目录
6.创建并格式化HDFS目录
创建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 hduser:wxk -R /usr/local/hadoop
将HDFS进行格式化
hadoop namenode -format
7.启动Hadoop
启动start-dfs.sh,再启动 start-yarn.sh
start-dfs.sh start-yarn.sh
启动全部
start-all.sh
查看目前所执行的行程
jps
三、打开Hadoop Web界面
1.打开Hadoop ResourceManager Web界面:http://localhost:8088/
Hadoop ResourceManager Web界面可用于查看当前Hadoop的状态:Node结点、应用程序、进程运行状态
2.打开HDFS Web UI界面:http://localhost:50070/
HDFS Web UI界面可以检查当前HDFS与DataNode的运行状况
四、关于多台机器建立Hadoop集群请看下一篇