1.下载hadoop,配置java.jdk
hadoop官网 http://hadoop.apache.org/
一定要下binary版本,这是编译完成版
下载完成之后,解压成文件夹,将文件夹移动固定位置,我的是/usr/local
sudo mv hadoop-2.10.0 /usr/local
安装jdk
java.jdk的安装教程
2.开启ssh服务
2.1 ssh localhost 查看是否开启ssh服务,如果没开启,就往下进行开启服务。如果开启,跳到2.3步
2.2安装ssh
则使用如下命令进行安装:
sudo apt-get install ssh openssh-server
安装完成后使用命令 $ ssh localhost 登录本机。首次登录会有提示,输入yes,接着输入当前用户登录电脑的密码即可。
2.3免密设置
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat id_rsa.pub >> authorized_keys # 加入授权
chmod 600 ./authorized_keys # 修改文件权限
这个时候一定要够运行ssh localhost,如果失败继续调试,参考我的博客中的一小步。
3.配置环境变量和文件
先到/etc/profile文件配置环境变量,sudo gedit /etc/profile,在文件末尾加入
#hadoop env
export HADOOP_HOME=/usr/local/hadoop-2.10.0 ##这个是我的安装包路径
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOMEexport YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
之后记得source /etc/profile
到/usr/local/hadoop-2.10.0/etc/hadoop文件中进行文件配置,这一步非常重要,在下面看清路径,需要配置的文件都在这个路径里
wyh@ai-lab:/usr/local/hadoop-2.10.0/etc/hadoop$ pwd
/usr/local/hadoop-2.10.0/etc/hadoop
1.首先进行hadoop-env.sh配置,sudo gedit /usr/local/hadoop-2.10.0/etc/hadoop/hadoop-env.sh
将文件中的export JAVA_HOME=${JAVA_HOME}改为export JAVA_HOME=/usr/local/jdk1.8.0_231 ##自己安装的javajdk路径
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/local/jdk1.8.0_231 ##自己安装的javajdk路径
2.配置core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop-2.10.0/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
3.hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop-2.10.0/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop-2.10.0/tmp/dfs/data</value>
</property>
</configuration>
4.配置完成以后格式化名称节点,然后开启守护进程,以下指令在/usr/local/hadoop-2.10.0的路径下开启终端执行
./bin/hdfs namenode -format
./sbin/start-dfs.sh
中间可能要输几次密码
5.用jps命令来检查启动结果
之后要执行
sudo update-alternatives --install /usr/bin/jps jps /usr/local/jdk1.8.0_231/bin/jps 1
4.启动yarn
指令在/usr/local/hadoop-2.10.0的路径下开启终端执行
mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml
然后编辑配置文件/usr/local/hadoop-2.10.0/etc/hadoop/mapred-site.xml
sudo gedit /usr/local/hadoop-2.10.0/etc/hadoop/mapred-site.xml
1.编辑mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
2编辑yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties --> ##这个是原文本所带
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
3.执行以下命令启动yarn
指令在/usr/local/hadoop-2.10.0的路径下开启终端执行
./sbin/start-yarn.sh $ 启动YARN
./sbin/mr-jobhistory-daemon.sh start historyserver # 开启历史服务器,才能在Web中查看任务运行情况
以上可能要输密码,输完密码即可。
4.进行测试
这时应该配置bashrc文件
sudo gedit ~/.bashrc
export PATH=$PATH:/usr/local/hadoop-2.10.0/sbin:/usr/local/hadoop-2.10.0/bin
之后source ~/.bashrc
l
之后指令在/usr/local/hadoop-2.10.0的路径下开启终端执行
./bin/hdfs namenode -format
./sbin/start-dfs.sh
./sbin/start-yarn.sh $ 启动YARN
./sbin/mr-jobhistory-daemon.sh start historyserver # 开启历史服务器,才能在Web中查看任务运行情况
http://localhost:50070
http://localhost:8088/cluster
至此就成功安装,如果网页打不开,基本是第一步./bin/hdfs namenode -format初始化中hostname不对应。
Shutting down NameNode at java.net.UnknownHostException
以上所有文件更改在两台电脑试验,均成功,不能随意改动步骤。