Hadoop搭建02-----Hadoop的安装(完全分布式配置)

Hadoop的安装(Ubuntu)

1.安装jdk

a.先在/目录下创建一个soft文件夹

sudo mkdir /soft

b.修改文件权限

sudo chown ubuntu:ubuntu /soft

c.把jdk文件tar开

tar -xzvf jdk-xxxxxx.tar.gz

d.把tar开的文件移动到soft下

mv ~/Deskxxx/jdk-xxx /soft

e.做一个符号链接

ln -s jdk1.xxx jdk

f.配置环境变量(系统环境变量)

sudo nano /etc/environment

g.加入以下内容

JAVA_HOME=/soft/jdk
PATH=“xxxxxxx:/soft/jdk/bin”

h.使环境变量即刻生效

source /etc/environment

i.查看版本

java -version

---------------------------------------------------------------------------------------

2.安装hadoop

a.把hadoop文件tar开

tar -xzvf hadoop-xxxxxx.tar.gz

b.把tar开的文件移动到soft下

mv ~/Deskxxx/hadoop-xxx /soft

c.做一个符号链接

ln -s hadoop2.xxx hadoop

d.配置环境变量(系统环境变量)

sudo nano /etc/environment

e.加入以下内容

HADOOP_HOME=/soft/hadoop PATH=“xxxxxxx:/soft/hadoop/bin:/soft/hadoop/bin:/soft/hadoop/sbin”

f.使环境变量即刻生效

source enviornment

g.重启虚拟机

sudo reboot

h.查看版本

hadoop version

---------------------------------------------------------------------------------------

3.安装ssh

a.安装

sudo apt-get install ssh

b.生成密钥对

ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa

c.导入公钥到授权keys文件

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

---------------------------------------------------------------------------------------

使用nc在两个client之间传递文件

0.描述

100向101传递文件。

1.在101机器

nc -l 8888 > ~/.ssh/id_rsa.pub.100

2.在100机器

nc 192.168.58.101 8888 < ~/.ssh/id_rsa.pub

3.在101上添加公钥文件

cat ~/.ssh/id_rsa.pub.100 >> ~/.ssh/authorized_keys

scp

scp -r ~/.ssh/id_rsa.pub ubuntu@s101:~/.ssh/id_rsa.pub.100

rsync

rsync -rvl ~/.ssh/id_rsa.pub ubuntu@s101:~/.ssh/id_rsa.pub.100
rsync -rvl /soft/* ubuntu@s101:/soft

---------------------------------------------------------------------------------------

自定义脚本xsync,在集群上分发文件。

循环复制文件到所有节点的相同目录下。

rsync -rvl /home/ubuntu ubuntu@s101:
xsync hello.txt

s100下:

1.进到/usr/local/bin下

touch xsync

修改权限

chmod a+x xsync

2.编辑xsync

nano xsync

脚本内容为:
#!/bin/bash
pcount=$#
if (( pcount<1 )) ; then
echo no args;
exit;
fi

p1=$1;
fname=`basename $p1`
#echo fname=$fname;

pdir=`cd -P $(dirname $p1) ; pwd`        #获得上级目录的绝对路径   
#echo pdir=$pdir			#`为反引号

cuser=`whoami`
for (( host=101; host<103 ; host=host+1 )) ; do
  echo ------------- s$host --------------
  rsync -rvl $pdir/$fname $cuser@s$host:$pdir
done

---------------------------------------------------------------------------------------

自定义脚本xcall,在所有主机上执行相同的命令。

例:

xcall rm -rf /soft/jdk

s100下:

1.进到/usr/local/bin下

cp xsync xcall

2.编辑xcall

nano xcall

脚本内容为:
#!/bin/bash
pcount=$#
if (( pcount<1 )) ; then
echo no args;
exit;
fi

echo ------------- localhost --------------
$@

for (( host=101; host<103 ; host=host+1 )) ; do
  echo ------------- s$host --------------
  ssh s$host $@
done

--------------------------------------------------------------------------------------

完全分布式

1.准备3台客户机
2.安装jdk

3.配置环境变量

JAVA_HOME
PATH

4.安装Hadoop

5.配置环境变量

HADOOP_HOME
PATH

6.安装ssh

通ubuntu
通root

a.生成密钥对

root下 >ssh-keygen -t rsa -P ‘’ -f id_rsa

b.导入公钥到授权keys文件

root下 >cat id_rsa.pub >> authorized_keys

c.分别在客户机root目录下建立.ssh文件
d.分发授权keys文件

scp authorized_keys root@s101:/root/.ssh

7.环境变量可以通过rsync进行分发

rsync -rl /soft/* ubuntu@s101:/soft
rsync /etc/environment root@s101:/etc/

8.配置文件
a.[/soft/hadoop/etc/hadoop/core-site.xml]

fs.defaultFS=hdfs://s100/

	<?xml version="1.0" encoding="UTF-8"?>
	<?xml-stylensheet type="text/xsl" href="configuration.xsl"?>
	<configuration>
		<property>
			<name>fs.defaultFS</name>
			<value>hdfs://s100:8020/</value>
		</property>
	</configuration>
b.[/soft/hadoop/etc/hadoop/hdfs-site.xml]

replication=3
有几个数据节点就写几

	<?xml version="1.0"?>
	<configuration>
		<property>
			<name>dfs.replication</name>
			<value>3</value>
		</property>
		<property>
			<name>dfs.namenode.secondary.http-address</name>
			<value>s104:50090</value>
		</property>
	</configuration>
c.[/soft/hadoop/etc/hadoop/yarn-site.xml]

yarn.resourcemanager.hostname=s100

	<?xml version="1.8"?>
	<configuration>
		<property>
			<name>yarn.resourcemanager.hostname</name>
			<value>s100</value>
		</property>
		<property>
			<name>yarn.nademanager.aux-services</name>
			<value>mapreduce_shuffle</value>
		</property>
	</configuration>
d.[/soft/hadoop/etc/hadoop/slaves]
	s101
	s102
	...
e.(不是必要)[/soft/hadoop/etc/hadoop/mapred-site.xml]

配置历史服务器,查看程序的历史运行情况

	<configuration>
		<!-- 历史服务器端地址 -->
		<property>
			<name>mapreduce.jobhistory.address</name>
			<value>s100:10020</value>
		</property>
		<property>
			<!-- 历史服务器web端地址 -->
			<name>mapreduce.jobhistory.webapp.address</name>
			<value>s100:19888</value>
		</property>
	</configuration>

启动历史服务器:

mr-jobhistory-daemon.sh start historyserver

用jps查看

9.分发文件

在/soft/hadoop/etc/hadoop目录下进行分发

xsync core-site.xml
xsync hdfs-site.xml
xsync yarn-site.xml
xsync slaves

10.格式化文件系统

xcall rm -rf /tmp/hadoop-ubuntu
xcall rm -rf /tmp/hadoop-ubuntu-datanode.pid

hadoop namenode -format

11.主要网址

s100:50070
s101:50075
s102:50090

修改本地的临时目录

1.修改hadoop.tmp.dir

[core-site.xml]

<property>
	<name>hadoop.tmp.dir</name>
	<value>/home/ubuntu/hadoop</value>
</property>
2.分发core-site.xml

xcall mkdir /home/ubuntu/hadoop
xsync core-site.xml

3.停止进程

stop-all.sh
xcall rm -rf /tmp/hadoop-ubuntu
xcall rm -rf /soft/hadoop/logs

4.格式化

hadoop namenode -format

5.启动所有进程

start-all.sh

常用命令

1.格式化文件系统

hadoop namenode -format

2.put

hadoop fs -put
hdfs dfs -put

3.查看文件系统目录

hdfs dfs -ls -R /

4.重命名

hdfs dfs -mv ./sshd.txt ./how.txt

5.下载

hdfs dfs -get ./sshd.txt ./kk.txt
hdfs dfs -copyToLocal

6.移动到hdfs

hdfs dfs -moveFromLocal hello.txt .

7.删除文件

hdfs dfs -rm -r …

8.删除目录(空目录)

hdfs dfs -rmdir …

9.在hdfs上进行文件复制

hdfs dfs -cp /user/ubuntu/hello.txt /user/hello.txt

10.建目录

hadoop fs -mkdir -p /user/ubuntu/data

11.上传文件

hadoop fs -put hello.txt /user/ubuntu/data

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值