大数据实训笔记
(一)大数据实训第一天
Linux常用命令:
- cd / 切换路径
- cd … 回到上一层路径
- ls 查看当前目录下所有文件和文件夹
- ls -a 显示隐藏文件
- ls -l 查看详细信息(ll)
- mkdir 创建文件夹
- touch 创建文件
- mv /lx /opt/ 移动(剪切)
- mv lx xxx 重命名
- cp lx.txt /opt/ 复制粘贴
- cd /opt
- vi xxx 打开文件
- i 进去编辑模式
- esc 退出编辑模式
- :wq! w:写入 q:退出 !:强制
- rm -rf *** 递归删除文件或者文件夹
- r:递归
- f:强制
- pwd 显示当前所在路径
- ll 查看详细信息
第一个字母:
l 链接
d 文件夹
— 文件
第二三四个字母:
当前用户的权限
r 可读
w 可写
x 可执行
第五六七个字母:
当前用户组权限
r 可读
w 可写
x 可执行
练习:
要求在opt目录下新建一个文件夹叫你自己的名字,
然后进入这个文件夹再创建一个文件命名为你自己的名字
打开这个文件编辑写入:
退出并保存:
(二)大数据实训第二天
主要任务:
- 测试windows能不能访问Master:
- 修改主机名:
- 修改域名解析文件
- 关闭防火墙
- 克隆Master5两份分别命名为slave0,slave1
- 配置hosts文件
- 配置无密登录
- 安装SSH-Secure-Shell软件
- 解压jdk压缩包
具体步骤:
1.测试windows能不能访问Master:
Windows:
ping 192.168.44.166(测试是否可连接到虚拟机)
注意:
桥接模式手动设置IP地址方案:
打开网卡配置文件(注意:eth0)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
(BOOTPROTO=“dhcp” 默认动态获取IP地址)
BOOTPROTO=“static” 静态手动配置
IP IPADDR=***.***.***.***
NETMASK=***.***.***.***
GETWAYE=***.***.***.***
DNS1=***.***.***.***
ONBOOT=“YES” 开机网卡是否启动 YES NO
快捷键:tab:自动提示
问题总结:
Master机器中如果不能查看IP地址处理方案:
1:右键我的电脑–》管理–》设置管理器–》网络适配器–》查看有没有VMNet1和VMNet8(如果有,暂定不管,或者卸载两个重新右键网络适配器扫描硬件改动)
2.VMWARE–》编辑–》虚拟网络编辑器–》更改设置–》移除三个网卡–》还原默认设置
2.修改主机名:
sudo vi /etc/sysconfig/network
o:在当前行的下一行进入编辑模式
加入一句话:
HOSTNAME=Master5
3.修改域名解析文件
sudo vi /etc/hostname
删除默认那句话,然后加入:
Master5
reboot
重启机器
4.关闭防火墙
查看防火墙状态
sudo firewall-cmd --state
临时关闭防火墙
sudo systemctl stop firewalld.service
禁止开机自启动防火墙
systemctl disable firewalld.service
5:克隆Master5两份分别命名为slave0,slave1
.修改名称为slave0,以及slave1名称。
slave0:
sudo vi /etc/sysconfig/network
o:字母o进入编辑模式
HOSTNAME=slave0
esc 退出
:wq! 强制退出并保存
sudo vi /etc/hostname
i:进入编辑模式
删除里面文件内容Master5改成
slave0
reboot
(重启)
slave1:
sudo vi /etc/sysconfig/network
o:字母o进入编辑模式
HOSTNAME=slave1
esc
:wq!
sudo vi /etc/hostname
i:进入编辑模式
删除里面文件内容Master5改成
slave1
reboot
(重启)
注意:
- 三台机器防火墙都处于永久关闭状态
- 三台机器名称都对应了
- 保证三台机器能相互ping通
6.配置hosts文件
Master
vi/etc/hosts
文件末尾追加:
(192.168.126.128) master
(192.168.126.129) slave0
(192.168.126.130) slave1
master:
通过远程传输命令将当前的master电脑下的hosts文件传输给
slave0电脑下的root用户下的etc目录下,将其hosts文件覆盖掉
scp /etc/hosts root@slave0:/etc/hosts
查看hosts是否覆盖成功
slave0:
cat /etc/hosts
master:
通过远程传输命令将当前的master电脑下的hosts文件传输给
slave1电脑下的root用户下的etc目录下,将其hosts文件覆盖掉
scp /etc/hosts root@slave0:/etc/hosts
查看hosts是否覆盖成功
slave1:
cat /etc/hosts
7:配置无密登录
Mster,slave0,slave1:
ssh-keygen
(可以不用操作:
Master到slave0的无密登录:
Master:
cd ~/.ssh
ls
scp id_rsa.pub hadoop@slave0:~/.ssh/master5.pub
slave0:
cd ~/.ssh
ls
创建文件
touch authorized_keys
修改文件权限
chmod 600 authoried_keys
复制master.pub文件内容然后追加到authorized_keys这个文件末尾
cat master.pub >> authorized_keys
Master:
测试Master5远程登录slave0,发现不需要再输入密码则可以直接登录slave0
ssh hadoop@slave0
exit
)
以上所有命令可以用一个命令替代:
master:
ssh-copy-id root@slave0
ssh-copy-id root@slave1
ssh-copy-id root@master
slave0:
ssh-copy-id root@master
slave1:
ssh-copy-id root@master
测试是否无密登陆成功:
master:
ssh root@slave0
exit
ssh root@slave1
exit
ssh root@master
exit
slave0:
ssh root@master
exit
slave1:
ssh root@master
exit
Git Xshell
8.安装SSH-Secure-Shell软件
上传jdk压缩包到Master的opt目录下
9.解压jdk压缩包
Master:
cd /opt
tar -zxvf jdk-8u101-linux-x64.tar.gz
-z 压缩
-c 打包
-x 解包
-f 必须要
-C 指定解包位置
-v 输出信息
10.配置JDK环境变量:
vi ~/.bashrc
文件末尾加入:
export JAVA_HOME=/opt/jdk1.8.0_101
export PATH=$PATH:$JAVA_HOME/bin
esc
:wq!
11.生效配置文件:
source ~/.bashrc
测试是否配置成功:
java -version
作业:
配置JDK在slave0,slave1。
Java -version能查看版本号就行
配置hadoop在master,slave0,slave1
测试hadoop version能查看版本号就行
(三)大数据实训第三天
主要任务:
- slave0,slave1配置JDK:
- master,slave0,slave1安装hadoop:
- 单机版hadoop
- 伪分布式搭建
- 分布式文件系统常用命令练习
笔记:
1.slave0,slave1配置JDK
Master:
cd /opt
ls
远程传输命令将整个文件夹传输到slave0电脑的root用户opt目录下(-r 递归传输)
scp -r jdk1.8.0_101/ root@slave0:/opt/
scp -r jdk1.8.0_101/ root@slave1:/opt/
scp ~/.bashrc root@slave0:~/.bashrc
scp ~/.bashrc root@slave1:~/.bashrc
slave0,slave1:
source ~/.bashrc
java -version
2.master,slave0,slave1安装hadoop
master:借助工具上传hadoop压缩包到指定opt目录下
cd /opt
ls
tar -zxvf hadoop-2.6.4.tar.gz
cd /opt/hadoop-2.6.4/bin
测试hadoop能不能使用
./hadoop version
出现版本号说明可以使用
配置环境变量:
vi ~/.bashrc
文件末尾追加:
export HADOOP_HOME=/opt/hadoop-2.6.4
export PATH=$PATH:$HADOOP_HOME/bin
生效配置文件
source ~/.bashrc
测试hadoop命令是否变为全局命令
hadoop version
配置slave0,slave1:
Master:
cd /opt
ls
scp -r hadoop-2.6.4 root@slave0:/opt/
scp -r hadoop-2.6.4 root@slave1:/opt/
scp ~/.bashrc root@slave0:~/.bashrc
scp ~/.bashrc root@slave1:~/.bashrc
slave0,slave1:
source ~/.bashrc
hadoop version
3.单机版hadoop:
cd /opt/hadoop-2.6.4/etc/hadoop/
vi hadoop-env.sh
文件末尾追加:
export JAVA_HOME=/opt/jdk1.8.0_101
测试下单机版分布式计算任务:
cd /opt
mkdir input
cd /opt/input
touch test
vi test
写入
dfsadmin
dfsadmin
dfsxxx
dfsxxx
abc
qwe
asd
zxc
dfs000
dfsp2p
dfsxxx
退出并保存
cd ..
查看output中以dfs开头的字段
hadoop jar /opt/hadoop-2.6.4/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep input output 'dfs[a-z.]+'
查看结果
cat output/part-r-00000
4.伪分布式搭建:
4.1:
cd /opt/hadoop-2.6.4/etc/hadoop/
4.2:
vi core-site.xml
在configuration标签中间加入:
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
4.3:
vi hdfs-site.xml
在configuration标签中间加入:
<property>
<name>dfs.replication</name>
<value>1</va