大数据项目实践(一)——之HDFS集群配置
一、服务节点规划设计
机器1 | 机器2 | 机器3 | 机器4 | 机器5 | |
---|---|---|---|---|---|
hdfs | NameNode | NameNode | DataNode | DataNode | DataNode |
YARN | ResourceManager | ResourceManager | NodeManager | NodeManager | NodeManager |
Zookeeper | Zookeeper | Zookeeper | Zookeeper | Zookeeper | Zookeeper |
Kafka | Kafka | Kafka | Kafka | ||
Hbase | master | master | RegionServer | RegionServer | RegionServer |
flume | flume | flume | flume | ||
hive | hive | ||||
mysql | mysql | ||||
spark | spark | ||||
hue | hue |
二、Linux环境准备与配置
1.Linux系统常规配置
- 设置IP地址
创建用户
adduser bigdata passwd 123456
文件中设置主机名
vi /etc/sysconfig/network
主机名映射
vi /etc/hosts 192.168.10.131 bigdata-pro01.mars.com bigdata-pro01
关闭防火墙
vi /etc/sysconfig/selinux SELINUX=disabled 重启
卸载本身自带jdk
rpm -qa | grep java rpm -e --nodeps [jdk进程名称1 jdk进程名称2]
root用户下设置无密码用户切换
ls -l /etc/sudoers vi /etc/sudoers 加一行 bigdata ALL=(root)NOPASSWD:ALL
验证机器的防火墙是不是关了
sudo service iptables status sudo service iptables start sudo service iptables stop chkconfig iptables off ##永久关闭防火墙
2.克隆虚拟机并进行相关的配置
3.对集群中的机器进行基本配置
- 虚拟机设置固定IP地址
设置无秘钥登录
首先在主节点上生成公钥
ssh-keygen -t rsa
生成的秘钥对存放在当前用户的家目录下的 .ssh 文件内
cd ~/.ssh然后将公钥拷贝到各个子节点上
ssh-copy-id bigdata-pro02.mars.com ssh-copy-id bigdata-pro03.mars.com ssh-copy-id bigdata-pro04.mars.com ssh-copy-id bigdata-pro05.mars.com
注意, 这个相当于把公钥拷贝到从节点(追加的方式)[cat id_rsa.pub >> authorized_keys]
同步机器时间,使用ntpdate
主节点设置时间,首先选择时区,可以使用 tzselect 命令,将时区选择好
然后使用date -s 设置date -s 2018-08-18 date -s 15:03:02
从节点同步主节点的时间,使用crontab 定时任务
0-59/10 * * * * /usr/sbin/ntpdate bigdata-pro01.mars.com
三、HDFS 集群配置
- hadoop版本下载
cdh版本:下载地址 http://archive.cloudera.com/c...
官网版本:下载地址 http://archive.apache.org/dist/ 需要配置的文件
$HADOOP_HOME/etc/hadoop/1) hadoop-env.sh
#只要修改一个地方: #export JAVA_HOME=${JAVA_HOME} export JAVA_HOME=/opt/modules/jdk1.8.0_171
2) core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://bigdata-pro01.mars.com:9000</value> </property> <property> <name>hadoop.http.staticuser.user</name> <value>bigdata</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/modules/hadoop-2.6.0-cdh5.10.2/data/tmp</value> </property> </configuration>
3) hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.permissions.enabled</name> <value>false</value> </property> </configuration>
4) slaves
bigdata-pro03.mars.com bigdata-pro04.mars.com bigdata-pro05.mars.com
四、HDFS HA 配置
配置完成后,先启动journalnode服务
$HADOOP_HOME/sbin/hadoop-daemon.sh start journalnode