标签(空格分隔): 大数据
http://archive.cloudera.com/cdh5/
hadoop支持以上4类(debian redhat sles ubuntu)操作系统,在企业中用的最多的还是redhat(cent os),其次是
sles.
一,VMWare的安装
1,安装操作系统
创建虚拟机
安装centos6.5操作系统
2,导入已经存在的操作系统
二,linux用户
[hadoop002@hadoop002 opt]$ 用户名@主机名 当前目录
有2个字符:
\#:表示当前用户是root用户
\$:表示当前用户是普通用户
查看主机是否能连接网:
ping www.baidu.com
vi /etc/sysconfig/network-scripts/ifcfg-eth0
替换为
DEVICE=eth0
BOOTPROT=static
IPADDR=192.168.44.100 //根据具体情况而定
GATEWAY=192.168.44.2 //根据具体情况而定
NETMASK=255.255.255.0 //根据具体情况而定
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
1,清理屏幕
#|$clear
2,创建普通用户和设置密码(在linux系统下,默认情况下,创建一个用户的同时会给用户在系统的目录下创建一个属于自己的用户目录,该目录称为用户主目录 /home/hadoop002也可以用“~”代替)
# useradd beifeng
# passwd beifeng
3,用户的切换(管理员切换到普通用户不需要密码,普通用户切换到管理员用户需要密码)
#|$ su beifeng
4,显示当前用户所在的目录
$|# pwd
5,查看主机名称
$|# hostname
6,设置主机名称
# hostname beifeng.com.cn
注意:hostname方式修改主机名称只能在当前使用,当机器重新启动启动以后,主机名称会发生变化。原因:在linux系统中,系统的配置信息都是来自于文件中,此种方式不会改变配置文件内容。
7,读取linux系统上的文件内容的命令
#|$ cat /etc/sysconfig/network
8,编辑文件内容
#|$ vi /etc/sysconfig/network
注意:按“i”键进入编辑模式,”esc”->”:q!”:退出不保存,”esc”->”:wq!”:退出并保存
9,关闭系统
# halt
10,重启系统
# reboot
11,安全重启
# init 6
12,查看当前目录
ls --list
ls -l
ll
ls -a #查看当前目录下的所有文件包括隐藏文件
cd
主机名称和IP地址的映射:
a,修改windows的hosts文件:C:\Windows\System32\drivers\etc\hosts
192.168.252.131 xingyunfei001.com.cn xingyunfei001
192.168.252.129 xingyunfei.com.cn xingyunfei
192.168.252.132 hadoop002.com.cn hadoop002
b,修改linux系统的hosts:
vi /etc/hosts
192.168.252.132 hadoop002.com.cn hadoop002
drwxrwxr-x 5 hadoop002 hadoop002 4096 Mar 22 03:18 workspace3
第一部分:drwxrwxr-x
十个字符,代表不同的意义:
d:文件类型(文件夹)
wxr
rwx
r-x
后面的9个字符,分为三组(一个文件对用户来说分为三部分,拥有者,所属组,其他人),表示此文件针对不同用户的权限
第二部分:hadoop002 hadoop002
第一个字符串表示的是文件的拥有者
第二个字符串表示的是文件的所属组
第三部分:4096—文件大小
第四部分:Mar 22 03:18—创建日期
第五部分:workspace3—文件名称
//////////////////
设置文件对不同用户的权限:
字符形式:
#chmod g-w workspace3 //同组用户不能有写的权限
#chmod o-r workspace3 //其他用户不能读
数字形式:
#chmod 664 workspace3 //自己和组可读可写,其他的只读
#chown hadoop002 xx.txt //修改文件的所有者
#chown hadoop002:hadoop002 xx.txt //修改文件的所有者和所有组
#chgrp hadoop002 xx.txt //修改文件的所有组
#chown -R hadoop002 xx //修改文件目录的所有者
#chgrp -R hadoop002 xx //修改文件目录的所有组
touch xxx.txt
vi xxx.txt
echo 'xxxxxxxxx' >>xxx.txt
编辑文件
vi xx.txt //dd:表示删除贯标所在的一行
//ZZ:保存文件内容
//x:删除光标处的字符
//o:光标下一行插入内容
vim xx.txt
cat xx.txt //查看文件的全部内容
more xx.txt //翻页显示文件内容
tail -200f xx.txt //查看末尾的内容,适用于查看服务实时动态日志信息
head xx.txt //查看头部的内容,适用于查看文件的格式
mkdir filename //创建一个目录
mkdir -p /file/file/file //创建多级目录
“`
cp test.txt Desktop/ //拷贝一个文件到一个目录
cp -r directoryname directoryname //讲一个目录的所有内容拷贝到另外一个目录
cp test.txt xxx.txt //拷贝一个文件的内容到另一个文件内容
```
mv test.txt test.log //重命名,两个文件在同一个目录下
mv test.txt /opt //移动,两个文件不再同一个目录下
rmdir test //删除目录,test必须是空目录,不然删除不成功
rm -rf src //强制递归删除 src最好是绝对路径
ln -s xx.txt xx.soft
硬连接 hard link:ln file/dir file
ln xx.txt xx.soft
使用场景:
hadoop/conf hbase/conf
core-site.xml ln->core-site.xml
这样的好处保持数据的一致性
find /opt -name xxx.txt //搜索某一个文件
find /opt -name xxx\* // \转义字符
uname //查看操作系统
uname -r //查看内核版本
cat /proc/cpuinfo //查看cpu的信息
cat /proc/meminfo //查看内存信息
date //查看日期
date -R //查看日期和时区
# date -s 2016-03-28 //设置系统日期
# date -s 16:55:40 //设置系统时间
cal 2016 //显示日历表
df -lh //查看磁盘信息
du -sh /home //查看某个目录的可用空间
# fdisk -ls
# fsck /dev/sda3 //修复磁盘
# mount //查看挂在信息
# mount /dev/sdb1 /data01 //挂载磁盘到某个目录下
# unmount /dev/sdb1 //卸载某个磁盘
free //查看内存使用情况
top //查看进程的内存使用情况
cd /etc/sysconfig/network-scripts/ //该目录下都是网卡相关信息
su root
chmod u+w /etc/sudoers //添加写权限
vi /etc/sudoers
--linux ALL=(root)NOPASSWD:ALL //在第一行添加
chmod u-w /etc/sudoers
sudo service iptables status //查看防火墙的状态
sudo service iptables stop //临时停止防火墙
sudo chkconfig iptables off|on //永久性设置防火墙状态
sudo service iptables start //启动防火墙
sudo vi /etc/sysconfig/selinux
--SELINUX=disabled //禁用
sudo reboot //重启机器生效
rpm -qa|grep java //检查某个软件是否安装
rpm -e --nodes xxxxxx //卸载已经安装的软件
rpm -ivh xxxxx.rpm //安装软件
unzip xxxxx.zip //解压zip软件
zip xxxxx.zip file //压缩zip文件
tar -zxvf xxxxx.tar.gz //解压到当前目录
tar -zxvf xxxxx.tar.gz -C dir //解压到指定目录
tar -zcvf xxxxx.tar.gz dir //压缩指定文件
1,创建一个定时任务
crontable -e //创建定时任务
--*/1 * * * * /bin/date >> /home/linux/crontab001.txt tail -f /home/linux/crontab001.txt
crontab -l //显示目前所有的定时任务
crontab -r //删除所有的定时任务
语法:* * * * * command :
1) *—–执行的分钟1-59
*/10 //每10分钟执行一次
2) *—–执行的小时 0-23
3) *—–执行的日 1-31
4) *—–执行的月 1-12
5) *—–执行的星期 0-6
30 21 * * * cmd01 //每天的21:30执行
30 2 1,11,21 * * cmd02 //每个月的1,11,21号的2:30执行
45 1 * * 6,0 cmd03 //每周六或周日的1:45执行
0,30 20-23 * * * cmd04 //20:00到23:00之间每半小时执行一次
* */1 * * * cmd05 //每个小时执行一次
shell脚本概述
1,以文件形式存放的批量的linux命令集合,可以被shell解释执行
2,通常由一段linux命令,shell命令,控制语句和注释语句构成
3,通常以.sh作为后缀
shell程序
第一行:#!/bin/sh=======#!/bin/bash
name=xingyunfei
echo $name
echo ${name}
3,变量赋值:等号两边不能有空格 如果要赋空值,可以在等号后面跟一个换行符
4,显示变量的值:echo variable或echo {variable}
5,清除变量:unset variable
- 变量类型
1,根据变量的作用域,变量可以分为本地变量和环境变量
2,本地变量只在创建他们的shell程序中可用。二环境变量则在shell中的所有用户进程中可用,通常也称为全局变量。(按照惯例需要大写)
vi param.sh
param.sh
#!/bin/bash
echo "hello $1 !!!!"
./param.sh xingyunfei
./param.sh "xingyunfei001 xingyunfei002"
. param.sh xingyunfei
sh param.sh xingyunfei
退出码: ?–任何命令进行时都将返回一个退出状态–应用中通常会在关键步骤后判定 ?,以确定关键步骤的执行是否正常,尤其是在调度系统里需要监控sh返回码
–shell脚本的返回码取决于最后一个命令的返回码
–程序控制返回码:exit N
–==退出状态0成功 五错误
–==退出状态大于0.失败,某处有错误
arr=(001 002 003)
echo ${arr[0]}
echo ${arr[*]} //显示所有元素
echo ${#arr[*]} //显示数组的长度
arr[0]=000 //赋值
man date
date +%Y-%m-%d //2016-03-28
date +%Y-%m-%dT%H:%M:%S //2016-03-28T09:31:04
-创建datestu.sh
vi datestu.sh
-datestu.sh
#!/bin/bash
date1=$(date +%Y-%m-%d)
echo ${date1}
##2 days ago
date2=$(date --date="2 days ago" +%Y-%m-%d)
echo ${date2}
##2 days later
date3=$(date --date="-2 days ago" +%Y-%m-%d)
echo ${date3}
-执行
sh datestu.sh
-2,判断符号[]
[linux@localhost ~]$ [ -z "$xingyunfei" ]; echo "22222222222"
-3,if判断
语法–单层判断:if[条件判断式];then 当条件判断成立时,可以进行的指令工作内容;
fi<====if结束
语法–多层,复杂判断:if[条件判断式];then 当条件判断成立时,可以进行的指令工作内容;
elif [条件判断式2] then 当条件判断不成立时,可以进行的指令工作内容;
else 当条件判断不成立时,可以进行的指令工作内容;
fi<====if结束
#!/bin/bash
for var in 1 2 3
do
echo ${var}
done
#!/bin/bash
num=10
sum=0
for ((i=0;i<${num};i=i+1))
do
sum=$((${sum}+${i}))
done
echo ${sum}
-2,while循环
语法1:
while[condition] <===判断条件 当条件成立时执行
do
程序段落
done
语法2:
while until [condition] <===判断条件 当条件成立时终止循环
do
程序段落
done
#!/bin/bash
file=/home/linux/crontab001.txt
cat ${file} | while read line
do
echo ${line}
done