ubuntu下配置hadoop2.6伪分布模式

软件下载


一.配置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


以上为本人根据很多网上配置版本配置伪分布式的步骤过程以及遇到的几个问题,好记性不如烂笔头,先在此记录,第一次写,若不周请见谅。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值