so it looks like the zone you're using is zonehdp...and the namenode you are using is isilon.hadoop.example.com, is this defined as the SC name in your network pools? ...just to be sure...because if you have multiple zones it may be complicated.
Here are my zone details, the 2nd zone is my "hdpzone" which I am using for HDFS. any advice to troubleshoot?
Isilon-1# isi network list pools --verbose
subnet0:pool0 - Default ext-1 pool
In Subnet: subnet0
Allocation: Static
Ranges: 1
192.168.1.21-192.168.1.25
Pool Membership: 3
1:ext-1 (up)
2:ext-1 (up)
3:ext-1 (up)
Aggregation Mode: Link Aggregation Control Protocol (LACP)
Access Zone: System (1)
SmartConnect:
Suspended Nodes : None
Auto Unsuspend ... 0
Zone : N/A
Time to Live : 0
Service Subnet : N/A
Connection Policy: Round Robin
Failover Policy : Round Robin
Rebalance Policy : Automatic Failback
subnet0:poolhdp
In Subnet: subnet0
Allocation: Static
Ranges: 1
192.168.1.40-192.168.1.45
Pool Membership: 3
1:ext-1 (up)
2:ext-1 (up)
3:ext-1 (up)
Aggregation Mode: Link Aggregation Control Protocol (LACP)
Access Zone: zonehdp (2)
SmartConnect:
Suspended Nodes : None
Auto Unsuspend ... 0
Zone : zonehdp
Time to Live : 0
Service Subnet : subnet0
Connection Policy: Round Robin
Failover Policy : Round Robin
Rebalance Policy : Automatic Failback
As for smart connect host name (isilon.hadoop.example.com) I have added it to the DNS server and point to the smart connect IP address (e.g. 192.168.1.20).
All have said but you should see that my HDFS web API works when query the root directory using root account but query failed when try to access sub-directories by using the same root account. (see my 1st post). That is weird.
So what is happening is that you are querrying the system zone because your namenode is not the smartconnect zone name of the access zone... in your case it should be zonehdp (and yes it should be an FQDN, zonehdp.hadoop.example.com)
in my example the namenode is the smartconnect zone: hworx.bblab.local (which is 8.0 sorry if the output looks different)
russ_stevenson
17 Posts
0
July 20th, 2016 10:00
This looks like it fails in the form of:
curl -sS -L -w '%{http_code}' -X GET 'http://isilon.hadoop.example.com:8082/webhdfs/v1/tmp?user.name=hdfs&op=GETFILESTATUS'
But is successful with root
curl -sS -L -w '%{http_code}' -X GET 'http://isilon.hadoop.example.com:8082/webhdfs/v1/tmp?user.name=root&op=GETFILESTATUS'
This maybe a user mapping issue:
If you look at the hdfs users access token on Isilon, what do you see:
isi auth mapping token --user=hdfs --zone=
Does the hdfs user actually look like root or is it just hdfs?
I believe the mapping rule is slightly incorrect. A replace rule should look like: hdfs => root []
xianlin
5 Posts
0
July 20th, 2016 19:00
Firstly I tried your URL with root but failed again
[root@hadoop-dev ~]# curl -sS -L -w '%{http_code}' -X GET 'http://isilon.hadoop.example.com:8082/webhdfs/v1/tmp?user.name=root&op=GETFILESTATUS'
{
"RemoteException":
{
"exception" : "FileNotFoundException",
"javaClassName": "java.io.FileNotFoundException",
"message" : "The requested file or directory does not exist in the filesystem."
}
}
I tried to run command on isilon
Isilon-1# isi auth mapping token --user=hdfs --zone=zonehdp
User
Name: root
UID: 0
SID: S-1-22-1-0
On Disk: 0
ZID: 2
Zone: zonehdp
Privileges: -
Primary Group
Name: wheel
GID: 0
SID: S-1-22-2-0
On Disk: 0
Supplemental Identities
Name: Authenticated Users
UID: -
GID: -
SID: S-1-5-11
It shows the mapping is correct.
Any other suggestions?
russ_stevenson
17 Posts
0
July 21st, 2016 10:00
This still looks like a permission issue. Increase the logging level on the hdfs service and see what the hdfs_d.log is saying.
Also start with troubleshooting and getting the mapred & yarn services up, before moving on to all the rest.
If the mapred service fails to start, provide the full output of the log from the ambari start task.
NickyRuggs
13 Posts
0
July 21st, 2016 12:00
so it looks like the zone you're using is zonehdp...and the namenode you are using is isilon.hadoop.example.com, is this defined as the SC name in your network pools? ...just to be sure...because if you have multiple zones it may be complicated.
isi network pools view --id=groupnet0.Hadoop.namenode
ID: groupnet0.Hadoop.namenode
Groupnet: groupnet0
Subnet: Hadoop
Name: namenode
Rules: -
Access Zone: hworx
Allocation Method: dynamic
Aggregation Mode: lacp
SC Suspended Nodes: -
Description: -
Ifaces: 1:10gige-1, 1:10gige-2, 2:10gige-1, 2:10gige-2, 3:10gige-1, 3:10gige-2
IP Ranges: 172.168.10.200-172.168.10.240
Rebalance Policy: auto
SC Auto Unsuspend Delay: 0
SC Connect Policy: round_robin
SC Zone: hworx.bblab.local
SC DNS Zone Aliases: nn.bblab.local
SC Failover Policy: round_robin
SC Subnet: Hadoop
SC TTL: 0
Static Routes: -
xianlin
5 Posts
0
July 21st, 2016 18:00
Here are my zone details, the 2nd zone is my "hdpzone" which I am using for HDFS. any advice to troubleshoot?
Isilon-1# isi network list pools --verbose
subnet0:pool0 - Default ext-1 pool
In Subnet: subnet0
Allocation: Static
Ranges: 1
192.168.1.21-192.168.1.25
Pool Membership: 3
1:ext-1 (up)
2:ext-1 (up)
3:ext-1 (up)
Aggregation Mode: Link Aggregation Control Protocol (LACP)
Access Zone: System (1)
SmartConnect:
Suspended Nodes : None
Auto Unsuspend ... 0
Zone : N/A
Time to Live : 0
Service Subnet : N/A
Connection Policy: Round Robin
Failover Policy : Round Robin
Rebalance Policy : Automatic Failback
subnet0:poolhdp
In Subnet: subnet0
Allocation: Static
Ranges: 1
192.168.1.40-192.168.1.45
Pool Membership: 3
1:ext-1 (up)
2:ext-1 (up)
3:ext-1 (up)
Aggregation Mode: Link Aggregation Control Protocol (LACP)
Access Zone: zonehdp (2)
SmartConnect:
Suspended Nodes : None
Auto Unsuspend ... 0
Zone : zonehdp
Time to Live : 0
Service Subnet : subnet0
Connection Policy: Round Robin
Failover Policy : Round Robin
Rebalance Policy : Automatic Failback
As for smart connect host name (isilon.hadoop.example.com) I have added it to the DNS server and point to the smart connect IP address (e.g. 192.168.1.20).
All have said but you should see that my HDFS web API works when query the root directory using root account but query failed when try to access sub-directories by using the same root account. (see my 1st post). That is weird.
sluetze
2 Intern
•
300 Posts
0
July 22nd, 2016 00:00
Please change your Smartconnectzone to a fqdn.
NickyRuggs
13 Posts
0
July 22nd, 2016 09:00
So what is happening is that you are querrying the system zone because your namenode is not the smartconnect zone name of the access zone... in your case it should be zonehdp (and yes it should be an FQDN, zonehdp.hadoop.example.com)
in my example the namenode is the smartconnect zone: hworx.bblab.local (which is 8.0 sorry if the output looks different)