shellz只需要在opt准备两个文件夹,一个install存放压缩包,soft存放解压后的文件就行
接着就开始运行脚本,脚本随便创建一个文件吧脚本拷贝进去,赋权运行就行
赋权:chmod -R 777 ./aa.sh 我拿aa.sh做列子
里面所有的ip地址改为自己的就行。虚拟机你的hostname一定要设置好,不然脚本里面所有的$hostname,你都要改为你的ip地址就行
注意点,
1:可能有些压缩包的环境变量的一些开头会有不一样的地方,注意修改
2:此版本适用于单机版集群,集群不可用,会报错
3:脚本运行前需要安装好mysql远程连接,系统环境变量也都安装好,还有需要你window系统那边添加好变量参数别忘了就和java jdk环境安装一样
4:运行完之后请自行搞定免密登录措施
常见问题:
如果出现文件未找到的问题:尽量避免不要同时开两个窗口运行,如果在一个窗口运行还是不行,可以先运行一个脚本,比如只运行jdk安装,测试一下jdk安装是否成功,成功呢,就直接运行所有脚本,每一个if都能单独拿出来运行的
还有错误就是上面提到的你的hostname一定要设置好,ip地址检查一下是否不一样
#!/bin/bash
jdk=true
hadoop=true
zookeeper=true
hive=true
zeeplin=true
sqoop=true
hbase=true
scala=true
spark=true
flume=true
kafka=true
hostname=`hostname`
echo "current host name is $hostname"
whoami=`whoami`
echo "current user is $whoami"
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
source /etc/profile
fi
if [ "$hadoop" = true ];then
echo "------------ 安装hadoop ----- "
tar -zxf /opt/install/hadoop-2.6.0-cdh5.14.2.tar.gz -C /opt/soft/
mv /opt/soft/hadoop-2.6.0-cdh5.14.2 /opt/soft/hadoop260
echo "------------------- 修改hadoop-env.sh -------"
sed -i "/^export JAVA_HOME=/cexport JAVA_HOME=$JAVA_HOME/" /opt/soft/hadoop260/etc/hadoop/hadoop-env.sh
echo "------------------- 修改mapred-env.sh -------"
sed -i "/^# export JAVA_HOME=/cexport JAVA_HOME=$JAVA_HOME/" /opt/soft/hadoop260/etc/hadoop/mapred-env.sh
echo "------------------- 修改yarn-env.sh -------"
sed -i "/^# export JAVA_HOME=/cexport JAVA_HOME=$JAVA_HOME/" /opt/soft/hadoop260/etc/hadoop/yarn-env.sh
echo "-=--------------------- 配置core.site.xml --------------"
core_path="/opt/soft/hadoop260/etc/hadoop/core-site.xml "
sed -i '19a\<property><name>doop.proxyuser.bigdata.groups</name><value>*</value></property>' $core_path
sed -i '19a\<property><name>hadoop.proxyuser.bigdata.hosts</name><value>*</value></property>' $core_path
sed -i '19a\<property><name>hadoop.tmp.dir</name><va