75.zookeeper服务与分布式集群(2)

发表于 linux 分类,标签:
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


0 篇评论

发表我的评论