虚拟机,hadoop,zk的安装

创建虚拟机
虚拟机:VMware workstation11
Linux系统:CentOS-6.5-x86_64-bin-DVD1.iso
选择 新建虚拟机
选择 自定义
选择 稍后安装操作系统
选择 linux Centos64位
选定存储地址
Cpu颗数
默认内存1g
选择仅主机模式
默认
默认
磁盘50G
默认
完成
编辑虚拟机设置
选择ISO镜像文件
开机
选 第一个
Skip跳过
下一步
英语
英语
选择基础存储设备
不保存任何数据
主机名称 默认
时区 选 亚洲 上海
Root 管理员密码
选择自定义磁盘
创建分区
创建boot分区 一般300Mb
创建swap分区 一般是内存的2倍
创建/ 根分区
格式化硬盘
下一步
桌面即可
可以自定义安装包
在语言上 选中中文支持
重启
继续
同意
继续

日历
完成
登录
完成

Ctrl +C 退出终止
TAB自动补齐
一.
1>查看系统信息
uname -a 显示系统及版本的所有信息
uname -r 显示内核版本
uname -m 显示计算机是多少位系统
2>查看Linxu系统信息
cat /etc/redhat-release
查看主机名 hostname
查看第一个网卡 ifconfig eth0

3.查看和设置系统时间.
看 date
设置 date -s “2015-5-8 19:48:00”
4.设置时区
执行tzselect命令–>选择Asia–>选择China–>选择east China - Beijing, Guangdong, Shanghai, etc–>
5. :设置系统时间同步到硬件时钟(一般不介意用)
hwclock --systohc
6.查看进程
ps -fe | grep redis
7.前在运行的进程包括对CPU 内存使用量
Top -s
8.管道 |
cmd1 | cmd2 将cmd1 输出结果交给cmd2命令来执行
9.grep过滤
-i 大小写 -v 取反 -color突出显示的字符
10.重新启动Linux操作系统
reboot
init 6 (常用)
11. 关闭Linux操作系统
shutdown -h now
init 0 (常用)
12.图形和命令行转换
vi /etc/inittab (可以进行修改)
(将 id:5:initdefault------>>>>修改成5–>3 永久成命令行模式)
init 3 命令行模式
init 5 图形化
13.目录树 pstree
14.显示所有正在运行的进程
ps -aux
15.显示所有正在运行java 进程
/jps
16.结束正在运行的指定进程(参照33)
Kill -9 pid
17. 1.修改用户密码
passwd 密码
18.不进系统进行修改 密码
按 ’e’ 进入编辑模式 编辑kernel 在按 ’ e’ 然后空格 加single 后回车出来
按 ’B ’ passwd root 后输入密码 然后重启init6
19.wget url 通过命令下载网页
20. 显示系统的磁盘空间用量
df -h //显示磁盘分区信息
mkfs.ext3 /dev/sdb1 //格式化硬盘分区
fdisk -l //查看磁盘分区
fdisk /dev/sdb //硬盘分区51显示磁盘分区
21. 挂载
mount -t vfat /dev/sdb1 /media/umnt //挂载
umount /media/umnt //卸载
//linux文件格式
ext4 vfat
//windows文件格式
fat32 ntfs
二.Linux账号与组操作
2.1 账户
超级账户 root uid = 0
普通账户 uid > = 500
系统账户 uid = 1 ~ 499

/etc/passwd	//保存账户的信息
/etc/shadow	//保存账户密码信息
/root		//root用户家目录
/home/xxx	//普通用户xxx的家目录

2.2添加和删除用户
# useradd //创建用户(添加用户)
-u 指定uid
-d 指定宿主目录
-s 指定使用shell
-e 指定用户过期时间
-g 指定基本组
-G 指定附加组
# useradd openlab
# gpasswd -a openlab gropenlab //将用户加入到组中
# gpasswd -d openlab gropenlab //将用户从组中删除
# echo “123456” | passwd --stdin feige //不通过交互信息,直接改用户密码
# userdel //删除用户 不删除用户文件
# userdel -r //连主目录一起删除
# id openlab //显示用户信息
2.3 :创建用户组
groupadd manager
2.4 创建用户
useradd -G manager tom
useradd -G manager tom2
2.5 更改密码方式1
passwd tom
2.6更改密码方式2
echo “root” | passwd --stdin root //不通过交互信息,直接改用户密码
2.7 删除指定的账号
userdel tom2
2.8锁定帐户 tom2 禁止其登录
usermod -L tom2
2.9切换当前用户帐户为 admin
su - admin
2.10 显示当前登录用户帐户
whoami
2.11查看系统文件判断添加用户组添加用户操作是否正确
cat /etc/passwd
cat /etc/group
三.Linux文件文件夹操作
3.1查看当前目录 pwd
3.2显示当前目录的文件列表 ls -l
3.3 递归显示/目录的文件列表 ls -R
3.4显示文件或文件夹详细信息
权限:读取\写入\可执行 r w x ==7 r4 w2 x1 修改文件的读写 chmod 755 file
3.5创建文件夹和文件
mkdir /tmp/test01 //创建空文件夹
mkdir /data1/hadoop/hdfs/name -p //创建多级文件夹
touch /tmp/test01/file.txt //创建空文件
3.6 复制文件
cp /tmp/file1.txt /opt
3.7 复制目录
cp -r /tmp/test01 /opt
3.8移动,剪切,重命名
mv /opt/test01 /tmp
mv /opt/file1.txt /tmp/file2.txt
3.9 删除
rm //删除文件
rm -r //删除目录
rm -f //强制删除
rm –rf folder //常用命令 不可恢复
3.10文件内容查看
cat -n //查看内容时显示行号
3.11 显示文件的头10行或尾10行
tail //默认查看文件尾10行
head //默认查看文件头10行
-n 数字 //查看指定头几行
3.12 目录文件显示多行可上下翻查
less /etc/passwd
3.13 重定向 > >>
> 先清空文件内容,后写入新的内容
# ls -l /root > /tmp/file1.txt
>> 追加新的内容,旧的内容不会消除
# ls -l /root >> /tmp/file1.txt
3.14 屏幕打印 echo
echo “No Hello World…” //打印到屏幕
echo “hello word” /data0/my.cnf //打印到文件
echo “hello word” >> /data0/my.cnf //打印追加到文件
3.15文本编辑器
vim file
:q //退出
:w //保存
:wq //保存退出
:q! //强制退出
3.16 打包tar案例(tar命令平常就代替了gz命令)
//将一个文件打包

tar -zcvf folder.tar file1.txt

//将多个解压包

tar -zxvf folder.tar (常用方法)

3.17 rpm解压包
rpm -ivh ----
3.18 给shell命令起别名
vi /etc/bashrc
在文件最后一行添加
alias cls=’clear’
保存退出后输入 #source /etc/bashrc 生效
3.19修改指定文件文件的所属组所有者为hadoop用户/data3/data0.tar.gz
chown -r hadoop:hadoop /data3/data0.tar.gz

3.20 which cmd 查找cmd命令所在路径

3.21 locate 文件查找-效率很快(用的是数据库)

locate httpd.conf //查找文件按所在

updatedb //更新数据库,使之生效

3.22 find 文件查找-效率很慢

Linux网络与安全级别操作
一.新建虚拟机 步骤上有
1手动配置IP Vi /etc/sysconfig/network-scripts/ifcfg-eth0
添加IPADDR=192.168.11.11
PREFIX=24 或PREFIX=255.255.255.0
GETEWEY=192.168.11.254
修改 ONBOOT=YES
BOOTPROTO=none
2修改主机名称 vi /etc/sysconfig/network
(自己电脑中设置 windows–>>system32–>>drivers–>>etc–>>hosts中修改 添加如 192.168.11.11 Hadoop)
3修改映射文件 vi /etc/hosts
4 重启服务 service network restart
5 关闭防火墙
关闭一段时间 /etc/init.d/networkManager stop
永久关闭 chkconfig iptables off
检查防火墙是否关闭 service iptables status
6导入jdk包 解压 tar -zxvf jdk-----的
7修改坏境变量 vi /etc/profile
8 加 export JAVA_HOME=/home/bigdata/jdk/(jdk的路径)
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin:
9 Java -version查看是否是开元的还是 OPenjdk
10要修改 mv /usr/java /usr/java.bak
11 source /etc/profile 刷新环境变量
二.克隆虚拟机
1 修改 vi /etc/udev/rules.d/70-peersistent-netrules
将当中的eth0第一个删除 第二个的1 改成eth0
2vi /etc/sysconfig/network-scripts/ifcfg-eth0 注意MAC地址和UUID
手工配置
UUID=d06a4eee-dd5c-45e5-afbc-38a8a8440bd9 修改个值
HWADDR=00:0C:29:74:E7:3E 右下角的设置中0–>>网络适配器的 高级
IPADDR=192.168.10.11 ip地址改
3修改主机名称 vi /etc/sysconfig/network
4修改映射文件 vi /etc/hosts
5 重启服务 service network restart

虚拟机上网

三.安装Hadoop 创建集群
3个虚拟机 要克隆3个
(1号机)
1在克隆的基础上 tar -zxvf hadoop------ 解压
2 配置坏境变量 vi /etc/profile/
export JAVA_HOME=jdk的路径
export HADOOP_HOME=Hadoop的路径
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin: H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin:
3 然后将 坏境变量 传给其他机 scp vi /etc/profile/ 机子:vi /etc/profile/
4 删除 Hadoop中的 以cmd结尾的 rm -rf *cmd
doc的文件 rm -rf doc
5修改映射文件 vi /etc/hosts
三个虚拟机的都加上
6 免密码ssh
ssh-keygen -t rsa 要秘钥
ssh-copy-id hadoop01 发送秘钥给(2.3号机)
//在master机下生成公钥/私钥对。

ssh-keygen -t rsa

//追加到key文件当中

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

//将master机子上的key给其他机子上发送一份

7时间同步 在1号机上 开起ntp
-rpm -qe|grep ntp 是否有ntp
service ntp status 看是否启动
Service ntp start 开启ntp一段时间
Chkconfig ntpd on 永久开启
修改ntp.conf文件
restrict 192.168.11.0 mask 255.255.255.0 nomodify notrap

Use public servers from the pool.ntp.org project.

Please consider joining the pool (http://www.pool.ntp.org/join.html).

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 127.127.1.0
fudge 127.127.1.0

7.23.5查看和设置系统时间
date
date -s “2015-5-8 19:48:00”

8 然后 hadoop的配置文件修改
Hadoop集群搭建
8.1修改hadoop-env.sh文件
将hadoop-env.sh文件中的
export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME="/home/bigdata/jdk"(jdk的路径)
8.2修改core-site.xml文件

fs.defaultFS
hdfs://master:8020 master 修改成(1号机主机名)


io.file.buffer.size
4096


hadoop.tmp.dir
/home/bigdata/tmp

8.3修改hdfs-site.xml文件

dfs.replication
2 看清在写


dfs.block.size
134217728


dfs.namenode.name.dir
file:///home/hadoopdata/dfs/name


dfs.datanode.data.dir
file:///home/hadoopdata/dfs/data


fs.checkpoint.dir
file:///home/hadoopdata/checkpoint/dfs/cname


fs.checkpoint.edits.dir
file:///home/hadoopdata/checkpoint/dfs/cname


dfs.http.address
master:50070 主机1号


dfs.secondary.http.address
slave1:50090 其他机


dfs.webhdfs.enabled
true


dfs.permissions
false

8.4修改mapred-site.xml文件
命令如下:

mv mapred-site.xml.template mapred-site.xml

#vi mapred-site.xml

mapreduce.framework.name
yarn
true


mapreduce.jobhistory.address
master:10020 主机1号


mapreduce.jobhistory.webapp.address
master:19888 主机1号

8.5修改yarn-site.xml

yarn.resourcemanager.hostname
master


yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.resourcemanager.address
master:8032


yarn.resourcemanager.scheduler.address
master:8030


yarn.resourcemanager.resource-tracker.address
master:8031


yarn.resourcemanager.admin.address
master:8033


yarn.resourcemanager.webapp.address
master:8088

8.5修改slaves文件 如:hadoop1
hadoop2
Hadoop3

9将hadoop的配置给 其他机复制一份 scp -r hadoop—/ 机子:/pwd
10.hadoop namenode -format 格式化hadoop
11.start-all.sh (1号机) 启动所有
测试:
创建 hadoop fs -mkdir 文件名
Hadoop dfs -mkdir 文件名
上传
全写
hadoop fs -put file:///本地文件路径+名 hdfs://1803a-hadoop1:8020/文件夹名
简写
hadoop fs -put 本地文件路径+名 hdfs的路径
删除
hadoop fs -rm 文件路径 ??
//启动Hadoop集群
//启动之前先格式化,只需要一次即可
#hadoop namenode -format
//启动namenode、datanode、ResourceManager、NodeManager节点

start-dfs.sh

start-yarn.sh

3.66检查linux系统网络配置流程
1.检查vmware上该虚拟机的网卡是否开启
2.检查vmware虚拟机的vm1网卡是否设置ip地址
3.关闭NetworkManager网络管理服务
4.关闭防火墙
5.更改ip地址
6.更改主机名称和主机映射
7.使用连接工具(xshell)进行连接
8.如果出现问题按照以上流程检查

Zookeeper
装zk
创建 data logs
myid 14
zoo—slm改 那个zoo.cof

bin下的zkENV ZOO_LOG_DIR 那个改成
ZOO_LOG4J info,rollingfile
安装 Zookeeper
导入jar包
1解压jar tar -zxvf ----
2把 zookeeper-3.4.5 改成 zookeeper
3 拿到/home/bigdata/zookeeper 路径
4 rm -rf docs/ rm -rf *cmd 删除
5在conf 中删除zoo_sample.cfg 改成 zoo.cfg
集群模式
6 zoo.cfg中写
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/bigdata/zookeeper/zkmyid
clientPort=2181
server.1=master:2888:3888 在myid这个里面写的 主机名
server.2=slave1:2888:3888
server.3=slave2:2888:3888
7在zookeeper 中创建一个目录 zkmyid mkdir zkmyid
8 zkmyid中 touch myid 在里面写 (改虚拟机的一号机)
9拿到 /home/bigdata/zookeeper/zkmyid 给上面的配置
10 vi /etc/profile 配置环境变量
export HADOOP_HOME=/home/bigdata/hadoop-2.7.1

export ZK_HOME=/home/bigdata/zookeeper

export JAVA_HOME=/home/bigdata/jdk1.7.0_79
export CLASSPATH=.:JAVA_HOME/lib/dt.jar: J A V A H O M E / l i b / t o o l s . j a r : e x p o r t P A T H = JAVA_HOME/lib/tools.jar: export PATH= JAVAHOME/lib/tools.jar:exportPATH=PATH: J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:HADOOP_HOME/bin: H A D O O P H O M E / s b i n : HADOOP_HOME/sbin: HADOOPHOME/sbin:ZK_HOME/bin:
11 source /etc/profile 刷新
12 看zkserver.sh 有没有 然后 scp -r zookeeper/ 主机:pwd
13 scp /etc/profile ha2:/etc/profile 复制坏境变量
zkServer.sh stop 关
zkServer.sh start 开

基于hdsf 建HA高可用
1改删的删除
2 修改core-site.xml (1号机)

fs.defaultFS
hdfs://beiwang


hadoop.tmp.dir
/home/hadoopdata/tmp


io.file.buffer.size
4096

修改hdfs-site.xml
在hdfs-site.xml配置文件中配置如下内容:
配置之前将其他配置删除掉(可先记录namenode.dir和datanode.dir)

注意:中文注释不要带

dfs.nameservices beiwang

<!—指定hdfs的两个NameNode都是什么名字(等会儿下面会配置他们所对应的机器的信息)–>

dfs.ha.namenodes.beiwang
nn1,nn2

<!—NameNode1的rpc通讯地址–>

dfs.namenode.rpc-address.beiwang.nn1
hadoop01:8020

<!—NameNode2的rpc通讯地址–>

dfs.namenode.rpc-address.beiwang.nn2
hadoop02:8020

<!—NameNode1的web界面地址–>

dfs.namenode.http-address.beiwang.nn1
hadoop01:50070

<!—NameNode2的web界面地址–>

dfs.namenode.http-address.beiwang.nn2
hadoop02:50070

######如果给一个有数据的HDFS添加HA,此处无需更改,保持原有地址即可#####

dfs.datanode.data.dir file:///home/hdfs/data ###########################################################

<!—QJM存放共享数据的方式–>

dfs.namenode.shared.edits.dir
qjournal:// hadoop01:8485; hadoop02:8485; hadoop03:8485/beiwang

<!—单个QJM进程(角色)存放本地edits文件的Linux地址–>

dfs.journalnode.edits.dir
/home/bigdata/hadoop/journal1

<!—开启hdfs的namenode死亡后自动切换–>

dfs.ha.automatic-failover.enabled
true

ha.zookeeper.quorum hadoop01:2181, hadoop02:2181, hadoop03:2181

<!—zkfc程序的主类–>

dfs.client.failover.proxy.provider.beiwang
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

<!—防止多个namenode同时active(脑裂)的方式–>

dfs.ha.fencing.methods
sshfence

<!—指定本机的私钥所在目录–>

dfs.ha.fencing.ssh.private-key-files
/root/.ssh/id_rsa

<!—指定ssh通讯超时时间–>

dfs.ha.fencing.ssh.connect-timeout
30000

不要删了

dfs.webhdfs.enabled
true


dfs.permissions
false

2注意:touch master
新建master文件,该文件中写 所有namenode主机
hadoop01
hadoop02

3 给他们发一份
启动顺序
先启动zk集群
在各个zk服务其上执行如下命令:
zkServer.sh status 看起没起

sh zkServer.sh start

再启动journalnode(QJM中的组件)(在master上启动所有journalnode)

hadoop-daemons.sh start journalnode

运行jps命令检验,多了JournalNode进程

格式化HDFS(在master上执行命令: )

hadoop namenode -format

如果是有数据的集群,就不需要格式化

由于系统断电,内存不足等原因导致dataNode丢失超过设置的丢失百分比,系统自动进入安全模式
解决办法(Solution)*
安装HDFS客户端,并执行如下命令:
                                步骤 1     执行命令退出安全模式:hadoop dfsadmin -safemode leave
                                步骤 2     执行健康检查,删除损坏掉的block。  hdfs fsck  /  -delete
 
注意: 这种方式会出现数据丢失,损坏的block会被删掉

ps -ef|grep mysql mysql是否启动
rpm -qa|grep -i mysql mysql是否有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值