软件下载
一.配置JDK
tar -zxvf jdk-8u161-linux-x64.tar.gz //解压
mv jdk1.8.0_161 java8 //重命名
sudo mv java8 /opt/ //移动到opt
vim /etc/profile //修改全局变量
profile中添加:
#java
export JAVA_HOME=/opt/java8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source /etc/profile 保存后更新全局变量
java -version //查看java环境
二、配置ssh免密登录
sudo apt-get install ssh openssh-server
ssh localhost //此时登录localhost需要输入root的密码
exit //退出
sudo /etc/init.d/ssh start
ps -e | grep ssh //查看ssh服务是否启动
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa //一直回车
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh localhost //此时不再需要root密码
exit //退出
关闭防火墙
sudo ufw disable
重启后显示inactive即关闭成功
sudo ufw status
三、配置hadoop
tar -zxvf hadoop-2.6.5.tar.gz
mv hadoop2.6.5 hadoop
sudo mv hadoop /usr/local/ //移动到usr/local目录下
配置hadoop全局变量
vim /etc/profile
profile中添加:
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
source /etc/profile //更新全局环境变量
hadoop version
配置hadoop中的配置文件 (伪分布式环境)
cd /usr/local/hadoop/etc/hadoop
mkdir tmp
mkdir tmp/hdfs
mkdir tmp/hdfs/data
mkdir tmp/hdfs/name
修改hadoop-env.sh
# The java implementation to use.
export JAVA_HOME=/opt/java8
#末尾添加
export HADOOP=/usr/local/hadoop
export PATH=$PATH:/usr/local/hadoop/bin
修改yarn-env.sh
# some Java parameters
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
JAVA_HOME=/opt/java8
修改hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/hdfs/data</value>
</property>
修改mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
修改yarn-site.sh
<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>
<property>
<name>yarn.resourcemanager.address</name>
<value>127.0.0.1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>127.0.0.1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>127.0.0.1:8031</value>
</property>
启动hdfs使用伪分布模式
hadoop namenode -format
cd /usr/local/hadoop/sbin
start-all.sh //启动hdfs 需要输入yes
jps //显示进程
bin/hadoop fs -mkdir -p input
hadoop fs -copyFromLocal test.txt input //test.txt为hadoop目录下自己新建的一个文本文件,自行创建
利用自带的wordcount进行测试
hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.6.5-sources.jar org.apache.hadoop.examples.WordCount input output
hadoop fs -cat output/* //查看统计结果
运行日志等可以在以下两个地址中查看
localhost:50070
localhost:8088
其他注意事项 (以下为配置过程中,本人遇到过的问题):
1.jps查看进程后
发现namenode启动了,但是datanode没有启动
进入hdfs-site.xml
以下两个目录中的current文件夹中
将data/current中的VERSION文件中的clusterID字段改为与name/current中的clusterID相同
然后先停止hdfs后,再启动hdfs
2.hdfs启动成功,且输入jps显示进程以下6个都显示,能够打开localhost:8088
却无法访问到localhost:50070
即在hdfs-site.xml中添加
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
然后停止hdfs后
hadoop namenode -format
保证namenode和datanode中VERSION中的clusterID相同后,再重新启动hdfs
以上为本人根据很多网上配置版本配置伪分布式的步骤过程以及遇到的几个问题,好记性不如烂笔头,先在此记录,第一次写,若不周请见谅。