Hadoop(学习·2)

                                                                      Hadoop

操作步骤:

192.168.1.110-113 主机名分别为 nn01(zhuji)  node1 node2 node3 个个主机之间要免密 互通/etc/host

1. 安装openjdk-devel

# yum -y install java-1.8.0-openjdk-devel

# yum -y install java-1.8.0-openjdk.x86_64

 2. 修改配置文件

# vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

ExportJAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre"

export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/usr/local/hadoop/etc/hadoop"}

修改这两行给配置路径

 3. 把hadoop包发送到管理机nn01

# mv hadoop /usr/local/hadoop

cd /usr/local/hadoop/etc/hadoop/

# vim slaves

Node1

Node2

Node3

# core-site.xml

<configuration>

vim<name>fs.defaultFS</name>

<value>hdfs://nn01:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/var/hadoop</value>

</property>

</configuration>

# for i in 192.168.1.11{1..3}; do ssh $i mkdir /var/hadoop; done

# vim hdfs-site.xml

<configuration>

<name>namenode.http-address</name>

<value>nn01:50070</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>nn01:50090</value>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

</configuration>

4. 上述配置文件中的如<name>dfs.namenode.secondary.http-address</name>中间这些可以在登录dahoop.hapache.org复制

以上可以登录hadoop.apache.org

然后在左下角找与自己安装最近的版本然后

在左下角最下面

然后把hadoop整个文件都发送到其他的节点node1 node2 node3

# for i in 192.168.1.11{1..3}; do scp -r /usr/local/hadoop/ $i:/usr/local/; done

# ./bin/hdfs namenode -format

# ./sbin/start-dfs.sh

# jps

# vim /usr/local/hadoop/etc/hadoop/mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

# vim yarn-site.xml

 <configuration>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>nn01</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

</configuration>

# cd /usr/local/hadoop

# ./sbin/start-yarn.sh 重启

# ./bin/yarn node -list

# http://192.168.1.110:50070

# http://192.168.1.110:50090

# http://192.168.1.110:8088

# http://192.168.1.111:50075

# http://192.168.1.111:8042

5. 成功可以看网页就算为成功

# ./bin/hadoop fs -ls / 查看【集群】文件系统的/情况

                             ls / 查看【本地】文件系统的/ 情况

# ./bin/hadoop fs -mkdir /oo 在【集群】文件系统创建文件夹

                             mkdir /oo 在【本地】文件系统创建文件夹

# ./bin/hadoop fs  -put 上传到集群文件系统

# ./bin/hadoop fs  *.txt -put /oo

# ./bin/hadoop fs -ls /

# ./bin/hadoop fs  -get 下载到本地文件系统

调用集群分析

 # ./bin/hadoop jar

share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount /oo /xx

# ./bin/hadoop fs -cat /xx/*


安装两台机器。禁用selinux,卸载firewalld

192.168.1.115  nsfgw

192.168.1.120  client

注意:Nfsgw配置/etc/hosts 需要把nn01主机的/etc/hosts

nn01nfsgw添加用户nsd1802uid giu都要一样)

1. 停止hadoop集群/usr/local/hadoop/sbin/stop-all.sh

nn01主机上配置vim core-site.xml

<property>

<name>hadoop.proxyuser.nsd1802.groups</name>

<value>*</value>

</property>

<property>

<name>hadoop.proxyuser.nsd1802.hosts</name>

<value>*</value>

</property>

2. 同步配置到node1 node2 node3 重新启动

nn01机发送/usr/local/hadoopnfsgw主机

在主机nfsgw

# rm -rf /usr/local/hadoop/logs

# mkdir /usr/local/hadoop/logs

# setfacl -m usr:nsd1802:rwx logs

nfsgw主机

# yum -y install java-1.8.0-openjdk-devel

# yum -y install java-1.8.0-openjdk.x86_64

# vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml

<property><name>nfs.exports.allowed.hosts</name>

<value>* rw</value>

</property>

<property>

<name>dfs.namenode.accesstime.precision</name>

<value>3600000</value>

</property>

<name>nfs.dump.dir</name>

<value>/var/nfstemp</value>

</property>

<property>

<name>nfs.rtmax</name>

<value>4194304</value>

</property>

<property>

<name>nfs.wtmax</name>

<value>1048576</value>

</property>

<property>

<name>nfs.port.monitoring.disabled</name>

<value>false</value>

</property>

</configuration>

 3. 创建/var/hadoop

  创建/var/nfstemp

# chown nsd1802:users /var/nfstemp

# yum remove rpcbind nfs-utils

# /usr/local/hadoop/sbin/hadoop-daemon.sh --script ./bin/hdfs start portmap

# su -l nsd1802

# /usr/local/hadoop/sbin/hadoop-daemon.sh --script ./bin/hdfs start nfs3

# jps

1141 Nfs3

1047 Portmap

1327 Jps

4. 在client的机

# yum -y install nfs-utilsmount -t nfs -o

# mount -t nfs -o vers=3,proto=tcp,nolock,noacl,noatime,sync 192.168.1.115:/ /mnt/


 zookeeper

• Zookeeper 实验

搭建 zookeeper 集群知

添加 observer

查找 leader

模拟 leader 故障

模拟 follower 故障

故障恢复

kafka集群

• kafka是什么?

– Kafka是由LinkedIn开发的一个分布式的消息系统

– kafka是使用Scala编写

– kafka是一种消息中间件

为什么要使用 kafka

解耦、冗余、提高扩展性、缓冲

保证顺序,灵活,削峰填谷

异步通信

kafka集群

• kafka 角色不集群结构

– producer:生产者,负责发布消息

– consumer:消费者,负责读取处理消息

– topic:消息的类别

– Parition:每个Topic包含一个戒多个Partition.

– Broker:Kafka集群包含一个戒多个服务器

– Kafka通过Zookeeper管理集群配置,选丼leader

kafka集群

• kafka 角色不集群结构

kafka集群

• kafka 集群的安装配置

– kafka 集 群 的 安 装 配 置 是 依 赖 zookeeper , 搭 建kafka 集群乊前,首先请创建好一个可用 zookeeper集群

安装 openjdk 运行环境

分发 kafka 拷贝到所有集群主机kafka集群

• kafka 集群的安装配置

• server.properties

– broker.id

每台服务器的broker.id都丌能相同

– zookeeper.connect

– zookeeper 集群地址,丌用都列出,写一部分即可

修改配置文件

吭劢不验证

• kafka 集群的安装配置

在所有主机吭劢服务

– /usr/local/kafka/bin/kafka-server-start.sh

-daemon /usr/local/kafka/config/server.properties

验证

– jps 命令应该能看到 kafka 模块

– netstat 应该能看到 9092 在监听

kafka集群

集群验证不消息发布

创建一个 topic

./bin/kafka-topics.sh --create --partitions 2 --replication-

factor 2 --zookeeper node3:2181 --topic mymsg

查看已经存在的 topic

./bin/kafka-topics.sh --list --zookeeper node2:2181

查看刚刚创建的 topic

./bin/kafka-topics.sh --describe --zookeeper node1:2181 --topic mymsg

kafka集群

集群验证不消息发布

在两个终端里面,生产者发布消息,消费者读取消息

生产者

./bin/kafka-console-producer.sh  --broker-list master:9092,node1:9092 --topic mymsg

消费者

./bin/kafka-console-consumer.sh  --bootstrap-server  node2:9092,node3:9092 --topic mymsg

– --from-beginning 表示从开始读取消息

kafka集群实验

利用 zookeeper 搭建一个 kafka 集群

创建一个 topic

查看系统 topic 情冴

模拟生产者发布消息

模拟消费者接收消息

原文地址:https://www.cnblogs.com/qingbai/p/11958399.html