zookeeper操作
-
连接
zkCli.sh -server 服务名称
-
查看客户端指令
help ZooKeeper -server host:port cmd args stat path [watch] set path data [version] ls path [watch] delquota [-n|-b] path ls2 path [watch] setAcl path acl setquota -n|-b val path history redo cmdno printwatches on|off delete path [version] sync path listquota path rmr path get path [watch] create [-s] [-e] path data acl addauth scheme auth quit getAcl path close connect host:port
-
查看节点信息
ls # 查看节点详情信息 ls2
-
创建节点
#创建永久节点 create /a hello # 创建有序节点 create -s /b 123 # 创建临时节点 create -e /dddd 3333 # 创建子节点 create /a/cc 666
-
查询节点数据
get /a
-
修改
set /a aaaaaa
-
删除
# 删除没有子节点的 delete /a # 删除有子节点的 rmr /a
节点中最多存储1M
-
节点限制
# 设置 setquota -n 5 /a # -n 限制子节点数据量 -b 限制数据长度 # 查看限制 listquota /a # 删除 delquota /a
hadoop安装
-
上传文件 /export/server
-
解压 tar zxvf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz
-
配置环境变量 vim /etc/profile
export HADOOP_HOME=/export/server/hadoop-3.3.0 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin # 注意 source /etc/profile
-
修改配置文件
-
core-site.xml
<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 --> <property> <name>fs.defaultFS</name> <value>hdfs://node1:8020</value> </property> <!-- 设置Hadoop本地保存数据路径 --> <property> <name>hadoop.tmp.dir</name> <value>/export/data/hadoop-3.3.0</value> </property> <!-- 设置HDFS web UI用户身份 --> <property> <name>hadoop.http.staticuser.user</name> <value>root</value> </property> <!-- 整合hive 用户代理设置 --> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property>
-
hadoop-env.sh
export JAVA_HOME=/export/server/jdk1.8.0_65 #文件最后添加 export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root
-
hdfs-site.xml
<!-- 设置SNN进程运行机器位置信息 --> <property> <name>dfs.namenode.secondary.http-address</name> <value>node2:9868</value> </property>
-
mapred-site.xml
<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!-- MR程序历史服务器端地址 --> <property> <name>mapreduce.jobhistory.address</name> <value>node1:10020</value> </property> <!-- 历史服务器web端地址 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>node1:19888</value> </property> <property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property>
-
yarn-site.xml
<!-- Site specific YARN configuration properties --> <!-- 设置YARN集群主角色运行机器位置 --> <property> <name>yarn.resourcemanager.hostname</name> <value>node1</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 是否将对容器实施物理内存限制 --> <property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value> </property> <!-- 是否将对容器实施虚拟内存限制。 --> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> <!-- 开启日志聚集 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 设置yarn历史服务器地址 --> <property> <name>yarn.log.server.url</name> <value>http://node1:19888/jobhistory/logs</value> </property> <!-- 保存的时间7天 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property>
-
workers
node1 node2 node3
-
-
将node1中配置文件分发其他机器
# 分发hadoop文件 scp -r /export/server/hadoop-3.3.0 node2:/export/server/ scp -r /export/server/hadoop-3.3.0 node3:/export/server/ # 分发环境变量文件 scp /etc/profile node2:/etc/profile scp /etc/profile node3:/etc/profile # 注意 source /etc/profile
hadoop启动
-
初始化namenode 只在node1中执行
hdfs namenode -format 如果不小心初始化解决,把所有机器上/export/data目录下的Hadoop数据文件删除 删除后重新初始化
-
使用脚本启动服务
start-all.sh