我正在研究hadoop apache 2.7.1,我有一个由3个节点组成的集群
nn1
nn2
dn1
nn1是dfs.default.name,因此它是主名称节点.
我已经安装了httpfs并在重启所有服务后启动了它.当nn1处于活动状态且nn2处于待机状态时,我可以发送此请求
http://nn1:14000/webhdfs/v1/aloosh/oula.txt?op=open&user.name=root
Run Code Online (Sandbox Code Playgroud)
从我的浏览器和打开或保存此文件的对话框出现,但当我杀死在nn1上运行的名称节点并正常启动它然后由于高可用性nn1变为待机状态并且nn2变为活动状态.
所以这里httpfs应该工作,即使nn1变得待命,但现在发送相同的请求
http://nn1:14000/webhdfs/v1/aloosh/oula.txt?op=open&user.name=root
Run Code Online (Sandbox Code Playgroud)
给了我错误
{"RemoteException":{"message":"Operation category READ is not supported in state standby","exception":"RemoteException","javaClassName":"org.apache.hadoop.ipc.RemoteException"}}
Run Code Online (Sandbox Code Playgroud)
httpfs不应该克服nn1待机状态并带上文件吗?是因为配置错误,还是有其他原因?
我的核心网站是
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
Run Code Online (Sandbox Code Playgroud) 我在centos 7上使用hadoop apache 2.7.1,我想通过使用webhdfs命令删除file(file1)。
curl -i -x DELETE "http://192.168.25.21:50070/webhdfs/v1/hadoophome/file1/?user.name=root&op=DELETE&recursive=true"
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
curl: (5) Could not resolve proxy: DELETE; Unknown error
Run Code Online (Sandbox Code Playgroud)
我编辑了bashrc文件,如下所示:
export http_proxy=""
export https_proxy=""
export ftp_proxy=""
Run Code Online (Sandbox Code Playgroud)
并获取文件以保存更改
source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
但是有同样的错误。
所以我试图在culr命令中没有设置代理
curl -i -x --noproxy localhost DELETE "http://192.168.25.21:50070/webhdfs/v1/hadoophome/file1/?user.name=root&op=DELETE&recursive=true"
Run Code Online (Sandbox Code Playgroud)
出现此错误:
curl: (5) Could not resolve proxy: --noproxy; Unknown error
Run Code Online (Sandbox Code Playgroud)
我应如何编辑以排除此代理?
谢谢。
我已经安装了zookeeper 3.4.9版本
我的zoo.cfg文件配置如下
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/
clientPort=2181
DataLogDir=/usr/local/log/
server.1=hadoop-master:2888:3888
server.2=hadoop-slave-1:2889:3889
server.3=hadoop-slave-2:2890:3890
Run Code Online (Sandbox Code Playgroud)
当然我已经在三个节点中启动了myid文件/usr/local/zookeeper/data/myid
它包含hadoop-master服务器中的值1和hadoop-slave-1中的值2
和hadoop-slave-2中的3个
我的奴隶文件如下
hadoop-slave-1
hadoop-slave-2
hadoop-master
Run Code Online (Sandbox Code Playgroud)
我已经./zkServer.sh start在所有三个节点中发出了命令,它给了我输出
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
Run Code Online (Sandbox Code Playgroud)
但发出命令 ./zkServer.sh status
给了我输出
Using config: /usr/local/zookeeper-3.4.9/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
Run Code Online (Sandbox Code Playgroud)
为什么我得到这个输出?
并且jps命令不会查看
QuorumPeerMain
Run Code Online (Sandbox Code Playgroud)
我的.bashrc档案是
export JAVA_HOME=/usr/local/java-1.7.0/
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/local/hadoop/
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="$HADOOP_OPTS …Run Code Online (Sandbox Code Playgroud)