查询文件所在位置
find / -name xsync
zkServer.sh start
zkServer.sh status
vi /etc/profile
#hadoop配置环境
export HADOOP_HOME=/opt/soft/hadoop260
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
#zookeeper配置环境
export ZOOKEEPER_HOME=/opt/soft/zookeeper345
export PATH=$PATH:$ZOOKEEPER_HOME/bin
脚本记录
一、安装jdk配置环境 autoinstall.sh
[root@linux02 mysyssh]# vi ./autoinstall.sh
#!/bin/bash
jdk=true
installdir=/opt/soft
if [ ! -d "$installdir" ];then
mkdir $installdir
fi
if [ "$jdk" = true ];then
echo "~~~~~~~~安装jdk~~~~~~~~~~~"
tar -zxf /opt/install/jdk-8u111-linux-x64.tar.gz -C /opt/soft/
mv /opt/soft/jdk1.8.0_111 /opt/soft/jdk180
echo "#jdk" >> /etc/profile
echo "export JAVA_HOME=/opt/soft/jdk180" >> /etc/profile
echo "export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar" >> /etc/profile
echo "export PATH=$PATH:$JAVA_HOME/bin" >> /etc/profile
fi
二、跨系统拷贝 远程同步 xsync
[root@linux02 mysyssh]# vi ./xsync
#!/bin/bash
#获取输入的参数,如果没有参数。直接退出
argCount=$#
if [ $argCount == 0 ]; then
echo 'no args'
exit 0
fi
#获取文件名称
f=$1
fname=`basename $f`
echo $fname
#获取文件绝对路径
pdir=`cd -P $(dirname $f ); pwd`
echo $pdir
#获取当前用户
user=`whoami`
echo $user
yum install -y rsync
2. rsync 远程同步工具
rsync 主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync 和 scp 区别:用 rsync 做文件的复制要比 scp 的速度快,rsync 只对差异文件做更新。
scp 是把所有文件都复制过去
从字面意思上,rsync 可以理解为 remote sync(远程同步),但它不仅可以远程同步数据(类似于 scp 命令),
还可以本地同步数据(类似于 cp 命令)。
不同于 cp 或 scp 的一点是,使用 rsync 命令备份数据时,不会直接覆盖以前的数据(如果数据已经存在),
而是先判断已经存在的数据和新数据的差异,只有数据不同时才会把不相同的部分覆盖。
#循环拷贝
for host in linux02 linux03 linux04 linux05
do
echo "---------------------------- $host --------------"
rsync -av $pdir/$fname $user@$host:$pdir
done
三、修改、添加内容
[root@linux02 conf]# vi ./zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
修改内容:
(dataDir=/opt/soft/zookeeper345/datatmp)
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
添加内容:
server.1=192.168.111.133:2888:3888
server.2=192.168.111.134:2888:3888
server.3=192.168.111.135:2888:3888
四、zookeeper开启、关闭、查看状态 zkop
[root@linux03 soft]# vi /usr/bin/zkop
#!/bin/bash
for host in linux03 linux04 linux05
do
case $1 in
"start"){
echo "--------$host zookeeper start -----------"
ssh $host "source /etc/profile; zkServer.sh start"
};;
"stop"){
echo "--------$host zookeeper stop -----------"
ssh $host "source /etc/profile; zkServer.sh stop"
};;
"status"){
echo "--------$host zookeeper status -----------"
ssh $host "source /etc/profile; zkServer.sh status"
};;
esac
done
五、输入数字实现zookeeper开启、关闭、查看状态 zkopcustomer
[root@linux03 soft]# vi /usr/bin/zkopcustomer
#!/bin/bash
cat <