操作笔记
1.检查IP地址:ifconfig
2.创建普通用户:add user
3.主机名设置:
vi /etc/sysconfig/network
HOSTNAME=pro1.com
hostname 检查
4.主机名与IP地址映射
vi /etc/hosts
ip 主机名
5.配置Windows的映射
C:\Windows\System32\drivers\etc里的hosts
192.168.1.100 pro01.com
192.168.1.105 pro1.com
192.168.1.107 pro2.com
192.168.1.108 pro3.com
192.168.1.111 pro4.com
192.168.1.110 pro5.com
192.168.1.112 pro6.com
linux在 etc/hosts
6.设置sudo
在 etc/sudoers 设置
username ALL=(root)NOPASSWD;ALL
7.检查防火墙状态
$sudo service iptables status
8.修改配置关闭防火墙
$sudo vi /etc/sysconfig/selinux
SELINUX=disabled
9.查询java的jdk版本
$sudo rpm -qa|grep java
10.删除原来的JDK
$ sudo rpm -e --nodeps ~复制名称~
二配置jdk及相关设置,并克隆
1.创建目录
sudo mkdir /opt/sofwares
/opt/modules
/opt/tools
/opt/datas
2.修改目录用户权限
$sudo chown -R user:user /opt/*
3.上传jdk,chomd u+x ~ 修改执行权限
4.解压安装
tar -zxf jdk.tar.gz -C /opt/modules
linux间的文件传递
1.映射IP与主机名
vi /etc/hosts
ip 主机名
2.
scp -r .tar.gz 对方主机名:/opt/
5.配置java环境变量
$sudo vi /etc/profile
export PATH=$JAVA_HOME/bin
6.克隆机器并修改相应IP地址与主机名映射
三.Hadoop 分布式部署
1.下载
https://archive.apache.org/dist
https://archive.cloudera.com/cdh5/
版本:2.5.0-cdh5.3.5
解压
文件瘦身:
rm -rf ./doc
删除安装目录下的ETC/hadoop/里面的.cmd文件
rm -rf ./.cmd
环境变量
需要设置的文件:
>>hadoop-env.sh
>>yarn-env.sh
>>mapred-env.sh
slaves
主机名
echo $JAVA_HOME hdfs-site.xml
core-site.xml
编写参照:hadoop.apache.org/docs/~
singe node setup
+++++++++++++++++++++
Use the following:
etc/hadoop/core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
+++++++++++++++++++++ .格式化:hadoop namenode -format
启动:sbin/hadoop-daemon.sh start namenode/datanode
3.分发各个机器节点
scp -r .tar.gz 对方主机名:/opt/
创建目录:bin/hdfs dfs -mkdir -p /user/yu/data
上传文件:bin/hdfs dfs -put /文件名 /目标文件名
bin/hdsf dfs -text /目标文件
bin/hdfs dfs -text /目标文件名/文件
配置mapreduce ,将mapred-site.xml.template 改成mapred-site.xml
然后进行编辑:
参照:http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-common/SingleCluster.html
yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>pro1.com</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>10000</value>
</property>
</configuration>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>pro1.com:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>pro1.com:19888</value>
</property>
</configuration>
4.HDFS集群测试
5.yarn集群运行maprduce程序测试
启动resourcemanager
主节点
sbin/yarn-daemon.sh start resourcemanager
主节点从节点都要设置
sbin/yarn-daemon.sh start nodemanager
主节点
sbin/mr-jobhistory-daemon.sh start historyserver
地址端口
http://pro1.com:8088
core-site.xml
<property>
<name>hadoop.http.staticuser.user</name>
<value>yu</value>
</property>
//这里修改配置用户yu免密码登录hadoop
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.5.0-cdh5.3.5/data/tmp</value>
</property>
hdfs-sit.xml添加
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
*****************************
重新配置 rm -rf /
格式化一下
bin/hdfs namenode -format
bin/hdfs dfs -mkdir 文件路径
bin/hdfs dfs -put 上传
bin/hdfs dfs -text /user/yu/data/output/log1/par*
bin/yarn jar share/hadoop/mapreduce/hadoop-mamapreduce/hadoop-mapreduce-examples-2.5.0-cdh5.3.5.jar wordcount /user/yu/data/wc.input user/yu/data/output/log1
6.配置集群中主节点到各个机器的SSH无秘钥登录
在~/.ssh 里面
清除.ssh里面的所有文件
配置公钥秘钥:
在~/.ssh目录下清除所有文件
ssh-keygen -t rsa
分发给其他从节点机器:ssh-copy-id pro1.com
停止服务sbin/stop-dfs.sh
sbin/stop-yarn.sh
7.配置集群内机器时间同步
查看 时间同步工具:sudo rpm -qa|grep ntp
sudo service ntpd status
开机启动chkconfig:sudo chkconfig ntpd on
编辑:/etc/ntp.conf
which ~
sudo /usr/sbin/ntpdate pro1.com
十分钟一次
sudo crontab -e
0-59/10 /usr/sbin/ntpdate pro1.com
两个地址:archive.apache.org/dist
:https://archive.cloudera.com/cdh5/
当前使用3.4.5-cdh5.10.0
修改安装目录下conf里面的zoo.cfg
dataDir =创建目录
在安装目录创建zkData vi myid 1
服务名称QuorumPeerMain
启动服务:bin/zkServer.sh start
客户端连接:bin/zkCli.sh
bin/zkCli.sh -server pro1.com
HDFS-HA服务启动及自动故障转移测试-(初始化zk)
启动:
1.关闭所有HDFS服务sbin/stop-dfs.sh
2.启动Zookeeper集群bin/zkServer.sh start
3.初始化HA在Zookeeper中状态bin/hdfs zkfc -formatZK
4.启动HDFS服务sbin/sart-dfs.sh
5.在各个NameNode节点上启动DFSZK Failover Controller,先在哪台机器启动,哪台机器的namenode
就是active namenode
sbin/hadoop-daemin.sh start zkfc
HBASE
-
./hbase-daemon.sh start master(admin)
bin/hbase-daemon.sh start regionserver(all)touch backup-masters
启动kafka
bin/kafka-server-start.sh config/server.properties
创建任务:
bin/kafka-topics.sh --create --zookeeper pro1.com:2181,pro2.com:2181,pro3.com:2181 --replication-factor 1 --partitions 1 --topic protest
bin/kafka-console-producer.sh --broker-list pro1.com:9092,pro2.com:9092,pro3.com:9092 --topic protest
bin/kafka-console-consumer.sh --zookeeper pro1.com:2181,pro2.com:2181,pro3.com:2181 --from-beginning --topic protest
文件内容替换:
cat weblog2.log |tr " " "," > weblog3.log
bin/flume-ng agent --conf conf -f conf/flume-conf.properties -n a2 -Dflume.root.logger=INFO,console
bin/flume-ng agent --conf conf -f conf/flume-conf.properties -n a2 -Dflume.root.logger=INFO,console
--conf conf 进程 -f conf/flume-conf.properties具体配置文件 -n a2进程别名 -Dflume.root.logger=INFO,console 日志级别