hadoop01
hadoop02
hadoop03
三台服务器
hadoop3 需要的java环境必须在1.8 以上
hadoop3.0.0.1.tar.gz 项目文件下载
解压
解压后需要多件几个文件夹
在解压后的文件夹里面新建一个临时文件夹 hadooptemp
新建一个 日志文件夹 logs
新建一个hdfs文件夹 里面对应新建 data 和name 两个文件夹数据文件夹和名称文件
这是基本要设置的
#!/bin/bash
pcount=$#
if((pcount<1));then
echo 'no args';
exit;
fi
p1=$1;
fname=`basename $p1`
pdir=`cd -P $(dirname $p1); pwd`
echo $pdir
cuser=`whoami`
#echo $cuser
for((host=2;host<4;host=host+1));do
echo ---------------------hadoop0$host---------------------
rsync -rvl $pdir/$fname $cuser@hadoop0$host:$pdir
done
#!/bin/bash
pcount=$#
if((pcount<1));then
echo 'no args';
exit;
fi
$@
for((host=2;host<4;host=host+1));do
echo ---------------------hadoop0$host---------------------
ssh hadoop0$host $@
done
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.40.154 hadoop01
192.168.40.159 hadoop02
192.168.40.160 hadoop03
vim /etc/hostname
首先看看你的服务器是否有ssh服务,没有的话就先安装 (在根目录下是否有.ssh 文件夹)
yum install ssh
1)查看端口号:netstat –lnt
确认端口为默认的22端口。
(2)生成秘钥对:ssh-keygen –t rsa(出现提示一直默认)
(3)复制公钥到其他2个机器。
命令:ssh-copy-id -i id_rsa.pub root@hadoop02
这里要输入,yes 然后输密码
ssh-copy-id
脚本做了两件事:1、将秘钥拷贝到了目的服务器,并创建了.ssh目录,2、又将id_rsa.pub文件更改名字为:authorized_keys,并保持文件权限属性不变。
测试:
ssh root@hadoop ls -l ~
bash_profile
中配置
HADOOP_HOME和HADOOP_OPTS(这个是一些java 运行时的额外的jar包)
hadoop.env.sh
JAVA_HOME是否配置了
export JAVA_HOME="/usr/local/java/jdk1.8.0_144"
core-site.xml
fs.defaultFS
hdfs://hadoop01:9000/
The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation. The
uri's scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class. The uri's authority is used to
determine the host, port, etc. for a filesystem.
hadoop.tmp.dir
/root/hadoop/hadooptemp
A base for other temporary directories.
hdfs-site.xml
dfs.namenode.secondary.http-address
hadoop03:9868
The secondary namenode http server address and port.
dfs.namenode.secondary.https-address
hadoop03:9869
The secondary namenode HTTPS server address and port.
dfs.namenode.http-address
hadoop01:50070
dfs.namenode.name.dir
/root/hadoop/hadoop3/hdfs/name
dfs.datanode.data.dir
/root/hadoop/hadoop3/hdfs/data
dfs.replication
2
dfs.webhdfs.enabled
true
dfs.permissions.enabled
false
mapred-site.xml
mapreduce.framework.name
yarn
yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
在
workers
文件中写数据节点的机器的hostname
hadoop02
hadoop03
在start-dfs.sh stop-dfs.sh 添加配置
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
在start-yarn.sh stop-yarn.sh 添加配置
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
然后就可以吧这个hadoop3对应的文件夹分发到各个服务器了
然后应该就可以顺利启动了
出现什么问题就可以在logs日志里面看