Hadoop实战(1)_阿里云搭建Hadoop2.x的伪分布式环境

环境:阿里云服务器 CentOS 7 x86_64

安装介质:jdk-7u75-linux-i586.tar.gz,hadoop-2.4.1.tar.gz

安装jdk

tar -zxvf jdk-7u75-linux-i586.tar.gz

配置环境变量:

# vi .bash_profile

JAVA_HOME=/root/training/jdk1.7.0_75
export JAVA_HOME

PATH=$JAVA_HOME/bin:$PATH
export PATH

# source .bash_profile
# which java
# java -version

bug解决:64bit的操作系统,无法运行32bit的应用程序,需要安装32bit的glibc库。

-bash: /root/training/jdk1.7.0_75/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
# yum install glibc*.i686
# locate /lib/ld-linux.so.2
# rpm -qf /lib/ld-linux.so.2

安装Hadoop

# tar -zxvf hadoop-2.4.1.tar.gz

配置环境变量:

# vi .bash_profile

HADOOP_HOME=/root/training/hadoop-2.4.1
export HADOOP_HOME

PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH

# source .bash_profile

本地模式的配置

参数文件配置参数参考值
hadoop-env.shJAVA_HOME/root/training/jdk1.7.0_75
# vi hadoop-env.sh

export JAVA_HOME=/root/training/jdk1.7.0_75

修改hostname,/etc/hosts下的地址必须使用私有地址。

# vi /etc/hosts

192.168.1.107 izwz985sjvpoji48moqz01z

验证mapreduce

# hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount ~/training/data/input/data.txt ~/training/data/output/
# more part-r-00000

伪分布式模式配置

参数文件配置参数参考值备注
hadoop-env.shJAVA_HOME/root/training/jdk1.7.0_75Java的home目录
hdfs-site.xmldfs.replication1数据的冗余度
core-site.xmlfs.defaultFShdfs://<hostname>:9000namenode的IP地址和端口,9000是RPC通信的端口
core-site.xmlhadoop.tmp.dir/root/training/hadoop-2.4.1/tmp如不修改默认为/tmp,设置的路径必须事先存在
mapred-site.xmlmapreduce.framework.nameyarn指定MR运行在yarn上
yarn-site.xmlyarn.resourcemanager.hostname<hostname>指定YARN的老大(ResourceManager)的地址
yarn-site.xmlyarn.nodemanager.aux-servicesmapreduce_shufflereducer获取数据的方式

hdfs-site.xml

<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

core-site.xml

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://192.168.1.107:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/root/training/hadoop-2.4.1/tmp</value>
</property>

mapred-site.xml,cp mapred-site.xml.template mapred-site.xml

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

yarn-site.xml

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>192.168.1.107</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

验证HDFS和mapreduce

# cd ~/trainging
# ls hadoop-2.4.1/tmp/
# hdfs namenode -format
# start-all.sh
# jps
5828 NodeManager
6284 Jps
5438 SecondaryNameNode
5288 DataNode
5579 ResourceManager
5172 NameNode
# hdfs dfsadmin -report
# hdfs dfs -mkdir /input
# hdfs dfs -put data/input/data.txt /input/data.txt
# hdfs dfs -lsr /
# hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount /input/data.txt /output
# hdfs dfs -cat /output/part-r-00000
# stop-all.sh
# jps

配置Hadoop的SSH免密码登录

Server AServer B
1、生成A的密钥和公钥ssh-keygen -t rsa
2、将A的公钥 –> B,ssh-copy -i –> B3、得到Server A的公钥
4、随机产生一个字符串:helloworld
5、使用A的公钥进行加密:*****
6、将加密后的字符串***发给A
7、得到B发来的加密字符串
8、使用私钥进行解密 –> helloworld
9、将解密后的helloworld发给B10、得到A发来的解密后的字符串helloworld
11、对比step4和step10这两个字符串,一样则Server B允许Server A免密码登录到Server B
# cd ~
# ls .ssh/
hnown_hosts
# ssh-keygen -t rsa
# ssh-copy-id -i .ssh/id_rsa.pub root@120.78.89.97
# more .ssh/authorized_keys

微信公众号「数据分析」,分享数据科学家的自我修养,既然遇见,不如一起成长。

《Hadoop实战(1)_阿里云搭建Hadoop2.x的伪分布式环境》 数据分析

转载请注明:转载自微信公众号「数据分析」

    原文作者:padluo
    原文地址: https://www.jianshu.com/p/6ef4929d454b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞