2.1_时钟同步
cp /usr/share/coneinfo/Asia/Shanghai /etc/localtime 替换时区
yum install ntp 安装ntp
ntpdate pool.ntp.org 同步时间
2.2_hostname配置
参考第一章
2.3_关闭防火墙
参考第一章
2.4_ssh免密登录
su - hadoop 切换用户
mkdir .ssh 创建目录
ssh-keygen -t rsa 生成密钥
cp id_rsa.pub authorized_keys copy公钥到认证文件
cat ~/.ssh/id_rsa.pub | ssh hadoop@cdh_31 'cat >>~/.ssh/authorized_keys' 复制到01机器
scp -r authorized_keys hadoop@cdh_32:~/.ssh/ 复制到02和03机器
2.5_集群脚本准备
创建目录
mkdir /home/hadoop/tools
deploy.conf deploy.sh runRemoteCmd.sh
给脚本执行权限
chmod u+x deploy.sh
chmod u+x runRemoteCmd.sh
配置环境变量脚本
vi ~/.bashrc
PATH=/home/hadoop/tools:$PATH
export PATH
批量创建目录
runRemoteCmd.sh "mkdir /home/hadoop/app" all
runRemoteCmd.sh "mkdir /home/hadoop/data" all
deploy.conf
#规划集群角色
cdh_31,,all,zookeeper,namenode,datanode,
cdh_32,slave,all,zookeeper,namenode,datanode,
cdh_33,slave,all,zookeeper,datanode,
deploy.sh
#!/bin/bash
if [ $# -lt 3 ]
then
echo "Usage: ./deploy.sh srcFile(or Dir) descFile(or Dir) MachineTag"
echo "Usage: ./deploy.sh srcFile(or Dir) descFile(or Dir) MachineTag confFile"
fi
src=$1
dest=$2
tag=$3
if [ 'a'$4'a' == 'aa' ]
then
confFile=/home/hadoop/tools/deploy.conf
else
confFile=$4
fi
if [ -f $confFile ]
then
if [ -f $src ]
then
for server in `cat $confFile | grep -v '^#' | grep ','$tag','|awk -F',' '{print $1}'`
do
scp $src $server":"${dest}
done
elif [ -d $src ]
then
for server in `cat $confFile | grep -v '^#' | grep ','$tag','|awk -F',' '{print $1}'`
do
scp -r $src $server":"${dest}
done
else
echo "Error: No source file exist"
fi
else
echo "Error: Please assign config file or run deploy.sh command with deploy.conf in same directory"
fi
runRemoteCmd.sh
#!/bin/bash
if [ $# -lt 2 ]
then
echo "Usage: ./runRemoteCmd.sh Command MachineTag"
echo "Usage: ./runRemoteCmd.sh Command MachineTag confFile"
exit
fi
cmd=$1
tag=$2
if [ 'a'$3'a' == 'aa' ]
then
confFile=/home/hadoop/tools/deploy.conf
else
confFile=$3
fi
if [ -f $confFile ]
then
for server in `cat $confFile | grep -v '^#' | grep ','$tag','|awk -F',' '{print $1}'`
do
echo "***********$server*************"
ssh $server "source ~/.bashrc$cmd"
done
else
echo "Error: Please assign config file or run deploy.sh command with deploy.conf in same directory"
fi
2.6_jdk安装
ln -s jdk1.8.0_51 jdk
vim /etc/profile 全部用户
vim ~/.bashrc 本用户
JAVA_HOME=/home/hadoop/app/jdk
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:/home/hadoop/tools:$PATH
export JAVA_HOME CLASSPATH PATH
2.7_使jdk生效
source ~/.bashrc
2.8_zookeeper
ln -s zookeeper-3.4.5-cdh5.10.0 zookeeper
上传zoo.cfg到conf目录,修改server名称
2.9_创建规划目录
runRemoteCmd.sh "mkdir -p /home/hadoop/data/zookeeper/zkdata" all
runRemoteCmd.sh "mkdir -p /home/hadoop/data/zookeeper/zkdatalog" all
2.10_新建myid
在对应服务器中,/home/hadoop/data/zookeeper/zkdata/myid,对应1,2,3
2.11_启动
runRemoteCmd.sh "/home/hadoop/app/zookeeper/bin/zkServer.sh start" all 启动
runRemoteCmd.sh "jps" all 查看进程
runRemoteCmd.sh "/home/hadoop/app/zookeeper/bin/zkServer.sh status" all 查看状态
2.12_查看
./bin/zkCli.sh
ls /
ls /zookeeper/quota
get /zookeeper/quota
help
create /test "test"
rmr /test
-
« 上一篇:
74.大数据准备(1)
-
76.hdfs分布式文件系统(3)
:下一篇 »