Hadoop三种模式

本地模式(使用的Linux存储系统):

1、tar -zxvf hadoop-2.7.3.tar.gz -C /soft

2、cd /soft

3、ln -s hadoop-2.7.3 hadoop

4、sudo nano /etc/profile

5、在最后一行下边添加以下内容:

export HADOOP_HOME=/soft/hadoop

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

6、source /etc/profile

7、测试:hadoop version

8、常用命令:

hdfs dfs -ls ====== 列出当前目录下的文件

hdfs dfs -mkdir ====== 新建文件夹

hdfs dfs -cat ====== 查看文件内容

hdfs dfs -touchz ====== 新建文件

hdfs dfs -rm ====== 删除文件

伪分布式(使用Hadoop系统,只用一个主机):

1、配置文件,使三种模式共存:

(1)cd /soft/hadoop/etc

(2)mv hadoop local

(3)cp -r local pseudo

(4)cp -r local full

(5)ln -s psesudo hadoop ====== 想使用哪种模式,"hadoop"符号链接指向哪种

2、修改配置文件:

(1)cd /soft/hadoop/etc/hadoop

(2)nano core-site.xml

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://192.168.23.100/</value>
</property>

(3)nano hdfs-site.xml

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

(4)nano mapred-site.xml

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

(5)nano yarn-site.xml

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

(6)nano hadoop-env.sh,修改第25行:

export JAVA_HOME=/soft/jdk

3、hdfs namenode -format ====== 格式化文件系统

4、start-all.sh ====== 启动hadoop

5、jps ====== 查看进程

6、在浏览器输入:192.168.23.100:50070 ======  hadoop的WebUI界面

7、常用命令:

hdfs dfs -touchz /a.txt ====== 在hdfs中新建文件

hdfs dfs -put hw.txt / ====== 将hw.txt上传到hdfs的根目录下

hdfs dfs -get /a.txt b.txt ====== 将hdfs的根目录下的a.txt下载到当前目录,并改名为b.txt

SSH(远程登录):

客户端:私钥(id_rsa),将登录信息加密;服务端:公钥(id_rsa.pub),将登录信息加密

解密的文件并不是公钥,解密的文件内容是公钥内容

解密的文件是"authorized_keys",它的内容和"id_rsa.pub"的内容一样

ssh-keygen -t rsa -P ' ' -f ~/.ssh/id_ras ====== 生成公私密钥对,-t指定加密算法,-P定义锁头(即指定一个字符串进行加密),-f指定密钥位置

ssh-copy-id [email protected] ====== 将公钥发给其他主机

exit ====== 退出当前登录的主机

完全分布式:

1、克隆主机(链接克隆),打开s101~s104

2、修改主机名

3、修改静态IP

4、重启客户机

5、修改hosts文件(主机名和IP的映射):

(1)sudo nano /etc/hosts

(2)添加以下内容:

192.168.23.101 s101
192.168.23.102 s102
192.168.23.103 s103
192.168.23.104 s104

6、配置s101到其他主机的免密登录

(1)ssh-keygen -t rsa -P ' ' -f ~/.ssh/id_rsa

(2)将公钥拷贝到其他节点:ssh-copy-id centos@s101 (s102,s103,s104)

7、修改配置文件

(1)cd /soft/hadoop/etc

(2)修改"hadoop"符号链接到"full":ln -sfT full hadoop

(3)cd /soft/hadoop/etc/hadoop

(4)nano core-site.xml

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://s101</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/centos/hadoop</value>
</property>

(5)nano hdfs-site.xml

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

(6)nano mapred-site.xml

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

(7)nano yarn-site.xml

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

(8)nano hadoop-env.sh,修改第25行:

export JAVA_HOME=/soft/jdk

(9)修改slaves文件,将localhost删掉,添加以下内容:

s102
s103
s104

8、同步配置文件

(1)将其他节点的/soft/hadoop/etc删掉:

ssh s102 rm -rf /soft/hadoop/etc

ssh s104 rm -rf /soft/hadoop/etc

ssh s103 rm -rf /soft/hadoop/etc

(2)将本机的/soft/hadoop/etc分发到其他节点(无法发送符号链接):

scp -r /soft/hadoop/etc centos@s104:/soft/hadoop/

scp -r /soft/hadoop/etc centos@s103:/soft/hadoop/

scp -r /soft/hadoop/etc centos@s102:/soft/hadoop/

9、hdfs namenode -format

10、start-all.sh

11、体验MapReduce:

(1)hdfs dfs -put hw.txt / ====== 将hw.txt上传到hdfs的根目录下

(2)使用hadoop自带的demo进行单词统计:

hadoop jar /soft/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar  wordcount /hw.txt /out

(3)通过WebUI界面查看hadoop运行状态:192.168.23.100:8088

(4)hdfs dfs -get /out/part-r-00000 ====== 下载统计后的文件 

12、将secondarynamenode配置到s105

(1)在s101修改hdfs-site.xml:cd /soft/hadoop/etc/hadoop,nano hdfs-site.xml

<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>s105:50090</value>
</property>

(2)克隆s105

(3)修改hostname和静态IP,修改hosts文件

(4)重新配置所有节点的免密登录

(5)删除其他节点的所有etc文件夹,重新同步配置文件

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/foyemazl/article/details/81275762